データを条件分岐させてみた:BranchStart編~菊ちゃんのASTERIA Warp体験記~

菊池キャラクター画像

久しぶりの「菊ちゃん体験記」で少し緊張気味のキクチです笑
心も体もパワーアップして、ASTERIA Warpの基本や便利な活用法をお伝えすべく戻ってまいりました!

そしてASTERIA Warpはといえば、先日導入企業数がなんと8,000社を超え、たくさんの方がASTERIA Warpを使っていただいていると思うと、本当にうれしい限りです♪
さらにノーコードということもあり、最近ではプログラミング知識のない方の利用も増えてきているようで、キクチの出番というわけですね!

「BranchStartコンポーネント」で条件分岐させてみた

それでは、さっそくASTERIA Warpで狙い通りの処理を作ってもらうための設定、操作方法をご紹介していきたいと思います。

まず今回は条件分岐!
取得したデータをあらかじめ設定した条件に沿って振り分けてみたいと思います。

処理の流れは

  1. CSVファイルを取得する
  2. 取得したデータを条件に沿って判定
  3. 条件が一致したデータのみをファイルに出力する

としておきます。
ASTERIA Warpのどのコンポーネントを使うと、この処理が実現できるのか、試していきましょう!

CSVファイルを取得する

まず、データ取得元のCSVファイルです。
こんな感じ。

取得元CSVの内容

「顧客名・商品名・単価・数量・売上金額」が入っている、よくある売上データのファイルですね。
この売上一覧から、「売上金額が¥700,000以上のレコード」を条件に合致したデータとしてファイルに出力したいと思います。

フローはこんな感じになります。

BranchStartコンポーネントで条件分岐動作フロー

昔々、「ファイルを連携してみた」ブログで紹介したようなファイル連携のフローに、条件分岐用のコンポーネント「BranchStartコンポーネント」が追加された感じです。

取得したデータを条件に沿って判定

パレットのコントロールタブにあるBranchStartコンポーネントですが、どのように条件設定をするか、リファレンスを見てみましょう。

パレットのコントロールタブにあるBranchStartコンポーネント

Branch Startコンポーネントについてのリファレンス内容

ふむふむ。「条件式」プロパティに分岐するための条件を設定するようです。
詳しくはヘルプに記載されている「条件式について」を確認してみてください。

実際の条件式の設定方法はすごくシンプルになっていて、
配置したBranchStartコンポーネントをダブルクリックすると・・・

条件式プロパティの編集

「条件式」プロパティの編集ダイアログが立ち上がり、任意の条件を設定できるのですが、やっぱり、いちいち入力するのは面倒です。

そんなあなたは、半角で“$”と入力してみましょう。
プレフィックスの指定や条件を設定したフィールドの設定を、入力補完で行うことが出来ます。

“$”と入力すると・・・

条件式プロパティに「$」を入力

プレフィックスを選べる選択肢が表示されます。

今回は、読み込んだフィールドに条件をセットしたいので、「record」を選択します。

条件式プロパティのプレフェックスから「$record.」を選択

読み込んだCSVファイルに設定したフィールド名が表示され、選択できます!

いちいち入力をしなくても、条件をつけたいフィールドをセットすることが出来るんですね。
あとは、レコードの選別条件を設定すればOK!

選別条件を設定

BranchStartコンポーネントのプロパティに設定した内容が反映されます。

条件が一致したデータのみをファイルに出力する

これで、準備は完了ですね。

実行してみると・・・

実行結果CSV

きちんと売上金額が\700,000以上のレコードのみがファイルに出力されています。

このように、BranchStartコンポーネント利用すると、条件によって「ファイルに出力するか否か」といった後工程の内容を変えることが出来ますね!

ちなみに、今回の要件のように「条件に合致するレコードのみを抜き出したい」という場合にはRecordFilterコンポーネントでも実現することが出来ます。

RecordFilterコンポーネントで条件に合致するレコードのみを抜き出し

なんだか、とってもシンプルです。

実は、BranchStartコンポーネントでは、各レコードそれぞれに対して判定したいという場合には、Mapperコンポーネントなどでループ(繰り返し)処理を設定する必要があります。
(ループの設定についてはまた別の機会に!)

対して、RecordFilterコンポーネントでは、まとめて受け取ったファイルデータのうち、条件に合致したレコードを「抜き出す」という処理になり、データの加工/変換の必要もないのでMapperコンポーネントを挟む必要がなく、シンプルに表現することが出来ます。

こちらのコンポーネントも、プロパティの「…」ボタンから設定値の入力補完を利用することが可能なので、手間はとっても少ないですね。

RecordFilterコンポーネントから直接条件式を入力

なので、今回の要件であれば、データのフィルタリングをしてくれるRecordFilterコンポーネントの方が適切ですね。

最後に

いかがでしたか?

読み込んだデータなどに応じて処理を分岐させる方法をご紹介しましたが、ASTERIA Warpでは、実はこういった分岐処理、フィルタリングの処理は要件によっていくつか実現方法があります。

要件によってのコンポーネントの使い分け、設定方法の違いや適した処理についてはまた別の機会にご紹介したいと思います。
条件で処理を分けられると、フロー開発の幅がとても広がりますので、ぜひ試しください!

動画視聴はこちら

条件分岐について動画でも解説しています。ぜひご覧ください。

フローダウンロード

今回のフローはこちらからダウンロードしてお使いいただけます↓

フローダウンロード

 



クラウド版

手ぶら de ASTERIA Warp
体験 5日間を申し込んで
簡単データ連携を体験してみよう!

サーバー準備の手間なくデータ連携ツール「ASTERIA Warp」の
全ての機能を5日間お試しいただけます。

今すぐ体験してみる 書籍の詳細についてはこちらをご覧ください。
基礎と実践 使い方マニュアル
著者:菊地 雄大

著者:
菊地 雄大

ASTERIA Warpのプリセールスエンジニア&体験セミナー講師。関係各所から舞い込んでくるASTERIA Warpに関するご依頼になんとか応えながら日々鍛えてもらっています!

「ASTERIA Warp、データ分析、クラウド、業務効率化、最新技術」人気!ホワイトペーパーダウンロード受付中!今すぐチェック
ASTERIA Warpと色々つないでみた特集!記事はこちら>

ASTERIA Warp 関連サイトのご紹介

X ASTERIA Warp Developer Network(ADN)サイト

技術情報をお探しの方

ASTERIA Warp Developer Network
(ADN)サイト

ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。

X ASTERIA Warpユーザーグループ(AUG)

ASTERIA Warpデベロッパーの方

ASTERIA Warp オンラインコミュニティ
ADN slack

ASTERIA Warpデベロッパー同士をつなげ、技術情報の共有やちょっとしたASTERIA Warpの疑問解決の場とすることを目的としたコミュニティです。

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

製品更新版や評価版のダウンロード、各種ドキュメントのご提供、また 技術的なお問合せもこちらで受付ています。

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

パートナーライセンスの発行や各種ドキュメントのご提供をしています。

ページ先頭へ