Power Automateで使用するODataフィルタークエリの書き方(Dataverse for Teams)
こんにちは!フロッグポッドの鈴木です。
今回はPower AutomteのDataverse「行を一覧にする」アクションに使用する「行のフィルター」について記事を書こうと思います。
*今回の記事の内容はTeams版のPower AutomteとDataverse for Teamsを利用しています。
Power Automate内でDataverseの情報を取得したいときにDataverseコネクタの「行を一覧にする」アクションを利用すると思います。
そのアクション内の「行のフィルター」に絞り込み条件を記述すると特定のレコードのみ取得することができます。
*参考にした公式のドキュメントは以下のリンクです
Web API を使用したデータのクエリ (Microsoft Dataverse) - Power Apps | Microsoft Learn
今回使用するテーブルは下記のテーブルです。
フィルタークエリの書き方は
【列の論理名 フィルタ演算子 値】で書きます。
なのでまず絞り込みをしたい列の論理名を確認します。
Dataverse for Teamsの対象列の「・・・」をクリック、その後「編集」をクリックしてください。
右側に「列の編集」が表示されると思いますので、"高度なオプション"をクリックすると
論理名が表示されるのでコピーしておきましょう。
これでName列の論理名がわかりました、同様の方法で必要な列の論理名を確認してください
これで論理名がわかったので、あとはフィルター式を書いていくだけです!
比較演算子
eq:等しい
【例】名前が田中太郎のレコードを取得する
crff9_name eq '田中太郎'
ne:等しくない
【例】名前が鈴木次郎以外のレコードを取得する
crff9_name ne '鈴木次郎'
gt:より大きい
ge:以上
【例】従業員番号が2より大きいレコードを取得する
crff9_employee_no gt 2
lt:より小さい
le:以下
【例】従業員番号が4以下のレコードを取得する
crff9_employee_no le 4
論理演算子
and:論理積
【例】名前が鈴木次郎かつ従業員番号が5以下のレコードを取得する
crff9_name eq '鈴木次郎' and crff9_employee_no le 5
or:論理和
【例】名前が佐藤三郎または従業員番号が4以上のレコードを取得する
crff9_name eq '佐藤三郎' or crff9_employee_no ge 4
not:論理否定
【例】名前に"佐藤"の文字が含まれていないレコードを取得する
not contains(crff9_name ,'佐藤')
グループ化演算子
():優先順位によるグループ化
演算子には優先順位があり、論理演算子は比較演算子のあとに評価される、andとorだとandが先に評価される等、処理の順番が決まっているため
優先的に評価してほしい場合は()で囲むようにしましょう。
標準クエリ機能
contains:〇〇を含む
【例】名前に"田中"の文字が含まれているレコードを取得する
contains(crff9_name ,'田中')
endswith:〇〇で終わる
【例】名前が郎で終わるレコードを取得する
endswith(crff9_name ,'郎')
startswith:〇〇から始まる
【例】名前が山で始まるレコードを取得する
startswith(crff9_name ,'山')
今回はPower Automateのフィルタークエリの書き方についてご紹介させていただきました!
複数のフィルタークエリを組み合わせたり変数を使ってみたりすることで、さまざまなことにも応用できると思います!
皆さんもぜひ試してみてください。
最後までお読みいただき、ありがとうございます。
以上、フロッグポッドの鈴木でしたー!
フォローしませんか?
お気軽にご依頼・ご相談ください