私はピボットしている次のテーブルを持っています:
(ID、名前、値)
1、「タスク ID」、123
1、「言語」、「Java」
2、「タスク ID」、456
PivotKey を Name 列に設定し、PivotedValue を Value 列に設定しました。新しい列 (タスク ID と言語) ごとに、PivotKeyValue をそれぞれ「タスク ID」と「言語」に設定しました。私のパッケージは上記のデータで正常に動作します。ピボット操作の結果は次のとおりです。
(ID、タスク ID、言語)
1、123、「ジャバ」
2、456、ヌル
ただし、次のソース データでパッケージを実行すると、問題が発生します。
(ID、名前、値)
1、ヌル、ヌル
2、ヌル、ヌル
私が得るエラーメッセージは次のとおりです。
[ピボット [4511]] エラー: ピボット キーの値 "(文字列に変換できません)" が無効です。[DTS.Pipeline] エラー: SSIS エラー コード DTS_E_PROCESSINPUTFAILED。コンポーネント "Pivot" (4511) の ProcessInput メソッドがエラー コード 0xC0202090 で失敗しました。識別されたコンポーネントが ProcessInput メソッドからエラーを返しました。エラーはコンポーネントに固有のものですが、エラーは致命的であり、データ フロー タスクの実行が停止します。これより前に、障害に関する詳細情報を含むエラー メッセージが投稿される場合があります。
値を処理するように構成されていないため、ピボット操作が PivotKey 列 'Name' の NULL 値を処理できないことを意味していると思います。問題は、これを行う方法がわからないことです。出力列 (「入力および出力プロパティ」フォーム) の PivotKeyValue プロパティの NULL 値をどのように検出して処理しますか?
御時間ありがとうございます。