複雑な式の作成
複雑な式は、複数の関数を組み合わせて必要な結果を取得する場合に使用します。 これらの式については、数学関数および日付と時刻関数のセクションで既に例を挙げて説明しています。 3 つの数字を加算するために、次のような 2 つの add 関数をどのように組み合わせる必要があるかを学びました。
add(add(12,13),15)
結果として、出力は 40 になります。
次に、utcNow 関数を使用して現在の日時を取得し、次に示すように、convertFromUtc を使用してそれを東部標準時に変更する方法を学びました。
convertFromUtc(utcNow(), 'Eastern Standard Time', 'dd-MM-yyyy hh:mm tt' )
結果の出力は 09-02-2024 11:28 AM になります。
複雑な式では、1 つの式に複数の関数があり、1 つの関数の出力を別の関数の入力として使用します。 特別な構文、演算子、または考慮事項はありません。
複雑な式の最後の例として、手動でフローをトリガーするトリガーの一部として入力をいくつか追加し、その入力を式に使用して新しい時間を計算するというシナリオを考えてみます。 式のテストまたは新しいフローの作成に使用した、次のようなサンプル フローを使用できます。
ここで、手動でフローをトリガーしますの下の入力の追加 を選択し、数値を追加します。 次に、入力の追加を再度選択し、日付を追加します。 トリガーは次のようになります。
次に、作成ステップで、トリガーからの日数を日付に加算する式を追加します。
addDays(triggerBody()?['date'], triggerBody()?['number'])
この式では、日付と時刻関数 addDaysおよび参照している関数 triggerBody を利用しています。
注
「トリガー本文に含める情報を確認する方法はあるのか」と疑問に思った場合、その考え方はあっています。 大切なのは、動的コンテンツを式に結合できるということです。 これを行うには、「addDays()」と入力して式を開始し、() の間でカーソルを使用して、動的コンテンツ を選択します。 その後、フィールドを選択できます。 これは、そのコンテンツを参照するための優れた方法であり、式の作成は Power Automate によって行われます。
フローをテストし、日付 2024-02-09 と数値 2 を入力した場合、出力は 2024-02-11T00:00:00.0000000 になります。 これは 2024 年 2 月 11 日の UTC 形式です。
次の式で別の作成アクションを使用することによって、曜日を調べることができます。
dayOfWeek(outputs('Compose'))
"作成" アクションからの出力は 2024-02-11T00:00:00.000000 です。 Compose1 の出力は 0 で、日曜日を表します。 日曜日は 0 で、曜日ごとに 1 ずつ増えていきます。 作成したものを検証するために、現在のフローのスクリーンショットを次に示します。
次に、選択した日付が木曜日かどうかを確認するための、もう 1 つの作成ステップを追加します。 次の式を入力します。
if(equals(outputs('Compose_1'),4), 'You chose a Thursday', 'You didn't choose a Thursday')
2024 年 2 月 9 日では、「木曜日を選択していません」という文字列が返されます。
この例は、複雑な式の典型的な構築パターンであり、個別のステップで各構成要素を作成しています。 これで、必要な関数をすべて使用できるようになったので、もう 1 つの作成ステップを追加します。 追加された "作成" で、1 回のステップですべてを実行する大きな式を 1 つ作成します。 式は次のようになります。
if(equals(dayOfWeek(addDays(triggerBody()['date'], triggerBody()['number'])),4), 'You chose a Thursday', 'You did not choose a Thursday' )
2024 年 2 月 9 日の出力は、"木曜日を選択していません" となります。これで作業は完了です。 複数の小さなステップを実行し、最終的にそれらのステップをまとめて複雑な式を記述しました。