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
March 05, 2022
Technology
5.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Power Automateで配列を扱う②
MiyakeMito
March 05, 2022
More Decks by MiyakeMito
See All by MiyakeMito
マルチステージとAI承認について
miyakemito
0
150
Copilot Studioについて
miyakemito
7
9.9k
Dataverseの検索列について
miyakemito
2
1.8k
AI Builder について
miyakemito
3
1.2k
Microsoft Copilot Studio についてざっくり説明
miyakemito
2
1.8k
Power Automateのデータ操作(Data Operation)について (Ver.モダンデザイナー)
miyakemito
5
4.1k
JSON攻略法.pdf
miyakemito
13
7.3k
ガンダムBotを1分でつくってみせろよ
miyakemito
1
900
Microsoft Copilot Studio について
miyakemito
0
8.5k
Other Decks in Technology
See All in Technology
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
250
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
300
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
200
知見・人・API・DB・予算 ─ ナイナイ尽くしだった人事データ整備 with dbt、5年間の学び
ken6377
1
110
ご挨拶「10周年を迎える共創ラボのこれまでとこれから」
iotcomjpadmin
0
170
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
430
背中から、背中へ /paying forward to community
naitosatoshi
0
190
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
0
160
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
180
Agile and AI Redmine Japan 2026
hiranabe
4
560
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
240
初めてのDatabricks勉強会
taka_aki
2
220
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
The SEO Collaboration Effect
kristinabergwall1
1
490
RailsConf 2023
tenderlove
30
1.5k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
450
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
630
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
240
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Automating Front-end Workflow
addyosmani
1370
210k
How GitHub (no longer) Works
holman
316
150k
Transcript
Power Automate における配列② 気ままに勉強会 #09
今日の目標 関数を使って 配列を使いこなそう
アジェンダ 1. 配列(array)とは 2. 関数(function)とは 3. Power Automateの配列関数 4. Power
Automateで配列操作
Miyake Mito https://www.icsoft.jp/ @MiTo60448639 https://qiita.com/MiyakeMito
本日の参考サイト ▪ Azure Logic Apps および Power Automate のワークフロー式関数のリファレン ス
ガイド https://docs.microsoft.com/ja-jp/azure/logic-apps/workflow-definition- language-functions-reference ▪ Power Automateで文字列を1文字ずつに分割する方法 https://qiita.com/h-nagao/items/e0153b9a2c700cc2c95e ▪ Power Automateでのソート (Loopなし) https://qiita.com/h-nagao/items/765826be914fbf08bd02 ▪ Power Automate で配列をシャッフルする方法 https://mofumofupower.hatenablog.com/entry/2020/10/06/160200
配列(array) とは
配列とは ① • 変数(値を入れておく箱)が複数つながったもの • それぞれの箱は、配列の「要素」と呼ばれます • また配列の要素には、「添え字」という番号が割り当てられています • Power
Automateでは添え字を0から数えます 変数 0 1 2 3 4 5
配列とは ② • 一つの配列では、 同じ型のものしか扱えません 同じ性質の値だけをいれるようにします • ブラケットで囲み、各アイテム(要素)はカンマで区切ります(JSON) • データを取得する際は、添え字(何個目のデータ)を指定します
• Powe Automate は、文字列も一つ一つの文字の連続(=配列)として 解釈できます [ 1, 3, 2, 4, 0, 2 ]
配列とは ③ ぶき ぼうぐ ▪ おや・・・? クリスタル レイク 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] ]
関数(function) とは
関数とは ① ▪ 関数とは自動販売機のようなものである 引数(Input) 戻り値(Output) 関数(function)
関数とは ② ▪ 関数とは自動販売機のようなものである createArray() (1,3,2) [1,3,2] createArray()
Power Automate の配列関数 変換関数
配列を作る ⚫ array() 1 つの入力から配列を返します ⚫ createArray() 複数の入力から配列を作成して返します 1つの入力からも作成可能なので ➢
常にcreateArray()を推奨 ➢ アクションの[変数を初期化する]や[作成]でも作成可能
Power Automate の配列関数 コレクション関数
配列を捜索する ⚫ contains() コレクションに特定の項目があるかどうかを確認します ⚫ empty() コレクションが空かどうかを調べます ⚫ length() 文字列または配列内の項目の数を返します
➢ 文字列の場合、全角も半角も1として数える (サロゲートペア(UTF-16)は2)
配列から要素を取得する ⚫ first() コレクションから最初の項目を返します ⚫ last() コレクションから最後の項目を返します
配列から要素を取得する ⚫ skip() コレクションの先頭から項目を削除し、"他のすべて" の項 目を返します ⚫ take() コレクションの先頭から項目を返します ➢
パラメータがStringの場合は substring() で代用可
配列から要素を取得する ⚫ join() 配列の "すべて" の項目を含み、指定された区切り記号で 各項目が区切られた、文字列を返します ➢ [結合]と同じ
配列から要素を取得する ⚫ intersection() 指定したコレクションすべてに共通する項目 "のみ" を含む コレクションを返します ⚫ union() 指定した複数のコレクションの
"すべての" 項目を含む 1 つの コレクションを返します [ ],[ ],[ ] [ ] [ ],[ ],[ ] [ ]
配列から要素を取得する ⚫ item() 配列に対する繰り返しアクションの内部で使うと、アク ションの現在の繰り返しの間に配列の現在の項目を返しま す Apply to each で
[データ操作]-[選択]や [アレイのフィルター処理]
Power Automate の配列関数 文字列関数
配列から要素を取得する ⚫ split() 元の文字列で指定された区切り文字に基づいたより大きい 文字列から、コンマで区切られた部分文字列を含む配列を 返します ⚫ replace() 部分文字列を指定した文字列で置換し、更新された文字列 を返します
Power Automate の配列関数 算術関数
配列から要素を取得する ⚫ max() 数値のセットまたは配列から最大の値を返します ⚫ min() 数値のセットまたは配列から最小の値を返します ⚫ range() 指定した整数から始まる整数の配列を返します
123 123
Power Automate の配列関数 JSON関数
配列から要素を取得する ⚫ addProperty() JSON オブジェクトにプロパティとその値または名前と値 のペアを追加し、更新されたオブジェクトを返します ⚫ setProperty() JSON オブジェクトのプロパティの値を設定し、更新され
たオブジェクトを返します ⚫ removeProperty() JSON オブジェクトからプロパティを削除し、更新された オブジェクトを返します
Power Automate で配列操作 応用編
Power Automateで配列操作 [関数] item() range() substring() union() [データ操作] 可能性(出来ること)が無限大
文字列を1文字ずつに分割 substring(outputs('target_text'),item(),1) range(0,length(outputs('target_text')))
配列をソート ① substring(outputs('mapping_Text'),item(),1) ▪ ソートマッピングを作成 range(0, length(outputs('mapping_text')))
配列をソート ② Item() ▪ ソートマッピングを基にソート output(‘mapping_array’) output(‘target_array’)
配列をシャッフル ① rand(0,length(outputs('target_array'))) ▪ ターゲットの要素数×100個の、0~要素数のランダムな 数字を含む配列を作成 range(0,mul(length(outputs('target_array')),100))
配列をシャッフル ② ▪ Union()で出力される配列は、第一引数の要素順になります union(body('random_array_work'),range(0,length(outputs('target_array'))))
配列をシャッフル ③ ▪ 生成したランダムな配列を、添え字として指定 outputs('target_array')?[item()] outputs(‘random_array')
Power Automate と Power Virtual Agents で ゲームを作ってます ⚫ オセロ
⚫ 神経衰弱 ⚫ どうぶつしょうぎ ➢ 公開中 https://github.com/MiyakeMito/Repository ➢ インポート手順 https://qiita.com/MiyakeMito/items/b2df9ca9832fbce26a0d
まとめ 配列は便利 配列を制するとPower Automateが もっと楽しくなる 使いこなして面白フローをつくろう!
ありがとうございました