このページの本文へ

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

データやワークフローを操作するのに欠かせない関数に触れてみよう

覚えておくと便利なPower Automate/Azure Logic Appsの関数

2021年12月27日 11時00分更新

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

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

 こんにちは、Microsoft MVP(Azure / Business Applications)の松本典子です。本連載の第9回となる今回は、Power Automate/Azure Logic Appsの関数のうち、覚えておくと便利と思われる関数を紹介します。

0. 関数のタイプ

 前回の第8回では、Power Automate/Azure Logic Appsの「動的なコンテンツ」と「式」の違いについて紹介し、式の中に関数(1つまたは複数)を組み込んでデータ操作ができると紹介しました。

 Power Automate/Azure Logic Appsの関数は、目的とするものが見つけやすいように10種類のカテゴリーに整理されています。

デザイナー画面で関数を表示

  • 文字列関数:文字列を処理します(文字列でのみ機能)
  • コレクション:コレクション(通常は配列や文字列、場合によってはディクショナリ)を操作します
  • 論理関数:条件の処理、値と式の結果の比較、さまざまな種類のロジックの評価などを行います
  • 変換関数:値の型または形式を変更する場合に利用します
  • 数学(算術)関数:2つの数値を加算するなど整数と浮動小数点数を操作します
  • 日時:日付と時刻を処理します
  • 参照関数:あるアクションからの出力を参照し、後のアクションでそのデータを使用するなどの処理を行います
  • ワークフロー関数:実行時にワークフロー自体に関するすべての詳細やトリガーまたはアクションを呼び出す「コールバックURL」を返します
  • URI解析関数:URI (Uniform Resource Identifier) を処理して、URI のさまざまなプロパティ値を取得します
  • 操作:JSONオブジェクトとXMLノードを処理します

1. ワークフローの作成

 今回は、関数を使った場合にどんな結果(データ)が得られるかを確認するだけの、図のようなシンプルなワークフローを作成します。

関数検証用のワークフロー

 このワークフローは手動でトリガーするようになっていますが、トリガー時の「入力内容」と「作成」部分のみを都度変更して、結果がどうなるかを見ることにします。なお結果表示はワークフローのテストを手動で実行し、その結果を見ます。

 今回のように、ワークフローの動作確認や出力結果のみを確認したい場合は、このような簡単なワークフローを作ると便利です。

1-1. トリガーの設定

モバイルのFlowボタン

 まずはベースとなるワークフローを作成しましょう。

 トリガーは「モバイルのFlowボタン」を利用します。赤枠内の「+入力の追加」は、このあと関数利用時に適宜設定するので、ひとまずは何も設定しません。

1-2. アクションの設定(関数の入力)

「作成」アクションを追加

 アクションの設定を行います。ここではデータ操作の「作成」アクションを追加します。

  1. 検索窓に「データ操作」と入力
  2. 一覧から「作成」をクリック

作成アクションの「入力」

 「入力」の部分に式(関数)が入りますが、ひとまずは何も入力せずに進みます。

1-3. アクションの設定(結果の出力)

 次に、「1-2. アクションの設定(関数の入力)」と同じように検索窓に「データ操作」と入力し、一覧から「作成」をクリックします。

2つ目の「作成」アクション

  1. 2つ目の「作成」アクションになるので、名前は自動的に「作成2」となります
  2. 「入力」をクリックし、動的なコンテンツから「出力」を選択

2. 覚えておくと便利な関数

 以上のようなワークフローができたら、さまざまな関数を試してみましょう。

 以下ではさまざまな関数を紹介していますが、いずれも先ほど空欄にした「作成」アクションの「入力」に関数を入力してワークフローを保存し、「テスト」を実行すれば結果が表示できます。

2-1. 文字列関数:guid関数

 「guid関数」は、グローバル一意識別子(GUID)の文字列を自動生成します。GUIDは一意の(他と重複しない)ランダムなIDとなるので、たとえばファイルを自動生成するワークフローで重複しないファイル名を付ける場合などに役立ちます。

guid関数を使う

 「作成」コネクタの「入力」にguid関数を設定します。

guid関数の実行結果

 実行すると、このようにGUIDが自動生成されます。

2-2. 文字列関数:replace関数

 「replace関数」は、入力された文字列の一部分を指定した別の文字列で置換し、更新された文字列を出力します。

トリガーの入力

 まずは基になる文字列が必要です。トリガーの「+入力の追加」をクリックし、「テキスト入力」の項目を追加しておきます。「入力を指定してください」の項目には何も入力しません(Flowボタンのタップ時にテキスト入力が求められます)。

replace関数

 続いて「作成」アクションの「入力」にreplace関数を設定します。「式」→「文字列関数」→「もっと見る」をクリックすると、一覧にreplace関数が表示されます。あるいは式の入力欄に直接「replace(」と入力してもかまいません。

replace関数の内容

 replace関数はこのように「基となる文字列」「置換対象の文字列」「置換後の文字列」を列記する形になります。上記の例は、トリガーの「入力」で入力された文字列に「World」が含まれていたら、それを「Japan」に変更して出力するものです。

 なお「triggerBody()['text']」の部分は、「動的なコンテンツ」をクリックしてトリガーの「入力」を選択すると自動入力されます。

replace関数の実行結果

 テストを実行すると文字列の入力が求められますので、今回は「Hello World」と入力してフローを実行します。テスト結果を見ると、このように指定した文字が置き換わって出力されています。

2-3. 数学(算術)関数:add関数

 「add関数」は2つの数値を加算した結果を返します。今回はadd関数で1と2を加算してみます。

add関数

 「作成」コネクタにadd関数を入力し、図のように数字を入力します。このようにadd関数は「add(数値1,数値2)」というごく単純な書式です。

add関数の実行結果

 出力を見ると1+2の計算結果である「3」が出力されています。

 数学(算術)関数は、ワークフロー内で簡単な計算を実行したいときに便利です。ほかにも数値を減算するsub関数などがありますので、実際に動作を確認してみてください

2-4. 日付と時刻関数:addDays関数

 「addDays」は、入力された日付と時刻(タイムスタンプ)に、指定した日数を加算して出力する関数です。たとえば「ワークフローの実行時点から7日後」のような出力が得られるわけです。

「変数を初期化する」アクションを追加

 今回は、フローをトリガーしたタイムスタンプに10日を加算してみます。まず、トリガーの直下に「変数を初期化する」アクションを追加します。

  1. 名前:わかりやすい変数名を入力(今回は「timestamp」)
  2. 種類:「文字列」を選択
  3. 値:動的なコネクタから「タイムスタンプ」を選択

addDays関数を入力

 「作成」アクションの入力部分に、次のようなaddDays関数を設定します。

addDays関数の詳細

 「式」で「addDays(」と入力したあと、「動的なコンテンツ」で表示される変数timestampをクリック、さらに「,10)」を追記します。これで、変数timestampに設定された日時に10日を加算した結果が出力されます。なお加算する数字を「-10」のようにマイナス表記すると、減算することも可能です。

addDays関数の結果

 実行結果を見てみましょう。ワークフローを実行したタイムスタンプの日付は「12-15」ですが、出力は「12-25」と10日加算された日付が表示されました。

 今回ご紹介したaddDays関数このほか、タイムスタンプに時間を加算する「addHours」関数などもあります。日付と時刻の操作はよく使うと思いますので、いくつか知っておくと便利でしょう。

最後に

 今回は、覚えておくと便利な関数をご紹介しました。ご紹介できた関数はごく初歩的なものであり、Power Autoamte/Logic Appsで利用できる関数はまだまだ多くあります。以下の公式ドキュメントも参考にして、どのような関数があるのかを探索してみてください。

カテゴリートップへ

この連載の記事