DataSpider Studio グループ化を行う
スクリプトでSQLの結果を「グループ化」してXML書き込みをしてみます。
ツールパレットの「データベース」-「PostgreSQL」に「テーブル読み取り」アイコンがあります。
ツールパレットの「変換」-「基本」に「マッピング」アイコンがあります。
ツールパレットの「ファイル」-「XML」に「XMLファイル書き込み」アイコンがあります。
スクリプト
スクリプトは以下の通りです。
テーブル読み取り処理
prefecturesテーブルを用意します。
create table public.prefectures ( id integer , prefecture character varying(20) , city_id integer , city character varying(20) );
prefecturesの設定です。PostgreSQLの設定などは「接続先」であらかじめ設定しておく必要があります。
id | prefecture | city_id | city |
---|---|---|---|
1 | 大阪府 | 101 | 吹田市 |
2 | 兵庫県 | 201 | 尼崎市 |
1 | 大阪府 | 102 | 高槻市 |
2 | 兵庫県 | 202 | 西宮市 |
マッピング(グループ化)
マッピングを配置します。以下の通りです。
ツールパレットの「繰り返し」-「基本」-「グループ化」があります。
ツールパレットの「繰り返し」-「基本」-「単純な繰り返し」があります。
1番目のハンドラが「ループ」なのでrowから線を引きます。
2番目のハンドラが「文字列」なのでグループ化するSQLの列を指定します。今回はidです。
出力が「ループ」なのでXMLのrowへ線を引きます。
次に「単純な繰り返し」の設定をします。
1番目のハンドラが「ループ」なのでrowから線を引きます。
出力が「ループ」なのでXMLのcities(子要素を持つ)へ線を引きます。
ロジック
SQLの結果を「グループ化」してXML書き込みをします。
XMLファイル書き込み処理
XMLファイル書き込み処理の設定です。入力データをマッパーにしています。
テスト
F5でスクリプト実行します。
出力されたXMLです。
イレギュラーな事象
「単純な繰り返し」アイコンを削除してもなぜかスクリプトは動作します。出力されるXMLはグループ化されていません。
F5でスクリプト実行します。
出力されたXMLです。
グループ化されずにデータが欠落しています。
参考サイト

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント