LoginSignup
0
0

More than 1 year has passed since last update.

【クエリビルダ:拡張表現】SwitchPipe文を使ってみる

Posted at

今回は、データのマッピング等に使用できるSwitchPipe文を使用してみます。
Sharperlightアプリケーションメニューからクエリビルダを起動します。
下図のようなフィルター設定にし、カスタムでデータセットを準備します。
image.png

"勘定科目コード::String","金額::Number",勘定科目名::String,"店名::String"
"10000", 10000, "Cash", "AUS"
"10100", 230000, "Bank Account", "AUS"
"10200", 560000, "Accounts Receivable", "AUS"
"10300", 380000, "Bills Recivable", "AUS"
"50000", 10000, "現金", "東京"
"50100", 230000, "預金", "東京"
"50200", 560000, "売掛金", "東京"
"50300", 380000, "受取手形", "東京"

プレビューするとこのようなデータセットが返ってきます。
image.png
では、早速SwitchPipe文を記してみましょう。
上記データでは、Australiaと東京で同じ勘定科目を表現するコードが異なっています。また、勘定科目名も英語と日本語の違いがあります。
SwitchPipe文を使用して、その異なる部分を吸収してみます
出力領域の右クリックから拡張表現を追加を選択します。出力オプションダイアログが開いたら、関数一覧よりSwitchPipe文を探し、ダブルクリックで上部エディタ領域にテンプレートを転送します。
image.png
これを元に編集を行います。
1行目は、どのフィールド値を判断基準(drive Value)にするかです。ここでは勘定科目コードがその対象となります。
drivevalueに指定した勘定科目コードに合致した場合という記述を2行目で行います。
よって、"10000,10100,10200,10300" Australiaの勘定科目コードおよび名称を東京に合わせたいのでこのようになります。
3行目には、合致した場合の結果値を記述します。2行目で指定した判断基準値の順番に合わせます。なので "現金,預金,売掛金,受取手形"となります。
で最後は、2行目で指定した判断基準値以外、つまり勘定科目コードが東京のコードの場合、科目名はそのまま表示ということで、勘定科目名への参照{%勘定科目名}となります。

SwitchPipe( {%勘定科目コード} ,
"10000,10100,10200,10300"
,"現金,預金,売掛金,受取手形"
,{%勘定科目名} )

では早速プレビューしてみます。その前にデータ型をText型にします。
image.png
結果はこのようになります。
image.png
元の勘定科目名の表示は必要ないので非表示オプションで非表示にします。また追加した拡張表現の説明勘定科目名とします。
image.png
image.png
image.png
再度プレビューをすると...
image.png
今回は簡単な紹介となりましたが、是非様々な場面で使用してみてくださいね。

では、失礼します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0