7.3K Views
March 24, 24
スライド概要
気ままに勉強会 #79 気ままになんでもLT会~ 第2回 ~ で登壇させて頂いたLT資料です。
イベントURL : https://kimamani.connpass.com/event/312301/
Power Automate のクラウドフローで数学の集合を使ってデータ操作するフローを説明しています!
Microsoft 365 , Power Platform ( Power Apps | Power Automate )とか
Power Automate で 集合! データ操作の話 ふらり@ROBO BOY 気ままに勉強会 #79 2024/03/16
ふらり @ ROBO BOY Community : ふらっと純喫茶 、気ままに勉強会 X : https://twitter.com/flali_world Blog : https://flali.hatenablog.com/ Docswell : https://www.docswell.com/user/fworlddocs @flali_world 2
はじめに 本資料に掲載されている内容は、 いつか人になりたいと思っている の空想上の出来事です。 内容間違っていたらごめんなさい。 @flali_world 3
あじぇんだ 1. 集合! 2. LEVEL.1 和集合、積集合 3. LEVEL.2 差集合 4. LEVEL.3 対称差集合 5. さいごに @flali_world 4
集合! 和集合、積集合 5
Microsoft Power Platform Power BI Power Apps Power Automate Power Pages Copilot Studio Business analytics Application development Workflow automation Business website Intelligent Copilots • Canvas Apps • Model-driven Apps Microsoft Dataverse Power FX • Cloud Flows & Teams Flows • Business Process Flows • Desktop Flows Managed Environment Data Connecters AI Builder @flali_world 6
集合とは? wikipadia より 集合(しゅうごう、英: set, 仏: ensemble, 独: Menge)とは数学 における概念の1つで、大雑把に言えばいくつかの「もの」からな る「集まり」である。集合を構成する個々の「もの」のことを元 (げん、英: element; 要素) という。 和集合(union) A B 引用元:集合 - Wikipedia @flali_world 7
4つの集合をやってみます! 和集合(union) A B 差集合 (difference) A B 積集合(intersection) A B 対称差集合(symmetric difference) A B 引用元:集合 - Wikipedia @flali_world 8
配列Aと配列B 配列Aと配列Bは下記のような要素を持っているとします。 配列A 配列B [ [ "111", "222", "333", "000" ] 共通の 要素 "444", "555", "666", "000" ] @flali_world 9
配列A と 配列B を定義します。 変数の初期化アクションで、配列Aと配列Bを定義します。 配列A 配列B @flali_world 10
LEVEL.1 和集合(union)、積集合(intersection) 11
和集合 (union) 配列Aと配列Bのすべてに含まれる要素。 ワークフロー関数での提供あり。(union関数) すべての要素を取得したいときに便利です。重複を排除したい場合などにも使います。 [ "111", "222", "333" ] A ["000"] B [ "444", "555", "666“ ] 式関数のリファレンス ガイド - Azure Logic Apps | Microsoft Learn @flali_world 12
Union 関数 (和集合) union関数を使って簡単に取得できます! 式関数のリファレンス ガイド - Azure Logic Apps | Microsoft Learn @flali_world 13
積集合 (intersection) 配列Aと配列Bの共通要素のみ。 ワークフロー関数での提供あり。(interscetion関数) 共有の要素を取得したいときに便利です。 A ["000"] B 式関数のリファレンス ガイド - Azure Logic Apps | Microsoft Learn @flali_world 14
intersection 関数 (積集合) intersection関数を使って簡単に取得できます! 式関数のリファレンス ガイド - Azure Logic Apps | Microsoft Learn @flali_world 15
LEVEL.2 差集合 16
差集合 (difference) 差集合とは、配列Aと配列Bのうち、配列Aにのみ含まれる要素。 ワークフロー関数での提供はなし。アレイのフィルター処理アクションを利用することで実現可。 差分を取得したいときに便利です。 [ "111", "222", "333" ] A B @flali_world 17
アレイのフィルター処理をつかう(差集合 , differrence) アレイのフィルター処理を使い、配列Bに配列A(Formで指定)の要素が含まれているを確認し (contains(variables(‘配列B’),item()) 、含まれていない場合(is not equal to true)に該当する 要素を条件にフィルターすることで取得できる。 配列Bに配列Aのアイテムが含まれて(contains)いない(not) @flali_world 18
LEVEL.3 対称差集合 19
対称差集合(symmetric difference) 配列Aと配列Bのうち共通要素を含まない。 ワークフロー関数での提供はなし。フィルターアクションを利用することで実現可。 共通部分を含まなないすべての要素を取得できます。 [ "111", "222", "333" ] A B [ "444", "555", "666“ ] @flali_world 20
アレイのフィルター処理をつかう(対称差集合) union関数を使い配列Aと配列Bに含まれる要素を取得する(Formで指定。和集合)。 intersection関数で配列Aと配列Bの共有部分の要素を取得(積集合)し、contains関数で和集合の 要素に積集合の要素が含まれていない場合に該当する要素を条件にフィルターすることで取得。 配列Bに配列Aのアイテムが含まれて(contains)いない(not) @flali_world 21
アレイのフィルター処理の内容(対称差集合) union [ "111", "222", "333" From ] A ["000"] B [ "444", "555", "666“ ] intersection Filter Query Contains( 含む A ["000"] B , item()) に該当 しない is not equal to true @flali_world 22
結果:対称差集合(symmetric difference) 結果、対称差集合が取得できます。 [ "111", "222", "333" ] A B [ "444", "555", "666“ ] @flali_world 23
2.さいごに
さいごに オブジェクト型にも使えるよ! 数学的知識だいじ! 工夫や組み合わせでいろいろできる! @flali_world 25
Thank you ! ※ Microsoft、Microsoft 365、Office 365、Microsoft Dynamics、Microsoft Azure 、Power Platform 、 Power Apps、Power Automate、Power BI、Microsoft Dataverse 及び関連する名称並びにそれぞれのロゴは、米国 Microsoft Corporationの米国およびその他の国における登録商標です。※ QRコードの商標はデンソーウェーブの登録商標です。