1.スクリプトを開発してみよう!

Avatar
dstn

まずは基本的な開発イメージを捉えていただけるように簡単なシナリオを準備しました。
ここではExcelシート内のデータをPostgreSQLに格納するというスクリプトを作成してみようと思います。格納する際に簡単なデータの加工もしてみます。

ところで、みなさんはDataSpiderの評価版はご存知でしょうか?
評価版はHULFTお客様ページのmyHULFTにご登録ののち、すぐダウンロードいただけます。
https://his.hulft.com/mypage/

このシナリオは評価版でも作成が可能なものにしましたので、これからDataSpiderの導入を検討されるという方も、ぜひ評価版を利用してスクリプト作成にチャレンジしてみてください。

事前準備


まずは事前準備です。
DataSpiderのインストールについては完了している前提で進めさせていただきます。
(今回ご説明で利用する環境は64bitの同一PCにリポジトリDB無しでDataSpider ServerとDataSpider Studioをインストールしています。環境が異なる場合は一部手順など異なるところもありますのでご了承ください。)

DataSpiderの設定をする前に、Windows上で以下の準備をしたいと思います。
・読み込むExcelデータの作成
・データを書き出すPostgreSQLテーブルの作成
※サンプルデータを用意しています。画面下よりダウンロードして自由に加工してご利用ください。

Excelデータを作成
読み込むExcelデータですが、すぐに作成できるようシンプルなものにしました。簡単な注文書のイメージですが、5分もあれば作成いただけるかと思います。 ファイルの保存場所は以下としましたが、みなさんのインストール環境に合わせて DataSpiderのディレクトリ配下に保存してください。
ファイル名 : order.xlsx
保存場所 : C:\Program Files\DataSpiderServista\data\order.xlsx
1-01

PostgreSQLのテーブルを作成
データを書き出すPostgreSQLのテーブルも作成しておきます。 「tutorial」という名前で項目はExcelに合わせて作成しました。
(※今回はPostgreSQL9.3を利用しています)


 

グローバルリソースの設定


ここからは、DataSpiderでの設定となります。
まずはグローバルリソースの設定をします。 DataSpiderでは外部のアプリケーションやデータベースと接続するために必要な設定を グローバルリソースとして登録しておくことで、すべてのスクリプトから接続先のリソースとして 呼び出すことが可能となります。

ここではPostgreSQL接続のためのグロバールリソース設定をします。 それでは、「DataSpider Server」と「DataSpider Studio」を起動してください。 Studioが起動できたら「コントロールパネル」から「グローバルリソースの設定」を開きます。
1-07

PostgreSQLのグローバルリソース設定
「グローバルリソースの設定」画面から「新しいグローバルリソースの追加」を ダブルクリックしてください。
1-08

「リソースの種類の選択」画面から「データベース」「PostgreSQL」のタグから「PostgreSQL 9.3」の アイコンを選択し「次に」をクリックします。

 

「接続の設定」画面の「データベース名」に前のPostgreSQLで作成したデータベース名を、必須設定を入力します。

 

「接続テスト」ボタンを押して接続を確認してみましょう。

 

接続成功となれば登録完了です。 これでスクリプトからいつでもこの接続情報を呼び出すことができます。



スクリプトの作成


事前準備ができましたので、ここからはいよいよスクリプトの開発をしていきます。 プロジェクトとスクリプトの名前は以下にしました。
・プロジェクト名 : チュートリアル1
・スクリプト名 : Excel2DB 
まずはExcelシートからデータを読み取る設定をします。 デザイナのツールパレット「ファイル」-「Excel」-「シートから読み取り」アイコンをキャンバスに ドラッグ&ドロップします。



プロパティ画面にてアイコンの名前の入力とファイル名の指定をします。
・名前 : Excel読み取り 
・ファイル : /data/order.xlsx

読み取り範囲の指定は手動設定もできますが、今回は便利なExcelウィザードを使いたいと思います。 青字の「Excelウィザードの起動(W)」をクリックしてください。
1-14

Excelウィザードが起動したら「選択」ボタンをクリック。
1-15

次にマウスで読み取る範囲を指定し、「OK」ボタンをクリックします。 今回は取りこんだExcelのデータ構造が分かり易くなるように、あえてヘッダ部も含めて範囲指定します。
1-16

読み取り条件が正しくセットされたら「完了」ボタンをクリックします。
1-17

デザイナの画面に戻り、プロパティ画面にも設定情報が反映されます。 次に「読み取り設定」のタグを選択します。
1-18

先ほどのシートの範囲指定の際にヘッダ部分も選択しましたが、ヘッダ部分は読み込みたい データそのものではないのでここでヘッダ部分は読み飛ばす設定をします。 「最初の行は値として取得しない(S)」にチェックを入れてください。
1-19

完了ボタンをクリックするとキャンバスにExcel読み取りアイコンが貼りつきます。 次はAccess書き込みの設定です。 ツールパレット「データベース」-「Access」-「テーブル書き込み」アイコンをキャンバスに ドラッグ&ドロップしてください。


 

プロパティ画面にてアイコンの名前を入力し、以下のとおりプルダウンから指定をします。
・名前 : DB書き込み
・入力データ : Excel読み取り
・接続先 : PostgreSQL 9.3接続設定
・テーブル : tutorial

正しく設定できるとスキーマ情報が読み込まれますので、内容を確認して「完了」ボタンをクリックします。



するとマッピング追加のダイアログが表示されます。 今回はマッピングで簡単なデータの加工をしてみたいと思うので「はい」をクリックします。

 

Excel読み込みとAccess書き込みのアイコンの間に「mapping」アイコンが貼りつきました。 次に、このmappingアイコンをダブルクリックしてマッパーを開きます。

 

マッパーの画面が表示されます。 左側に入力元のExcelの構造、右側に出力先のAccessのテーブル構造が表示されているのが 確認できるかと思います。



今回のシナリオではデータの加工の設定としてこのマッパー内で以下の2つを設定してみようと思います。
・「商品名」をひらがなからカタカナに変換してPostgreSQLに格納
・「分類コード」が「A01」のものだけをPostgreSQLに格納

まずは品名をカタカナに変換する設定をします。
ツールパレットの「文字列」-「日本」-「ひらがな→カタカナ」アイコンを使って以下のように設定します。 ご覧のとおり、間にアイコンを一つ挟むだけで実現できます。 これでExcelから読み込んだ品名をカタカナに変換してからAccessに格納されます。

 

次に分類コードが「A01」のものだけを抽出する設定をします。

はじめにディフォルトで設定されている「単純な繰り返し」アイコンを削除します。 アイコンの上で右クリックしメニューを表示させ削除を選びます。

そして替わりにツールパレットの「繰り返し」-「条件による抽出」アイコンをドラッグ&ドロップし、 rowからrowに線を引きます。 これで「単純な繰り返し」アイコンが「条件による抽出」アイコンに置き換わりました。 「条件による抽出」アイコンでは、余った下の手(入力ハンドラー)に抽出条件を繋げることができます。

このシナリオではその下の手に「分類コードがA01であれば」という条件を繋げてあげることになります。

「文字列」-「単一行文字列定数」アイコンを利用しアイコンにA01という値を定義します。 このアイコンの値と入力元の分類コードの値との比較には「条件」-「文字列」-「同じ」アイコンを利用します。 これらのアイコンを以下のように繋げることで、「分類コードがA01と同じだったら出力先に格納する」という 設定が出来上がります。

以上でマッピングの設定が完成したので、あとはフローの画面に戻ってStartアイコンから Endアイコンまで線(プロセスフロー)を繋げればスクリプト完成です。



添付ファイル

コメント

ログインしてコメントを残してください。

Powered by Zendesk