documents:etl:pentaho:pentaho-001
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
documents:etl:pentaho:pentaho-001 [2023/11/29 12:57] – 作成 k896951 | documents:etl:pentaho:pentaho-001 [2024/04/15 16:25] (現在) – k896951 | ||
---|---|---|---|
行 1: | 行 1: | ||
- | this is sample | + | ====== XML子要素の展開例1 ====== |
+ | |||
+ | 2023-11-29\\ | ||
+ | 行方向の展開と列方向への展開サンプル2例組み込み | ||
+ | |||
+ | ===== 希望の結果 ===== | ||
+ | |||
+ | custommersの子要素群を行方向に、optsの子要素群を列方向に展開する。 | ||
+ | |||
+ | この例だと、 | ||
+ | * 要素recsの子要素であるrecの単位で出力する。 | ||
+ | * 要素custommersの子要素であるcustommerの数だけ要素recの行数が増える。 | ||
+ | * 要素optsの子要素であるoptの個々を独立した項目として扱う。最大3としたので項目数も3個追加された形になる。 | ||
+ | |||
+ | ^ 入力XML ^ 出力(CSV想定) ^ | ||
+ | | <code xml> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== 定義 ===== | ||
+ | |||
+ | ==== Get data from XML 1 ==== | ||
+ | |||
+ | 要素recがレコードに変換されるので4レコード生成される事になる。\\ | ||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | ==== 行整列 1 ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== Get data from XML 2 ==== | ||
+ | |||
+ | <WRAP round info 60%> | ||
+ | XPath指定の意のようで、相対パス指定等を利用できる。 | ||
+ | </ | ||
+ | |||
+ | * 要素custommerのレコードに変換されるので7レコード生成される事になる。 | ||
+ | * 親要素を辿ってprodidを取得。 | ||
+ | * 要素optsの中身は添え字付きで指定し独立した項目として扱う。\\ ※最大3個。COBOLでいうところのOCCURS句で3回の繰り返しとしている。 | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | ==== 行整列 2 ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== マージ結合 ==== | ||
+ | |||
+ | <WRAP round tip 60%> | ||
+ | Tipsにも記述があるけど入力は適切なソートが適用されている必要がある。 | ||
+ | </ | ||
+ | |||
+ | XML 1 LEFT OUTER JOIN XML 2 の意。キーはprodid。\\ | ||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== 選択/ | ||
+ | |||
+ | キー項目名が(この例だとprodid)が必ず使用される前提を付ける事ができるなら、マージ結合で生成される prodid_1 は削除できる。\\ | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | {{tag> |
documents/etl/pentaho/pentaho-001.txt · 最終更新: 2024/04/15 16:25 by k896951