レコードの行と列を入れ替えます。
入力 | フォーマット | Record,CSV |
---|---|---|
接続数 | 1 | |
出力 | フォーマット | Record,CSV |
説明 | 入力のレコードの行と列を入れ替えたストリームを出力します。 |
コミット | 何もしません。 |
---|---|
ロールバック | 何もしません。 |
タイプ | パラメーター | エラー処理フロー へのストリーム | エラー コード | 説明 |
---|---|---|---|---|
汎用 | なし | コンポーネントの入力ストリーム | 1 | 入力ストリームからレコードを取得できなかった場合 |
レコードが無い | なし | コンポーネントの入力ストリーム | 2 | 入力ストリームのレコードが0件の場合 |
例えば次のように、「番号」フィールドのデータ型がIntegerで、「名前」フィールドのデータ型がStringであるストリームを縦横変換したとします。 すると、変換後の出力ストリームは1行目がIntegerの値となり2行目がStringの値となります。
| ![]() |
|
このように出力ストリームの行ごとにデータ型が異なってしまう場合には、出力ストリームのフィールド定義でデータ型をすべて String型にする必要があります。
入力ストリームの行数が事前に分からない場合には、出力ストリームのフィールドが何フィールドになるか分かりませんので、 正確なフィールド定義を行うことができません。このような場合は、想定される最大の行数分のフィールド定義を行います。
もしも入力の行数が定義したフィールド数に満たなかった場合は、余ったフィールドの値は設定されずnullとなります。 逆に入力の行数が定義したフィールド数を超えてしまった場合は、コンポーネント内部で出力フィールドの定義を拡張して 「"field" + "行番号"」というフィールド名で値を保持します。あくまでも内部でフィールド定義を拡張しているだけですので、 直後のMapperコンポーネントでは拡張されたフィールドを扱うことはできません。 しかし、変換後のストリームをFilePutコンポーネントでCSVファイルなどに保存した場合は 拡張されたフィールドの値も保存されます。さらに、Velocityコンポーネントや BranchStartコンポーネントなどの直接フィールドの値を操作することができる コンポーネントでは拡張されたフィールドの値を扱うことができます。