こんにちは。インフォテリアのキクチです。
先日北海道に出張してきたのですが(25年ぶりの北海道上陸!!)、東京との気温の違いにびっくりしてしまいました。
寒かった…。
雪で道路が歩きづらい分、地下道が発達していて、街のつくりにも地域性が出るんだなぁ~なんて感じながら、北海道のお客様にお会いしてきました。
また出張のチャンスがあれば、次はどうにか食べ物の地域性なんかも感じられる出張にしたいなぁなんて思っています。
さて、今回のASTERIA Warp体験記ではこれまで単純な使い方しかしてこなかったMapperについて少し深く体験しています。
データ変換の要になってくるMapper関数をどうやって使っていくのか、皆さんの参考になればな、と思いながら頑張りましたのでどうぞお楽しみください!
さぁ、今回はMapper(マッピング)の体験です。
新しいプロジェクトを立ち上げて、単純なフローを作成します。
今回はMapperに焦点を当てたいので、フローの流れは【ファイル取得⇒マッピング⇒ファイル保存】という単純な流れにしてみます。
実はこのフロー、以前(ファイルを連携する(はじめの一歩))作成したフローを「コピー」したものを使っています。
コピーしたいフローを右クリックして表示されるメニュー「コピー」を選択します。
コピーしたいプロジェクト名を右クリックで表示されるメニュー「貼り付け」を選択すると…
新しいプロジェクト「ASTERIA Warp体験記_Season2」に新しいフロー「ファイルを連携する1」が追加されています。
今回はコピーしたフローを新しい名前「Mapperを体験する1」として使っていきたいと思います。
さて、まずはどんなファイルを連携するかですが、こんなファイルを連携します。
この中から、2つ挑戦してみたいと思います。
まずはマッピングを行う前に、ストリーム定義のフィールド名が「field1」などで各列が識別しづらいので、各フィールドに名前を固有の名前をつけてあげます。
ストリーム定義のフィールド名を編集するには、各フィールドをダブルクリックして編集モードに切り替えてもいいのですが、項目数が多いと手間がかかるので、今回は「CSV形式で編集」機能を使ってみます。
ストリーム定義上で右クリックすると、メニューが表示されるので「CSV形式で編集」メニューを選択します。
すると、編集画面が立ち上がってくるのでフィールド名を編集します。
OKボタンを押下すると…
フィールド名がきちんと切り替わっています。データ型の項目をCSV形式で編集したい場合には、フィールド名の隣に「,」で区切って入力してあげればOKです。
編集画面左上の「外部エディタ」ボタンを選択すると普段使っているエディタで編集することも可能です。
使い慣れたエディタを呼び出せるのは便利ですね。
さて、連携元ファイルのストリーム定義が出来たので今度は出力ファイルにも同様に定義をしてあげたいと思います。
今度はマッピングの処理が分かりやすいようにフィールド数を限定して定義してみます。
出力は
の6フィールドで行います。
今まで通り単純にマッピングしてみるとこんな感じです。まだ「単価 × 数量」の「金額」フィールドにはマッピング出来ませんね。
ここでまずは「得意先名」フィールドを全角から半角に変換してみます。
使うマッピング関数は文字列タブの「Asc」関数です。こんな感じになります。
「Asc」関数のプロパティはこんな感じ。カタカナ/英字/数字/記号それぞれに変換をかけるのかを選択できるみたいですね。
ちなみにどの関数を使えばいいのかは、パレット内の関数のアイコンにマウスを当てるとツールチップで簡単な関数の説明が表示されるので見当をつけることが出来ます。
(通常のコンポーネントも同様にツールチップが表示されます。)
今回ぼくは一応、マニュアル内の関数リファレンスも見てみました。関数の仕様を調べたいときにはとても有効ですね。
さて、次は「単価」フィールドと「数量」フィールドを掛け合わせて「金額」フィールドにマッピングです。
使うマッパー関数は数値タブの「Multiply」関数です。単純な掛け算の関数ですね。こんな感じになります。
「Multiply」関数のプロパティはこんな感じですが、プロパティの値を変更する必要はありません。計算したいフィールドを関数にマッピングしてあげるだけで自動で設定してくれます。
と、いうことで必要なマッピング設定は終わりましたので、早速実行してみます!
正常に終了し、ファイルが出力されています。ファイルを確認してみると…
しっかりと「得意先名」の項目が全角から半角に、列の最後には「金額」フィールドには「単価 × 数量」の計算結果が出力されています!!
パレットをチラッと見るだけでなんとなく使う関数が分かりますし、リファレンスも関数ごとに用意されているので、とってもお手軽に設定することが出来ました。
今回は一度も偉大なASTERIAerの方々に質問しなくても一人で作ることが出来たんです!
これはぼくがASTERIAerへの第一歩を踏み出したのか、ASTERIA Warpがお手軽開発ツールだからなのか…
どう判断するかはみなさんにお任せしますが、どっちにしてもASTERIA歴ちょびっとのぼくでも簡単にデータ変換までたどり着けたのはご理解いただけたかと思います!
と、いうところで今回はここまでにしたいと思います。
次回はマッパーの便利機能「条件付レイヤー」の使い方を体験してみたいと思います。
複雑な分岐処理を作らなくとも、簡単にデータによって出力項目を変えることが出来る機能だそうなんですが…
果たして、ふつーの分岐処理も体験していないぼくが作成できるものなのか…
そんなこんなで次回も頑張って体験していきますのでお楽しみに!
ASTERIA Warpのプリセールスエンジニア&体験セミナー講師。関係各所から舞い込んでくるASTERIA Warpに関するご依頼になんとか応えながら日々鍛えてもらっています!
Related Posts
ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。
アステリア製品デベロッパー同士をつなげ、技術情報の共有やちょっとしたの疑問解決の場とすることを目的としたコミュニティです。