Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Power Automateで配列を扱う②
Search
MiyakeMito
March 05, 2022
Technology
5.3k
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
Power Automateアップデート情報
miyakemito
0
380
マルチステージとAI承認について
miyakemito
1
190
Copilot Studioについて
miyakemito
8
10k
Dataverseの検索列について
miyakemito
2
2.1k
AI Builder について
miyakemito
3
1.2k
Microsoft Copilot Studio についてざっくり説明
miyakemito
2
1.9k
Power Automateのデータ操作(Data Operation)について (Ver.モダンデザイナー)
miyakemito
5
4.2k
JSON攻略法.pdf
miyakemito
13
7.4k
ガンダムBotを1分でつくってみせろよ
miyakemito
1
930
Other Decks in Technology
See All in Technology
セルフサービスのオブザーバビリティ基盤をOpenTelemetryで作る / Building a Self-Service Observability Platform with OpenTelemetry
ymotongpoo
3
410
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
160
AWS FinOps Agent 結局何が得意なの?
siromi
0
210
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
220
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
110
IR Today: Theory, Practice, and Agents
dtunkelang
0
140
手を動かして実感する、Kiro が変える開発体験
inariku
0
400
サーバーレスをどこまで使う? WebRTC対戦ゲームで選んだVPSとの共存設計
kaidouji85
0
470
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
1
610
Argo CDとAtlantisで実現するインフラ管理のセルフサービス化──小規模SREチームで支えるプラットフォーム
cassius7
0
210
Coil3を内部実装から読み解く~キャッシュ戦略とAVIF画像の描画〜/nikkei-tech-talk50
nikkei_engineer_recruiting
0
120
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
390
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
450
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5k
Designing Experiences People Love
moore
143
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
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が もっと楽しくなる 使いこなして面白フローをつくろう!
ありがとうございました