DataSpider Studio Left-Right-Joinマージを行う

DataSpider Studio Left-Right-Joinマージを行う

スクリプトでSQLの結果を「マージ」でマージしてデータ変換してCSV書き込みをしてみます。

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

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

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

スクリプト

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

DataSpider Studio Left-Right-Joinマージを行う

テーブル読み取り処理

myname,mymovie,myhobbyテーブルを用意します。

create table public.myname (
  id integer
  , bango integer
  , name character varying(10)
);
create table public.mymovie (
  id integer
  , bango integer
  , name character varying(10)
);
create table public.myhobby (
  id integer
  , bango integer
  , name character varying(10)
);

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

DataSpider Studio Left-Right-Joinマージを行う

id bango name
1 1 takahashi

mymovieの設定です。

DataSpider Studio Left-Right-Joinマージを行う

id bango name
1 1 ドラえもん
2 1 しまじろう
3 3 ポケモン

myhobbyの設定です。

DataSpider Studio Left-Right-Joinマージを行う

id bango name
1 1 テニス
2 1 野球
3 3 サッカー
4 4 BBQ

マージ

マージする際に、テーブルの順序に意味があります。1番目のテーブルをメインとします。

入力データごとのキー値を比較し、1番目の入力データのキーに2番目以降のキーがすべてマッチした場合、列に追加する形でデータを出力し、1つでもマッチしなかった場合は1番目の入力データのみ出力します。

テーブル順序は以下のように変更することができます。今回はmynameを一番にします。

DataSpider Studio Left-Right-Joinマージを行う

ロジック

3つのテーブルを検索して、その結果を「Left-Right-Joinマージ」してCSVの各々の列に出力します。

DataSpider Studio Left-Right-Joinマージを行う

CSVファイル書き込み処理

book_name,movie_name,hobby_nameの3列を用意します。

DataSpider Studio Left-Right-Joinマージを行う

テスト

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

出力されたCSVです。

DataSpider Studio Left-Right-Joinマージを行う

参考サイト

[マージMapper]Left-Right-Joinマージ

コメント

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