このページの本文へ

松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第8回

「動的なコンテンツ」のデータを柔軟に加工して扱うための必須手段を試して覚える

Power Automate / Azure Logic Appsの「式」を理解しよう

2021年11月25日 08時00分更新

文● 松本典子 編集● 大塚/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 こんにちは、Microsoft MVP(Azure / Business Applications)の松本典子です。本連載の第8回となる今回は「Power Automate / Azure Logic Appsの式」について紹介します。

1. 「動的なコンテンツ」と「式」

ワークフローの一例

 Power AutomateやAzure Logic Apppsでワークフローを作成する場合、図のようにコネクタ(最初のコネクタを「トリガー」、2つ目以降は「アクション」と呼ぶ)を追加していくことは、これまでの連載でも紹介してきました。

 そして、あるコネクタが取得した結果(データ)は、後続のコネクタに渡して処理に使うことができます。このとき、通常は「動的なコンテンツ」という機能を用いてデータの受け渡しをします。たとえば上の図中では、「アレイのフィルター処理」コネクタの処理設定の中で、いくつかの動的なコンテンツを選択しています。

「動的なコンテンツ」の例

 このように、動的なコンテンツとして表示される項目は後続のコネクタで選択するだけで利用可能です。ただし、コネクタが取得したデータそのままではなく、そのデータを計算したり加工/変換したりしてから使いたい場合もあるでしょう。また、コネクタが取得するすべてのデータが「動的なコンテンツ」として表示されるわけでもありません。

 「動的なコンテンツ」だけではできない処理を行うために、Power Automate / Azure Logic Apppsには、もうひとつのデータの受け渡し方法として「式」という仕組みも用意されています。「動的なコンテンツ」と「式」の違いは以下のようなイメージです。

  • 動的なコンテンツ:前のコネクタ(トリガー、アクションによる処理)で得られた結果データそのものを、後続のコネクタが利用できる
  • 式:前のコネクタで得られた結果データに何らかの加工をしたり、取得はできているが「動的なコンテンツ」として表示されないデータを読み出したりして、後続のコネクタで利用できる

2. Power AutomateやAzure Logic Apppsの「式」とは

 Power Automate / Azure Logic Apppsにおける「式」とは、データを返すための簡単な関数(1つ、または複数の組み合わせ)です。たとえばコネクタでの処理に適した形式に日付の書式を変換したり、2つの文字列を1つに統合したりするなど、動的なコンテンツだけでは対応できない多くの処理が可能になります。

3. 「式」を使ったワークフローの作成

 ――と、このように言葉で説明してもなかなかピンとこないですよね(筆者も説明するのに苦労しています……)。実際に簡単な式を使ったワークフローを作ってみたほうが理解しやすいと思います。そこで今回は、複数の文字列を結合できる「concat」関数を使ったワークフローを作成してみましょう。

3-1. concat関数を使ったワークフローを作成する

concat関数を使ったワークフロー

 この非常にシンプルなワークフローでは、Power Automateのモバイルアプリでボタンをタップすると、concat関数の中で指定した文字列を結合し、モバイル通知として表示します。

ワークフローの作成

 ワークフローは次の手順で作成していきます。

  1. トリガーを設定します。今回は「手動でフローをトリガーします」をクリック
  2. アクションを設定します。「+新しいステップ」をクリックし、コネクタの検索窓に「データ操作」と入力して「作成」コネクタをクリック
  3. 最初は「動的なコンテンツ」タブが表示されるので「式」タブをクリックして表示を切り替えます
  4. 式(関数)の一覧はカテゴリ分けされており、最初は代表的なものしか表示されません。「もっと見る」をクリックすると、利用できるすべての式が表示されます

 今回は「文字列関数」カテゴリの一番上に表示されている「concat」をクリックします。

「もっと見る」をクリックすると、使える式(関数)がすべて表示される

3-1-1. concat関数の設定

関数を選択した時の表示

 「concat」をクリックすると、式の入力欄にconcat関数が入力されて図のような表示に変わります。

concat関数に文字列を入力

 concat関数は「concat(文字列1,文字列2,……,文字列n)」という形で文字列を列記することで、それらをすべて結合した値を返します。今回は「WorkFlow」と「01」という2つの文字列を結合するように設定してみます。

  1. 文字列は「'(シングルクォーテーション)」で囲み、「,(カンマ)」で区切ります
  2. 文字列を入力すると図のようにヘルプが自動で表示されます。入力すべき内容がわからないときなどは参考にしてください

入力が完了した状態

 図のように式が入力できたら「OK」ボタンをクリックします。

notificationコネクタの設定

 最後にモバイル通知のアクションを追加します。「+新しいステップ」をクリックし、検索窓に「notification」と入力して「Send me a mobile notification」コネクタを選択します。

 通知テキストの入力欄(Text欄)に「動的なコンテンツ」から「出力」を選択すると、先ほど作成した式(concat関数)の処理結果がここに入り、モバイルデバイスの通知内容となります。

 ここまででワークフローは完成です。忘れずに画面上部の「保存」をクリックして、ワークフローを保存しておきましょう。

3-1-2. ワークフローをテスト実行する

 画面上部の「テスト」をクリックし、手動でワークフローを実行します。テスト実行後には、各コネクタの具体的な入力/出力内容が表示されます。

ワークフローのテスト結果

モバイルデバイスの通知

 このように、notificationコネクタのText部分には、concat関数を使った式で結合された「WorkFlow01」が出力されています。モバイルデバイスにもこのテキストが通知として表示されるはずです。

3-2. 式と動的なコンテンツを組み合わせて使う場合

式と動的なコンテンツを組み合わせたワークフロー

 動的なコンテンツのデータを加工して使いたい場合などは、式と動的なコンテンツを組み合わせて(式の中に動的なコンテンツを組み込んで)使うと便利です。そうしたワークフローも作成してみましょう。

 ここでは、先ほど3-1で作成したワークフローを修正していきます。

3-2-1. アクション(コネクタ)の追加

 まず、3-1で作成したワークフローを開きます。トリガーとして使用している「ボタン」コネクタには、動的なコンテンツとして「日付」(ボタンをタップした日付)があります。今回はこれを後続のコネクタで使いたいので、アクションを1つ追加します。

アクションの追加

 トリガーから下に伸びる矢印にマウスを合わせると、「+」とともに「新しいステップを挿入します」と表示されるので、これをクリックしたのちに「アクションの追加」をクリックします。

変数コネクタの選択

 検索窓に「変数」と入力し、表示されるアクション一覧から「変数を初期化する」をクリックします。なお変数とは、何らかの値を一時的に保存しておくための“名前付きの箱”のようなものです。

変数コネクタの設定

 変数を初期化するアクションは、以下のように設定します。

  1. 名前:今回は「日付」と入力
  2. 種類:「文字列」を選択
  3. 値:動的なコンテンツから「日付」を選択

 これにより、「日付」という名前の変数に動的なコンテンツ「日付」の値(ボタンをタップした日付)が格納されます。

3-2-2. concat関数の修正

作成コネクタ

 続いて、先ほどconcat関数を使って作成した式を修正します。図のように作成コネクタの「concat()」部分をクリックします。

concat関数部分の修正

 ここでは、先ほど「01」とした文字列を日付に置き換えてみましょう。まず、concat関数部分の「'01'」を削除します。

動的なコンテンツの追加

  1. マウスカーソルが「,(カンマ)」の右側にある状態で「動的なコンテンツ」タブをクリック
  2. 「変数」一覧に表示されている「日付」をクリック

 上図のような表示になったら「更新」ボタンをクリックします。これで式の修正が完了しました。

 なお、最後のnotificationコネクタの修正はありません。ここまで作業したら忘れず「保存」をクリックしてください。

3-2-3. ワークフローをテスト実行する

 画面上部の「テスト」をクリックし、手動でワークフローを実行します。

 

ワークフローのテスト結果

モバイルデバイスの通知

 先ほどと同様にconcat関数で結合した文字列が出力されますが、3-1と違って「WorkFlow+日付」という結果に変わっています。

最後に

 このように、動的なコンテンツに加えて式も利用することで、より複雑な処理をワークフローで自動化することが可能になります。

 なお、式として使える関数の種類は非常に多くあります。最初はどんな関数があるのか、またどう使えばよいのかわからないと思いますが、以下の公式ドキュメントでも紹介されていますので、よく使うものから1つずつ覚えて活用してみてください。

●Azure Logic AppsおよびPower Automateの式で関数を使用するためのリファレンス ガイド

カテゴリートップへ

この連載の記事