2014年12月にリリースされたDataSpider Servista 3.2では、サンプルスクリプト集「逆引きリファレンス」がヘルプに追加されました。
スクリプトの開発で「実現したい処理」、つまり「要件」からスクリプト処理のサンプルを探して必要な機能を見つけることができ、スクリプト開発を効率良く行うことができます。
この連載の主人公、まだまだスクリプト作成に行き詰まることが多い株式会社DSシステムの新人・東谷君ですが、この「逆引きリファレンス」で遂に先輩社員・神尾みかさんから独立することができるかも・・・?
やりたいことでヘルプを検索すると・・・!?
東谷君:
みかさーん、CSVファイル読み取り処理で読み取ったデータなんですが、この2列目のデータをデータベースに入れたいんですよね、どうすれば・・・
くも子:
みか姉さん外出で不在クモ!
東谷君:
あわわわわわ俺はもうダメだ
もっくん:
落ち着くモク! まず何をやりたいのがまとめてみるといいと思うモク~
東谷君:
そ、そうか。いまこういうスクリプトを作っていて。
CSV読み取り処理でこういうCSVデータを読み取っているんですよ。
項目名,値
製品コード,001
名前,くも子ぬいぐるみ
価格,200円
個数,3
その最初の行は取得せずに「CSV読み取り処理」で読み取って、こういうデータが読み取れるんですが、
製品コード | 001 |
名前 | くも子ぬいぐるみ |
価格 | 200円 |
個数 | 3 |
それをこういう風にデータ部分だけを「テーブル書き込み処理」でデータベースのProductテーブルにデータ行を挿入したいんですよね・・・。
001 | くも子ぬいぐるみ | 200円 | 3 |
このデータ変換をどうやるのか悩んでいて・・・。
うーん、つまり僕がやりたいのは、データの「縦と横を変換したい」、「行と列を入れ替えたい」、ということなんだよな・・・。
くも子:
「縦横変換」とか「行列入替」のキーワードでヘルプで検索してみると何か分かるかもかもクモクモ!
もっくん:
かもかもモクモク!
東谷君:
え~まさかそんなことで分かるわけが・・・
何か出てきた! こ、これは作りたい処理が分かりやすく解説されている・・・・サンプルスクリプトまである!?
みかさん:
ただいま~東谷君、衝撃を受けているみたいだけどどうしたの~。
東谷君:
みかさん! これみてください! こ、これは・・・・。
みかさん:
あーDataSpider Servista 3.2の新機能「 逆引きリファレンス」ね。これはスクリプト開発に役立つので知っておくといいわ。
東谷君:
逆引きりふぁれんす!!!
逆引きリファレンスの中身
みかさん:
逆引きリファレンスとは・・・と説明するよりもまず、実際のページを見てみましょうか。
DataSpider Servista 4.0 SP1 ヘルプ 「逆引きリファレンス」-「シナリオ一覧」-「データの行と列を入れ替えたい」
https://dl.appresso.com/help/dss40sp1/help/ja/reference/scenario/rl_reference_006.html
東谷君が見つけた「データの行と列を入れ替えたい」のページ、こんな感じの構成になっているわね。
●概要
●サンプルプロジェクトの説明
●サンプルプロジェクトの使用方法
●スクリプトの作成手順
「概要」でそのスクリプトで行う処理が説明されていて、「サンプルプロジェクトの説明」でその具体的な内容が説明されているって感じね。
東谷君:
「サンプルプロジェクト」の説明にはスクリプトの画像もあるし分かりやすいですね。
みかさん:
特に注目して欲しいのが「サンプルプロジェクトの説明」の「ポイントとなる機能」と「処理のポイント」のところね。このスクリプトでやりたいことを実現するための重要なDataSpiderの機能がここで説明されてるわ。
東谷君:
このページでは「行列の入れ替え処理」がポイントで、これで[入力データ]の指定を行うだけで入れ替える処理ができるのかーなるほどね~。これで僕がやりたい処理ができますね!
サンプルプロジェクトとスクリプト作成手順
みかさん:
この「逆引きリファレンス」のそれぞれのリファレンスにはサンプルプロジェクトが付いていて、解説しているスクリプトが実際に触ることができるところもポイントね。
東谷君:
このサンプルプロジェクトはどう使うんですか?
みかさん:
「サンプルプロジェクトの使用方法」のところに、サンプルプロジェクトを実行するまでの手順が書いているのでそれを行えば実行できるようになるわ。
サンプルプロジェクトを編集して自分の作りたいスクリプトにカスタマイズしたり、一部をコピーして自分のスクリプトで使用したりと活用できるのよ。
東谷君:
なるほどねー。そして「スクリプトの作成手順」では、このサンプルスクリプトをイチから作るときの作り方が解説されているんですね。これは勉強になるな~。
みかさん:
「処理のポイント」というところで注意点やちょっとしたTIPSも紹介されているので、DataSpiderの使い方の学習にも便利よね。
東谷君:
まさに僕にぴったりのものなんですね・・・。よし! じゃあ早速この「行列の入れ替え処理」を使用してみます。
さっきのスクリプトで読み取ったデータを「行列の入れ替え処理」で行列変換してデータ行をMapperで取得して・・・できた!
くも子:
パチパチクモクモ!
シナリオの探し方
みかさん:
ちなみに逆引きリファレンスのシナリオは現在は100個以上用意されてるわ。ヘルプの「シナリオ一覧」にその一覧が載っているのでチェックしてみてね。
DataSpider Servista 3.2 ヘルプ 「逆引きリファレンス」-「シナリオ一覧」
https://dl.appresso.com/help/dss32SP2/help/ja/reference/rl_reference.html#scenario_list
東谷君:
うわーこんなにあるんですね! ざっと一覧みてもいろいろと役立ちそう。でもちょっと探すのが大変なのかな?
みかさん:
うん、そういうときはさっきのように検索して探すのがオススメよ。それぞれのシナリオには「キーワード」が設定されているので、さっきの「データの行と列を入れ替えたい」の右上のところを見てみて。
東谷君:
あ、「キーワード:行列の入れ替え,行列入替,行列,縦横,縦横変換」っていうことが書いてありますね。なるほど、これが検索でひっかかったんですね。
みかさん:
そう、できるだけ各シナリオは全文検索で検索しやすいようにされているの。なので、何か自分の作りたい処理に関連したシナリオが無いかは、自分のやりたいことをキーワードに検索してみるのがおすすめよ。
東谷君:
なるほどね~。この「逆引きリファレンス」を活用したら、僕がみかさんに頼らずにスクリプト開発を進められそうですね!
みかさん:
(そう・・・)
東谷君:
あれ、みかさん、みかさんの姿がどんどん消えていく・・・!?
みかさん:
(もう東谷君に私は必要ないわ・・・私の役目は終わったの・・・)
東谷君:
ど、どういうことですか・・・!?
みかさん:
(私ハDataSpiderから産まれた思念体・・・ソノ役目をオエタイマ、ソンザイイギガ・・・)
東谷君:
みかさん、みかさ~ん!!!
くも子&もっくん:
さよなら、みかさんモククモ・・・・
・
・
・
・
・
・
・
・
・
・
みかさん:
という展開にすると連載が終わってしまうので、一旦逆引きリファレンスのことは忘れてちょうだい。
次回からはこの「逆引きリファレンス」で取り上げられているシナリオを題材に使って、いろいろと解説していくわよ!
東谷君:
忘れました!
いろいろな意味でタフになってきた東谷君、DataSpiderマスターを目指して修行はまだまだ続きます。
「逆引きリファレンス」のシナリオにはDataSpiderのさまざまなエッセンスが詰まっています。ぜひ(忘れずに)ご活用ください!