PL-200 学習メモ (9) : Power Automate（ライセンス、条件分岐・繰り返し・変数）

# はじめに
この投稿は PL-200: Microsoft Power Platform 業務コンサルタントの学習をした内容のメモです。

投稿の一覧は以下のリンク先にあります。

https://qiita.com/atsmin77/items/f25bd707921c421cee03

# 前の投稿

https://qiita.com/atsmin77/items/758c7f80d883acb625fb

# Power Automate のライセンス

| 名前 | 金額 | 備考 |
|:-:|:-:|:-:|
| Power Automate Premium | $15/per user | ユーザーごとに課金されるライセンス、アプリの数は無制限（per user plan から名前が変わった？）、30 日間の無料試用あり  |
| Power Automate Process | $150/per bot  | Power Autoate Desktop フローの非アテンド型モードの料金も含まれる、30 日間の無料試用あり  |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/b6d066aa-3bb7-a0e2-99b4-2827babdbb32.png)

https://powerautomate.microsoft.com/ja-jp/pricing/

https://learn.microsoft.com/ja-jp/power-automate/organization-q-and-a

初回サインイン時は画面が英語で表示されました。言語は [設定] から変更することができました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/501086b9-af41-597e-5e7c-2e1287d0313a.png)


# トリガー

| 種類 | 説明 |
|:-:|:-:|
| 手動フロー  | 手動でボタンをクリックしてフローを実行します。  |
| スケジュールフロー  | 30 分毎など設定したスケジュールに従ってフローを実行します。  |
| クラウドフロー  | イベントを契機としてフローを実行します。設定できるイベントは Dataverse テーブルへのレコードの登録、Teams の新規投稿など多数用意されています。  |

https://learn.microsoft.com/ja-jp/power-automate/triggers-introduction?tabs=classic-designer

# コントロール（条件分岐・繰り返し・変数）

## 条件分岐

**条件**（If）、**スイッチ** のアクションを利用して条件に応じてフローを分岐させることができます。

| 名前 | 説明 |
|:-:|:-:|
| 条件（If/Else）  | 指定した条件の True / False でフローを分岐させます。 |
| スイッチ  | 指定した値の内容に応じてフローを分岐させます。IF/Else とは異なりフローを 3 つ以上に分岐させることができます。   |

"条件" と "スイッチ" は [組み込み] の [Control] アクションの中にあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/c015b39d-1a21-24fb-8b70-1605f3eeca3c.png)

https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/use-conditionals

## 繰り返し

アクションで取得したリストの内容について 1 つずつ処理を実行する場合などは、繰り返し処理のアクションを利用します。繰り返しには **それぞれに適用する** や **Do Until** が利用できます。

| 名前 | 説明 |
|:-:|:-:|
| それぞれに適用する | アクションで取得したリストについて 1 つずつ処理を行います。 |
| Do Until  | 指定した条件が True の間、繰り返し処理を行います。  |

"それぞれに適用する" や "Do Until" も [組み込み] の [Control] アクションの中にあります。

* Dataverse テーブルの内容を取得して、1 行ずつ処理を行う例

[行を一覧にする] アクションで取得したテーブルについて、[それぞれに適用する] で 1 行ずつ繰り返し処理を行っています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/e27934f2-199e-a807-ee9c-898223a15178.png)

https://learn.microsoft.com/ja-jp/power-automate/desktop-flows/use-loops

## 変数

変数を利用してアクションの結果などを格納したり、数値のカウンタを作成することができます。

変数に関するアクションは [組み込み] の [Variable] にあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/55f6a672-9a38-8e16-4dfe-3b959214d58a.png)

### 変数の初期化

変数の初期化は  [変数の設定] アクションで行います。

変数のデータ型や初期値を設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/8e76666a-144d-99b6-7ad7-14bc361a5db0.png)

### 変数の参照

作成した変数は他のアクションや条件分岐などから参照したり、値を増減させることができます。

::: note warn

変数の値を増減させるには [変数の値を増やす] / [変数の値を減らす] アクションを利用します。 
[変数の設定] アクションで変数を現在の値から増減させようとすると、以下のようなエラーになってできません。
"Self reference is not supported when updating the value of variable"
※ 変数の自己参照はサポートされていません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/9e8f2910-39e9-f03f-e043-33b2b83c3197.png)
:::

::: note info
フローの実行履歴では条件分岐の評価結果は [expressionResult] として表示されます。しかし、評価された際の変数の内容などの詳細は確認できません。
確認したい場合は、[Data Operation] の **生成** (Compose) に変数の内容を出力しておくと、条件式が評価された際の変数の内容を確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/255fefca-c325-cb39-d7a0-6488984d625b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/9984d219-3c94-0b8e-050a-66093c5debf8.png)
:::

https://learn.microsoft.com/ja-jp/power-automate/create-variable-store-values?tabs=classic-designer

# 次の投稿

https://qiita.com/atsmin77/items/b0afa21e7451cbf69ccb