web-dev-qa-db-ja.com

列の値を置き換えますか?

私は最近SSISに参加しましたが、Web上のどこでも達成しようとしていることを見つけることができませんでした。

一部の行を入力として受け取り、特定の1つの列の値を別の値に置き換えて、変更された列を持つ行を出力として返します。

問題は、どのタスクを使用するかわからないことです。

SQL Server 2008によって制限されています。

どうやって始めますか?

私がこれを行う方法は、 派生列変換 を使用することです。次の例を見てください(サンプルデータベース、AdventureWorks2012を使用)。

enter image description here

このスクリーンショットからわかるように、私がしているのはAdventureWorks2012.HumanResources.DepartmentからName列を取得することです(これはお使いのバージョンのSQL Server/SSISでも機能すると思います)。そうでない場合はすぐにわかります)、myExpressionの条件ステートメントを使用します。

Name == "Sales" ? "New Sales Name" : Name

つまり、簡単な条件付きステートメントです。 Name == "Sales"のブール結果を取得します。これがtrueの場合(つまり、Nameが "Sales"の場合)は、「New Sales Name」、または置き換えたい文字列を返します。これがfalseの場合(Nameが「Sales」ではない場合)、元のNameを返すだけです。

6
Thomas Stringer