今回は、このあと書く投稿のための準備的なものです。
Adaptive Cardsや、LINEのFlex message (カルーセル表示) を表示するときのように、繰り返しの構造を、Power Autoamteで作成する場合の方法です。
例えば、画像では、Plannerのタスク一覧をもとに、それぞれAdaptive Cardsに必要な書式、Flex messageに必要な書式のオブジェクト配列を作成しています。
何かの配列データから、別の書式に変換するときに役立つのが選択 (Select)アクションです。
簡単なSelectアクションの使い方
選択アクションはとても優れもので、最も率直に思いつくのが、列 (プロパティ) の追加・削除です。
これだけでもずいぶんうれしいアクションです。方法はいたって簡単で、SelectアクションのFromに何らか、複雑な構造の配列を入れて、Mapでほしいプロパティを指定してあげればいいだけです。
もう少し使い込む
Adaptive Cardsの例では、このAdaptive Cardsを表示するために以下のようなオブジェクトが配列に含まれています。 (多少省略しています)
{ "type": "Container", "items": [ { "type": "TextBlock", "text": "TaskTitle", //ここにタスクのタイトル "wrap": true }, { "facts": [ { "title": "DueDate", "value": "2020-05-20" //ここにタスクの期限日 }, { "title": "Status", "value": "Not Started" //ここにタスクのステータス } ], "type": "FactSet", "separator": true } ], "style": "accent" }
このような、少し複雑なオブジェクトの繰り返し (配列) から、最初の図のようなAdaptive Cardsを作っています。
この場合にもSelectを使います。図解は以下。
- まずはSelectアクションのMap部分をテキストモードに切り替えます
- 必要な構造 (たとえば上のJSON) をコピペします
- あとはPlannerタスクに基づいて表示したい箇所を、動的コンテンツで置き換えます
実行結果を見てみると、想定通りのマッピングで配列が生成されていることが分かります。
おわり
選択アクションは万能で、ある配列からまったく構造の違う配列を作成するときにも活躍します。 繰り返し部分の構造が分かっているなら、テキストモードにして、まずはコピペしてみましょう。 あとはもう少し凝ったことをするなら、動的なコンテンツの挿入部分で、数式を使うというのも考えられます。
何よりも、選択アクションは、Apply to eachのようなループ処理を伴わないのでとても高速です。(トライ&エラーしやすい)
ぜひ選択アクションと仲良くなってみてください!