DataSpider Studio グループ化を行う

DataSpider Studio グループ化を行う

スクリプトでSQLの結果を「グループ化」してXML書き込みをしてみます。

ツールパレットの「データベース」-「PostgreSQL」に「テーブル読み取り」アイコンがあります。

ツールパレットの「変換」-「基本」に「マッピング」アイコンがあります。

ツールパレットの「ファイル」-「XML」に「XMLファイル書き込み」アイコンがあります。

スクリプト

スクリプトは以下の通りです。

DataSpider Studio グループ化を行う

テーブル読み取り処理

prefecturesテーブルを用意します。

create table public.prefectures (
  id integer
  , prefecture character varying(20)
  , city_id integer
  , city character varying(20)
);

prefecturesの設定です。PostgreSQLの設定などは「接続先」であらかじめ設定しておく必要があります。

DataSpider Studio グループ化を行う

id prefecture city_id city
1 大阪府 101 吹田市
2 兵庫県 201 尼崎市
1 大阪府 102 高槻市
2 兵庫県 202 西宮市

マッピング(グループ化)

マッピングを配置します。以下の通りです。

DataSpider Studio グループ化を行う

ツールパレットの「繰り返し」-「基本」-「グループ化」があります。

ツールパレットの「繰り返し」-「基本」-「単純な繰り返し」があります。

1番目のハンドラが「ループ」なのでrowから線を引きます。

2番目のハンドラが「文字列」なのでグループ化するSQLの列を指定します。今回はidです。

出力が「ループ」なのでXMLのrowへ線を引きます。

次に「単純な繰り返し」の設定をします。

1番目のハンドラが「ループ」なのでrowから線を引きます。

出力が「ループ」なのでXMLのcities(子要素を持つ)へ線を引きます。

ロジック

SQLの結果を「グループ化」してXML書き込みをします。

XMLファイル書き込み処理

XMLファイル書き込み処理の設定です。入力データをマッパーにしています。

DataSpider Studio グループ化を行う

テスト

F5でスクリプト実行します。

出力されたXMLです。

DataSpider Studio グループ化を行う

イレギュラーな事象

「単純な繰り返し」アイコンを削除してもなぜかスクリプトは動作します。出力されるXMLはグループ化されていません。

DataSpider Studio グループ化を行う

F5でスクリプト実行します。

出力されたXMLです。

DataSpider Studio グループ化を行う

グループ化されずにデータが欠落しています。

参考サイト

[ドキュメントMapper]単純な繰り返し
[ドキュメントMapper]グループ化

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました