Power Automateにおける配列

146.9K Views

June 23, 22

スライド概要

profile-image

Power Platfrom 関連が多いです。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Power Automate における配列 気ままに勉強会 #08

2.

今日の目標 配列を使いこなそう

3.

アジェンダ 1. 配列とは 2. Power Automateで配列を扱う 基本編 3. Power Automateで配列を扱う 応用編 4. Power Automateで配列を扱う 関数編

4.

Miyake Mito @MiTo60448639 https://qiita.com/MiyakeMito https://www.icsoft.jp/

5.

Power Automate と Power Virtual Agents で ゲームを作ってます ⚫ オセロ ⚫ 神経衰弱 ⚫ どうぶつしょうぎ ➢ 配列の操作が必須

6.

本日の参考サイト ■ JSONと仲良くなるために (まとめ) https://mofumofupower.hatenablog.com/entry/2020/09/04/190039 ■ Apply to each のパフォーマンス改善 (配列加工の場合) https://mofumofupower.hatenablog.com/entry/2020/08/12/093000 ■ Power Automateの裏側をみてみよう! (1/2) https://qiita.com/h-nagao/items/be565fdac60a9b2968d5 ■ Power Automateの裏側をみてみよう (2/2) https://qiita.com/h-nagao/items/4f590a6e3b21ea669d0d

7.

配列(array) とは

8.

配列とは ① 0 変数 1 2 3 4 5 • 変数(値を入れておく箱)が複数つながったもの • それぞれの箱は、配列の「要素」と呼ばれます • また配列の要素には、「添え字」という番号が割り当てられています • Power Automateでは添え字を0から数えます

9.

配列とは ② [ 1, 3, 2, 4, 0, 2 ] • 一つの配列では、 同じ型のものしか扱えません 同じ性質の値だけをいれるようにします • ブラケットで囲み、各アイテム(要素)はカンマで区切ります(JSON) • データを取得する際は、添え字(何個目のデータ)を指定します • Powe Automate は、文字列も一つ一つの文字の連続(=配列)として 解釈できます

10.

練習 ➀ ➀次の値を含む配列を作ってください(JSON形式で) • ボーヒーズ • ボーン • ステイサム • 厚切り ["ボーヒーズ", "ボーン", "ステイサム", "厚切り"] [ "ボーヒーズ", "ボーン", "ステイサム", "厚切り" ]

11.

Power Automateで 配列を扱う 基本編

12.

配列を作る ■ 「データ操作」-「作成」 ■ 「変数を初期化する」 ⇒ アレイ ■ 関数 ⇒ array() createArray() range() split() など

13.

配列を参照する ■ 配列から要素を一つだけ取り出す① ➢ 添え字で指定する outputs(‘アクション名’)?[0] 添え字を指定するときは 「 ’」 (シングルクオーテーション) で囲まない

14.

配列を参照する ■ 配列から要素を一つだけ取り出す② ➢ 最初の要素を取得する first() ➢ 最後の要素を取得する last()

15.

配列を参照する ■ 配列から複数の要素を取り出す ➢ Apply to each Item() でもOK

16.

Power Automateで 配列を扱う 応用編

17.

配列とは ③ ■ おや・・・? 宛先 ぶき ぼうぐ クリスタル レイク クリスタル レイク クリスタル レイク N.Y. 研究所 宇宙船 JSON パンダ男 JSON パンダ子 JSON パン太郎 JSON パンダ美 JSON パン助 JSON パンダ

18.

[ 配列とは ④ {"宛先": {"住所":"クリスタルレイク","名前":"JSON パンダ男"}, "ぶき": {"オノ":1,"チェーンソー":3}, "ぼうぐ": {"マスク":1} • 各要素は、オブジェクトや配列で指 定することも可能です }, {"宛先": {"住所":"クリスタルレイク","名前":"JSON パンダ子"}, "ぶき": {"オノ":2,"チェーンソー":1}, "ぼうぐ": {"マスク":3} [ }, [1,2,3], ---- 中略---- [4,5,6,7], [8,9] {"宛先": {"住所":"宇宙船","名前":"JSON パンダ"}, ] "ぶき": {"オノ":1,"チェーンソー":0}, "ぼうぐ": {"マスク":2} } ]

19.

配列を作成する - 応用編 ■ 「データ操作」-「作成」 ■ 「変数を初期化する」 ⇒ アレイ ■ 関数 ⇒ array() createArray() など

20.

配列を参照する - 応用編 ■ 配列から要素を一つだけ取り出す① ➢ 添え字で指定する outputs(‘アクション名’)?[0]?[‘宛先’]?[‘名前’] JSON Pretty Linter (https://lab.syncer.jp/Tool/JSON-Viewer/) 「気ままに勉強会 #6 JSONについて」 参照 https://speakerdeck.com/miyakemito/jsonhabu-kunai

21.

配列を参照する - 応用編 ■ 配列から複数の要素を取り出す ➢ Apply to each

22.

配列を参照する - 応用編 Apply to each ちょっと遅い問題 Apply to eachの処理実行速度は ちょっと とても遅いです これを許容しなくてはならない局 面はありますが、回避できるシー ンもあります

23.

配列を参照する - 応用編 Apply to each を回避 ◼ 繰り返しの回数が決まっている ➢ ループの回数分、アクションを並べる ➢ 「何回目か」は添え字で指定する

24.

配列を参照する - 応用編 Apply to each を回避 ◼ ループ処理を内包するアクションを利用する ➢ [データ操作](Data Operation) • 各要素の値のみを扱う • CSV テーブルを出力…など ➢ 配列を解釈できるアクション 「リスト形式のデータを Adaptive Cards で表示する方法」 https://mofumofupower.hatenablog.com/entry/2020/07/27/153632 ・・・など

25.

配列を参照する - 応用編 ■ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [選択](Select) item()?[‘宛先’]?[‘名前']

26.

配列を参照する - 応用編 ■ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [選択](Select) item()?[‘切り身‘] item()?[‘骨尾頭付き‘] concat(item()?[‘切り身‘], ‘シャリ‘)

27.

配列を参照する - 応用編 ■ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [アレイのフィルター処理](Fiter array) item()?[‘ぼうぐ’]?[‘マスク']

28.

配列を参照する - 応用編 ■ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [アレイのフィルター処理](Filter array)

29.

配列を参照する - 応用編 ■ 配列からApply to eachを使わずに複数の要素を取り出す ➢ Apply to each

30.

配列を参照する - 応用編 ■ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [結合](Join) "JSON パンダ男,JSON パンダ子,JSON パン太郎,JSON パンダ美,JSON パン助,JSON パンダ"

31.

配列を参照する - 応用編 ■ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [CSVテーブルの作成](Create CSV table) 名前,マスク JSON パンダ男,1 JSON パンダ子,3 JSON パン太郎,2 JSON パンダ美,4 JSON パン助,0 JSON パンダ,2

32.

Power Automateで 配列を扱う 関数編

33.

Power Automate関数に よる配列操作 • Contains() • empty () • union () • intersection () • Item () • Length () • setProperty () ・・・etc ➢ ご要望があれば・・・

34.

まとめ 配列は便利 配列を制するとPower Automateが もっと楽しくなる 使いこなして面白フローをつくろう!

35.

ありがとうございました