Power Appsの使い方

Power AppsとPower Automateの使い方やできることがわかるブログを目指しています。

first()で Apply to each ループ回避する【Power Automate】

Power Automate クラウドフロー SharePoint コネクタの [ 複数の項目の取得 ] アクションを使用したとき、対象が1件のみのユニークなキーで取得した場合でも、Apply to each が自動で作成されてしまいます。

 

結果は1件だけだとわかっているとき、Apply to each が入ってくるのはうざいです。

 

解消方法

Apply to each を使わずに最初の1件だけ取得したい、扱いたい場合、first()関数を使用します。

 

以前の手順から出力を選択 の部分をコピーします。

すると、このようになっています。

@{outputs('複数の項目の取得')?['body/value']}

 

上記の、@{}の中を利用します。

outputs('複数の項目の取得')?['body/value']

 

これを、first()の中に入れれば、配列の1つ目の要素を指定する(取得する)ことができます。

first(outputs('複数の項目の取得')?['body/value'])

 

抜き出すこと自体は作成アクションでもできますが、のちの手順で動的な値を使いたい場合は、JSONの解析アクションが適しています。

 

適切なスキーマを指定して利用しましょう。

 

補足

ちなみに、レコードが取得できなかった場合、null が入ってきます。

レコードがない状態で[ JSONの解析 ]に入るとエラーが出てしまうので(書き方によっては回避できるかもですが)値が取得できない可能性がある場合は、条件分岐で null かどうか判定してから処理していきましょう。

Power Apps や Power Automate に関する仕事のご依頼は下記ページからお問い合わせください。
ZEE CitizenDevSupport