2

200以上の列を持つソーステーブルがあります。これをSSISに入れ、「OLEDBソース」コンポーネントを使用してデータをフィードし、フローを派生列変換にマッピングして、nullの数値/日付/テキストデータを置き換えます。空白の値でそれ。

現在、派生列に次の式を設定しています。

ISNULL([EMPLOYEE ID]) ? "" : [EMPLOYEE ID]

ISNULL([EMPLOYEE FNAME]) ? "" : [EMPLOYEE FNAME]

等...

私は200以上の列を持っているので、派生変換でこれを200回実行する必要がありますが、SSISを使用してこれを処理するより良い方法はありますか?

Windows2008R2でのSQLServer2008Standardの実行。

4

2 に答える 2

3

SSISでは、派生列/スクリプト変換[変換として]を使用して、NULLを空白に変換するコードを記述できます。SSISには他の選択肢はありません。SSISは、計算を処理するためのバッファーを作成します。SSISパッケージの速度が低下します。私の提案は、SQLクエリでISNULL関数またはCOALESCE関数を使用し、NULLを空白に変換して、すべての変換がサーバー側で行われるようにすることです。

Select ISNULL(EmployeeId,'')

また

Select COALESCE(EmployeeId,'')

お役に立てれば。

于 2012-10-25T06:06:57.400 に答える
0

SSISの派生列変換に固執し、各列を挿入してISNULL([EMPLOYEE FNAME])をチェックすることになりましたか?"":[EMPLOYEE FNAME]これは、私が最もよく知っている方法です。

于 2012-10-28T01:04:30.530 に答える