神尾みかさんのDS自由自在 第8回 「要件から機能を逆引く! 逆引きリファレンスを使いこなす」

Avatar
dstn


2014年12月にリリースされたDataSpider Servista 3.2では、サンプルスクリプト集「逆引きリファレンス」がヘルプに追加されました。

スクリプトの開発で「実現したい処理」、つまり「要件」からスクリプト処理のサンプルを探して必要な機能を見つけることができ、スクリプト開発を効率良く行うことができます。

この連載の主人公、まだまだスクリプト作成に行き詰まることが多い株式会社DSシステムの新人・東谷君ですが、この「逆引きリファレンス」で遂に先輩社員・神尾みかさんから独立することができるかも・・・?



やりたいことでヘルプを検索すると・・・!?


東谷くん東谷君:

みかさーん、CSVファイル読み取り処理で読み取ったデータなんですが、この2列目のデータをデータベースに入れたいんですよね、どうすれば・・・

 

6_くも子_指示_smallくも子:

みか姉さん外出で不在クモ!

 

東谷くん東谷君:

あわわわわわ俺はもうダメだ

 

もっくんポカリ_small もっくん:

落ち着くモク! まず何をやりたいのがまとめてみるといいと思うモク~

 

東谷くん東谷君:

そ、そうか。いまこういうスクリプトを作っていて。

読み取り

CSV読み取り処理でこういうCSVデータを読み取っているんですよ。

項目名,値
製品コード,001
名前,くも子ぬいぐるみ
価格,200円
個数,3


その最初の行は取得せずに「CSV読み取り処理」で読み取って、こういうデータが読み取れるんですが、

 

製品コード 001
名前 くも子ぬいぐるみ
価格 200円
個数 3


それをこういう風にデータ部分だけを「テーブル書き込み処理」でデータベースのProductテーブルにデータ行を挿入したいんですよね・・・。

 

001 くも子ぬいぐるみ 200円 3


このデータ変換をどうやるのか悩んでいて・・・。

うーん、つまり僕がやりたいのは、データの「縦と横を変換したい」、「行と列を入れ替えたい」、ということなんだよな・・・。

7_くも子_ちらり_smallくも子:

「縦横変換」とか「行列入替」のキーワードでヘルプで検索してみると何か分かるかもかもクモクモ!

 

もっくん_small もっくん:

かもかもモクモク!

 

東谷君:

え~まさかそんなことで分かるわけが・・・

検索

何か出てきた! こ、これは作りたい処理が分かりやすく解説されている・・・・サンプルスクリプトまである!?

縦横変換ヘルプ

神尾みかさんみかさん:

ただいま~東谷君、衝撃を受けているみたいだけどどうしたの~。

 

東谷君:

みかさん! これみてください! こ、これは・・・・。

みかさん:

あー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で取得して・・・できた!

完成スクリプト

2_くも子_わーい_smallくも子:

パチパチクモクモ!

シナリオの探し方


みかさん:

ちなみに逆引きリファレンスのシナリオは現在は100個以上用意されてるわ。ヘルプの「シナリオ一覧」にその一覧が載っているのでチェックしてみてね。

DataSpider Servista 3.2 ヘルプ 「逆引きリファレンス」-「シナリオ一覧」

https://dl.appresso.com/help/dss32SP2/help/ja/reference/rl_reference.html#scenario_list


シナリオ一覧

東谷君:

うわーこんなにあるんですね! ざっと一覧みてもいろいろと役立ちそう。でもちょっと探すのが大変なのかな?

みかさん:

うん、そういうときはさっきのように検索して探すのがオススメよ。それぞれのシナリオには「キーワード」が設定されているので、さっきの「データの行と列を入れ替えたい」の右上のところを見てみて。

キーワード

東谷君:

あ、「キーワード:行列の入れ替え,行列入替,行列,縦横,縦横変換」っていうことが書いてありますね。なるほど、これが検索でひっかかったんですね。

みかさん:

そう、できるだけ各シナリオは全文検索で検索しやすいようにされているの。なので、何か自分の作りたい処理に関連したシナリオが無いかは、自分のやりたいことをキーワードに検索してみるのがおすすめよ。

東谷君:

なるほどね~。この「逆引きリファレンス」を活用したら、僕がみかさんに頼らずにスクリプト開発を進められそうですね!

神尾さん消え2 みかさん:

(そう・・・)

 

東谷くん東谷君:

あれ、みかさん、みかさんの姿がどんどん消えていく・・・!?

 

神尾さん消え3 みかさん:

(もう東谷君に私は必要ないわ・・・私の役目は終わったの・・・)

 

東谷くん東谷君:

ど、どういうことですか・・・!?

 

神尾さん消え4 みかさん:

(私ハDataSpiderから産まれた思念体・・・ソノ役目をオエタイマ、ソンザイイギガ・・・)

 

東谷くん東谷君:

みかさん、みかさ~ん!!!

 

3_くも子_よろしくお願いします_small もっくんポカリ_small くも子&もっくん

さよなら、みかさんモククモ・・・・












神尾みかさんみかさん:

という展開にすると連載が終わってしまうので、一旦逆引きリファレンスのことは忘れてちょうだい。

次回からはこの「逆引きリファレンス」で取り上げられているシナリオを題材に使って、いろいろと解説していくわよ!

東谷くん東谷君:

忘れました!




いろいろな意味でタフになってきた東谷君、DataSpiderマスターを目指して修行はまだまだ続きます。

「逆引きリファレンス」のシナリオにはDataSpiderのさまざまなエッセンスが詰まっています。ぜひ(忘れずに)ご活用ください!

コメント

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

Powered by Zendesk