- 定数って何?
- データ操作の作成って何に使うの?
この記事では、そんな方に定数とデータ操作の「作成」の使い方を紹介します。
この記事を読むと定数を理解でき、さらに読みやすいフローを作れるようになります。
定数とは
定数は変数の一種です。
数値・文字・配列・JSONオブジェクトなど好きな値を設定できますが、一度設定すると内容を変えることはできません。
PowerAutomateだと定数は勝手に作成されます。
定数が作られるのは、データを取得するアクションです。
例えば、Excelの表を取得する「表内に存在する行を一覧表示」で定数ができます。
定数の情報はこちら。
定数名 :表内に存在する行を一覧表示
データ型:JSON
定数は関数で呼び出します。
outputs('表内に存在する行を一覧表示')?['body/value']
呼び出したデータ
[ { "@odata.etag": "", "ItemInternalId": "d0d25a8d-347c-4af2-84c5-02430b818f35", "Date": "44805", "久保": "休", "渡辺": "休", "中村": "朝" }, { "@odata.etag": "", "ItemInternalId": "2c1caf35-b535-4adc-8bb4-968601ecd01c", "Date": "44806", "久保": "休", "渡辺": "朝", "中村": "休" } ]
一度作った定数はこのフローの中で、
- いつ呼び出しても内容は変わらない
- 内容を変えることはできない
という状態です。
定数の内容を変更したい場合、変更内容を別の定数・変数に入れて使用します。
通常のプログラミングはデータ取得と変数への格納を同時に行います。
PowerAutomateは変数への格納がアクションとして独立しているのでデータ取得と同時に行えません。
なので取得したデータは自動的に定数に入ることになります。
定数になるアクション
データを取得するアクションは全て定数になります。
定数を作るアクションの一部を紹介します。
コネクタ | アクション |
---|---|
データ操作 | 作成 |
データ操作 | アレイのフィルター処理 |
データ操作 | 選択 |
データ操作 | 結合 |
ExcelOnline(Business) | ワークシートの取得 |
ExcelOnline(Business) | 表内に存在する行を一覧表示 |
ExcelOnline(Business) | テーブルの取得 |
SharePoint | フォルダーの一覧 |
データ操作の「作成」を使う
「作成」をうまく使うとフローが見やすく編集が簡単になります。
データ操作の「作成」は定数を作る代表的なアクションです。
Teamsで下記メッセージを送るフローを考えます。
今日は11月11日です。
MicrosoftTeamsの「チャットまたはチャネルでメッセージを投稿する」アクションを追加します。
メッセージにこちらの式を直接入れると現在の日付を取得できます。
formatDateTime(utcNow(),'%M月%d日')
これで目的のメッセージを送信できました。
次に「作成」で定数を使ったパターンを見てみます。
データ操作の「作成」アクションを追加。※アクションの名前を「○月○日(現在)」に変更します。
現在の日付を取得する式を入力します。
formatDateTime(utcNow(),'%M月%d日')
MicrosoftTeamsの「チャットまたはチャネルでメッセージを投稿する」アクションを追加。
メッセージに定数を呼び出す式を入れます。
outputs('○月○日(現在)')
これでも同じ結果になります。
「作成」を使うとメッセージに何が入力されているのか一目でわかるようになりました。
このように見やすくするために作った定数(変数)をプログラミングでは説明変数と呼びます。
説明変数は何が入っているのか一目でわかるようにしたいので、アクションの名前を「作成」から変更して使いましょう。
ループ処理の中にある定数
ループ処理の中にある定数は、ループ中とループ後で状態が変わります。
ループ中:ループを1回繰り返す毎に値がリセットされる。
ループ後:ループ内でセットされた値が配列になって保存される。
いきなりですが、こんなループ処理を試してみます。
このループは2回処理されます。
1回目・・「作成」に1を入れる
2回目・・「作成」に2を入れる
「作成」は定数なので本来は変化しないはずですが、
フローを動かすと、ループ回数によって「作成」の値が変化しています。
ではループを抜けた後に「作成」がどうなっているか見てみます。
データ操作の「作成」アクションを追加。※2つめの「作成」なので名前は「作成_2」です。
この「作成_2」の中で「作成」を呼び出す式を入力します。
outputs('作成')
ループ中に設定された1と2が配列として保存されていました。
私はループ中の値がループ後に配列としてセットされる仕様を知りませんでした。
今までは事前に「変数の初期化」で配列(アレイ)を作成して、ループの中で「変数配列に追加」で1つずつ追加していたので時間の無駄でした(涙)
まとめ
PowerAutomateにおける定数とデータ操作の「作成」の使い方を紹介しました。
定数は勝手に作成されるものですが、自分で作る事で説明変数としてフローを見やすくすることができます。変数より定数の方が使うことが多いので扱いを覚えておきましょう。
PowerAutomateのおすすめ記事
人気ページ
Apply to eachの使い方
アレイのフィルター処理の使い方
日付関数の使い方
エラーを無視する方法
メールの内容をExcelへ転記
メール本文から名前を抽出
>>PowerAutomateの記事一覧を見る<<
お気に入り必須!公式ページ
Microsoft Power Automate
式関数のリファレンス
コネクタのリファレンス
Excel Online (Business)のリファレンス