Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Power Automateで配列を扱う①
Search
MiyakeMito
February 19, 2022
Technology
25k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Power Automateで配列を扱う①
MiyakeMito
February 19, 2022
More Decks by MiyakeMito
See All by MiyakeMito
Power Automateアップデート情報
miyakemito
0
310
マルチステージとAI承認について
miyakemito
0
170
Copilot Studioについて
miyakemito
7
10k
Dataverseの検索列について
miyakemito
2
1.9k
AI Builder について
miyakemito
3
1.2k
Microsoft Copilot Studio についてざっくり説明
miyakemito
2
1.9k
Power Automateのデータ操作(Data Operation)について (Ver.モダンデザイナー)
miyakemito
5
4.1k
JSON攻略法.pdf
miyakemito
13
7.3k
ガンダムBotを1分でつくってみせろよ
miyakemito
1
920
Other Decks in Technology
See All in Technology
35分でわかるEffective Platform Engineering
nwiizo
3
170
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
150
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
390
強化学習「理論」入門
enakai00
3
3.6k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
720
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
230
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
280
FDEの心得
noriakioji
5
6.2k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
Sets in Go
ramalho
1
980
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.7k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
450
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
210
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Amusing Abliteration
ianozsvald
1
250
Agile that works and the tools we love
rasmusluckow
331
22k
Abbi's Birthday
coloredviolet
3
9.3k
The Invisible Side of Design
smashingmag
301
52k
Why Our Code Smells
bkeepers
PRO
340
58k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
540
Music & Morning Musume
bryan
47
7.3k
Transcript
Power Automate における配列 気ままに勉強会 #08
今日の目標 配列を使いこなそう
アジェンダ 1. 配列とは 2. Power Automateで配列を扱う 基本編 3. Power Automateで配列を扱う
応用編 4. Power Automateで配列を扱う 関数編
Miyake Mito https://www.icsoft.jp/ @MiTo60448639 https://qiita.com/MiyakeMito
Power Automate と Power Virtual Agents で ゲームを作ってます ⚫ オセロ
⚫ 神経衰弱 ⚫ どうぶつしょうぎ ➢ 配列の操作が必須
本日の参考サイト ▪ 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
配列(array) とは
配列とは ① • 変数(値を入れておく箱)が複数つながったもの • それぞれの箱は、配列の「要素」と呼ばれます • また配列の要素には、「添え字」という番号が割り当てられています • Power
Automateでは添え字を0から数えます 変数 0 1 2 3 4 5
配列とは ② • 一つの配列では、 同じ型のものしか扱えません 同じ性質の値だけをいれるようにします • ブラケットで囲み、各アイテム(要素)はカンマで区切ります(JSON) • データを取得する際は、添え字(何個目のデータ)を指定します
• Powe Automate は、文字列も一つ一つの文字の連続(=配列)として 解釈できます [ 1, 3, 2, 4, 0, 2 ]
練習 ➀ ➀次の値を含む配列を作ってください(JSON形式で) • ボーヒーズ • ボーン • ステイサム •
厚切り ["ボーヒーズ", "ボーン", "ステイサム", "厚切り"] [ "ボーヒーズ", "ボーン", "ステイサム", "厚切り" ]
Power Automateで 配列を扱う 基本編
配列を作る ▪ 「データ操作」-「作成」 ▪ 「変数を初期化する」 ⇒ アレイ ▪ 関数 ⇒
array() createArray() range() split() など
配列を参照する ▪ 配列から要素を一つだけ取り出す① outputs(‘アクション名’)?[0] ➢ 添え字で指定する 添え字を指定するときは 「 ’ 」
(シングルクオーテーション) で囲まない
配列を参照する ▪ 配列から要素を一つだけ取り出す② first() ➢ 最初の要素を取得する last() ➢ 最後の要素を取得する
配列を参照する ▪ 配列から複数の要素を取り出す ➢ Apply to each Item() でもOK
Power Automateで 配列を扱う 応用編
配列とは ③ ぶき ぼうぐ ▪ おや・・・? クリスタル レイク JSON パンダ男
クリスタル レイク JSON パンダ子 クリスタル レイク JSON パン太郎 N.Y. JSON パンダ美 研究所 JSON パン助 宇宙船 JSON パンダ 宛先
配列とは ④ • 各要素は、オブジェクトや配列で指 定することも可能です [ {"宛先": {"住所":"クリスタルレイク","名前":"JSON パンダ男"}, "ぶき":
{"オノ":1,"チェーンソー":3}, "ぼうぐ": {"マスク":1} }, {"宛先": {"住所":"クリスタルレイク","名前":"JSON パンダ子"}, "ぶき": {"オノ":2,"チェーンソー":1}, "ぼうぐ": {"マスク":3} }, ---- 中略---- {"宛先": {"住所":"宇宙船","名前":"JSON パンダ"}, "ぶき": {"オノ":1,"チェーンソー":0}, "ぼうぐ": {"マスク":2} } ] [ [1,2,3], [4,5,6,7], [8,9] ]
▪ 「データ操作」-「作成」 ▪ 「変数を初期化する」 ⇒ アレイ ▪ 関数 ⇒ array()
createArray() など 配列を作成する - 応用編
配列を参照する - 応用編 ▪ 配列から要素を一つだけ取り出す① JSON Pretty Linter (https://lab.syncer.jp/Tool/JSON-Viewer/) 「気ままに勉強会
#6 JSONについて」 参照 https://speakerdeck.com/miyakemito/jsonhabu-kunai outputs(‘アクション名’)?[0]?[‘宛先’]?[‘名前’] ➢ 添え字で指定する
配列を参照する - 応用編 ▪ 配列から複数の要素を取り出す ➢ Apply to each
配列を参照する - 応用編 Apply to each ちょっと遅い問題 Apply to eachの処理実行速度は
ちょっと とても遅いです これを許容しなくてはならない局 面はありますが、回避できるシー ンもあります
配列を参照する - 応用編 Apply to each を回避 ◼ 繰り返しの回数が決まっている ➢
ループの回数分、アクションを並べる ➢ 「何回目か」は添え字で指定する
配列を参照する - 応用編 Apply to each を回避 ◼ ループ処理を内包するアクションを利用する ➢
[データ操作](Data Operation) • 各要素の値のみを扱う • CSV テーブルを出力…など ➢ 配列を解釈できるアクション 「リスト形式のデータを Adaptive Cards で表示する方法」 https://mofumofupower.hatenablog.com/entry/2020/07/27/153632 ・・・など
配列を参照する - 応用編 ▪ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [選択](Select) item()?[‘宛先’]?[‘名前']
配列を参照する - 応用編 ▪ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [選択](Select) item()?[‘切り身‘]
item()?[‘骨尾頭付き‘] concat(item()?[‘切り身‘], ‘シャリ‘)
配列を参照する - 応用編 ▪ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [アレイのフィルター処理](Fiter array)
item()?[‘ぼうぐ’]?[‘マスク']
配列を参照する - 応用編 ▪ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [アレイのフィルター処理](Filter array)
配列を参照する - 応用編 ▪ 配列からApply to eachを使わずに複数の要素を取り出す ➢ Apply to
each
配列を参照する - 応用編 ▪ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [結合](Join) "JSON
パンダ男,JSON パンダ子,JSON パン太郎,JSON パンダ美,JSON パン助,JSON パンダ"
配列を参照する - 応用編 ▪ 配列からApply to eachを使わずに複数の要素を取り出す ➢ [CSVテーブルの作成](Create CSV
table) 名前,マスク JSON パンダ男,1 JSON パンダ子,3 JSON パン太郎,2 JSON パンダ美,4 JSON パン助,0 JSON パンダ,2
Power Automateで 配列を扱う 関数編
Power Automate関数に よる配列操作 ➢ ご要望があれば・・・ • Contains() • empty ()
• union () • intersection () • Item () • Length () • setProperty () ・・・etc
まとめ 配列は便利 配列を制するとPower Automateが もっと楽しくなる 使いこなして面白フローをつくろう!
ありがとうございました