【コピペ用】Power Automate「複数の項目の取得」フィルタークエリ実例集|OData演算子まとめ
【コピペ用】Power Automate「複数の項目の取得」フィルタークエリ実例集|OData演算子まとめ

【コピペ用】Power Automate「複数の項目の取得」フィルタークエリ実例集|OData演算子まとめ

Power Automateの「複数の項目を取得」で使うフィルタークエリ(OData)の書き方を忘れがちなので、コピペで使える実例をまとめました。

2024/2/14追記:最近は自分でクエリ式を書くことが減り、GPTに式を作ってもらうことが増えたので、そちらの内容も記事にしました。Power Automate ODataフィルタークエリ式やトリガー条件式の作成はGPTに任せるととても楽|生成AI最近Power PlatformでもGPTと一緒に開発する機会が増えたので、特に助けてもらっているポイントをメモ。AIとPower Platform最近色々とPower Platformの細かいところでAIに助けてもらうことが増えてきた。そ...ippu-biz.com2024.02.14 目次
  1. 【コピペ用】ODataフィルタークエリ演算子・記述例の早見表
    1. 比較演算子 早見表
    2. 論理演算子テーブル
  2. 補足:SharePointリストの列を日本語で作った場合
  3. 日付に関するフィルター式実例
  4. 詳細な動作検証
  5. 比較演算子の詳細な動作検証(スクリーンショットつき)
    1. 等しい:eq
    2. 等しくない:ne
    3. より大きい:gt
    4. より小さい:lt
    5. 以上:ge
    6. 以下:le
  6. 論理演算子の詳細な動作検証(スクリーンショットつき)
    1. かつ:and
    2. or
    3. かっこ()
  7. おまけ:ODataとは
  8. 関連記事

【コピペ用】ODataフィルタークエリ演算子・記述例の早見表

比較演算子 早見表 演算子意味記号イメージ記述例(コピペ用)補足eq等しい=Title eq '完了'文字列は ' で囲むne等しくない≠ (<>)Status ne '中止'gtより大きい>Price gt 1000指定値は含まないge以上≧Price ge 1000指定値を含むltより小さい<Price lt 1000指定値は含まないle以下≦Price le 1000指定値を含む 論理演算子テーブル 演算子意味記述例解説andかつPrice gt 1000 and Price lt 5000両方の条件を満たすものorまたはStatus eq '完了' or Status eq '保留'どちらか一方でも満たすもの( )優先処理(A or B) and Cかっこ内を先に評価する

補足:SharePointリストの列を日本語で作った場合

もしSharePointの列を日本語で作ってしまった場合は、Odataクエリに直すには少し工夫が必要。

まずSharePointのリストの設定へとアクセスして、 日本語で作った列をクリックする。 すると、その列のページへと遷移するので、アドレスバーのFieldIDの中身をコピーする。この値の頭に「OData_」を付けてあげた文字列が、その列名になる。 今回のサンプルリストの「数字」列の値でフィルターをかけたいときは、このような式になる。 「数字」列が8のやつだけ持ってきているので、結果は成功。

日付に関するフィルター式実例

2024/10/20追記:日付や日時に関するフィルター式の実例はこちらで紹介。

Power Automate SharePointの日付と時刻列(時間付き)のフィルタークエリ実例|今より前のデータ取得 など今回は前回の続きで「時間付き日付列」を対象としてフィルタークエリの実例。前回はこちら時間のフィルターについて日付の場合「2024-10-19」というフォーマットでフィルターを作成したが、時間が入る場合「2024-10-19T00:00:00...ippu-biz.com2024.10.26

以下、詳しい動作検証。興味のある方はぜひ。

詳細な動作検証

実際にSharePoint OnlineのリストとPower Automateを作って、実際に「複数の項目を取得」アクションでフィルターをかけてみる。

今回使用するリストはこんな感じで、 こんなPower Automateを準備して、順にフィルターをかけていく。

※最後のApply to eachは、フィルターがうまく動作しているかを見るためだけのものなので無視してOK。

比較演算子の詳細な動作検証(スクリーンショットつき)

まずは比較演算子。
  • eq : 等しい
  • ne : 等しくない
  • ge : 以上
  • gt : より大きい
  • le : 以下
  • lt : より小さい

以下実例。

等しい:eq リストからNumber列が3のアイテムを持ってきたい場合は、こんな感じ。 すると結果はこんな感じで、Number列が3のやつだけ持ってこれている。 等しくない:ne 逆にリストからTitle列がccc以外のアイテムを持ってきたい場合は、こんな感じ。※数字比較のときはあってもなくてもよい「”」だけど、文字列や日付を比較する際は必須 結果はこのようになる。4つのアイテムが取得できて、タイトル「ccc」のアイテムだけはじいてくれる。 より大きい:gt Number列が3より大きいものが欲しいときはこのような式になる。 結果はこんな感じで、2つだけアイテムが取得できる。 より小さい:lt 3より小さいものが欲しいときはこのような式。 結果は、Number列が1と2のアイテムだけ取得できる。 以上:ge 続いてNumber列が3以上のアイテムを取得。 結果はこんな感じで成功。 以下:le 最後はNumber列が3以下のアイテムを取得。 結果はこんな感じで成功。

論理演算子の詳細な動作検証(スクリーンショットつき)

条件が複数ある場合は、論理演算子で結合する。
  • and : かつ
  • or : または
  • () : かっこ(優先)

以下実例。

かつ:and Number列が3以上かつTitle列が「ddd」以外のアイテムが欲しい場合は、このような式。 とれたのは「ccc」と「eee」なので成功。 or Number列が4より大きい、またはTitle列が「aaa」のアイテムが欲しい場合は、こんな感じ。 結果は以下の通りで、Numberが5のアイテムと、Titleがaaaのやつが取れているので成功。 かっこ()

フィルタークエリにはかっこ()も使える。

例えば、(Number列が1または4)かつ(Titleが「aaa」または「ccc」のアイテム)といった指定はこのような式になる。 結果は以下の通りで、この条件に当てはまるアイテムは1個だけなので成功。

おまけ:ODataとは

ODataとはOpen Data Protocolの略で、HTTPを使ってやり取りするときに使うプロトコルのこと。

ODataを使ったフィルターの仕様(書き方)は、公式の情報が最も詳細に説明してくれている。 OData の filter リファレンス - Azure AI SearchAzure AI Search クエリでフィルター式を作成するために使用される OData 言語リファレンスと完全な構文。docs.microsoft.com

関連記事

Power Automate SPOリストのアクション「複数の項目の取得」で取得できるアイテムは(既定だと)100件までPower Automateにあるアクション「複数の項目の取得」について調べたことをメモ。事前:今回使用するリスト今回実験で使用するリストはこのアイテム数が501件のリスト。列「Num」に連番を振っているこのリストに対して、「複数の項目の取...ippu-biz.com2022.03.13 Power Automate Dataverse 関連する子テーブルを一覧で取得するときのフィルタークエリ|ODataクエリPower AutomateでDataverseの関連する子テーブルを一覧で列挙する際のフィルタークエリをよく忘れてしまうので、メモ。やりたいことこんな感じで「ねこ」テーブルと「食事履歴」テーブルで「1:多」のリレーションを張ったとき、Po...ippu-biz.com2023.08.27 Power Automate フィルタークエリでSharePointリストの型「はい/いいえ」の列を扱う方法|ODataPower Automateのアクション「複数項目の取得」で、型「はい/いいえ」の列をフィルターする方法を聞かれたので、メモ。やりたいこと画像のような「はい/いいえ」型の列を持つSharePointリストを、Power Automateフィ...ippu-biz.com2025.05.13 Power Automate Excelの「表内に存在する行を一覧表示」を徹底調査|委任、フィルタークエリ、最大行数Excelのテーブルからデータ(行)を複数取得するアクション「表内に存在する行を一覧表示」の細かな挙動が気になったので、色々調べてみた。アクション「表内に存在する行を一覧表示」Excel Onlineのアクション「表内に存在する行を一覧表示...ippu-biz.com2025.03.18
📎📎📎📎📎📎📎📎📎📎
BOT