記事作成に至った経緯
- Power Automate で SharePiont Online のカスタムリストからレコードを取得する際に、フィルターの演算子がよくわからなかったので調べました。
- 「StartDate <= '2019-12-03' and EndDate >= '2019-12-03'」で範囲内を判定してフィルターできるかな?と思ったらエラーになった。
- どうやったら範囲指定で検索できるのか調べてみるものの、なかなか該当する記事が見つからず、英語のコミュニティを検索すると見つかったので、自分の備忘もかねてQiitaに投稿することにしました。
- 初心者向けです。上級者の方にとっては当たり前のように使われているかもしれないので、大した内容ではないです。
環境
- Power Automate (旧 Microsoft Flow) for Office 365
参考にしたサイト
- Microsoft Power Automate Community(SharePoint Flow Find Items with Date Less than or Equal to today)
- SharePoint REST 要求で OData クエリ操作を使用する(SharePoint REST サービスでサポートされる OData クエリ演算子)
Odataクエリ(フィルタークエリ)では、演算子はテキストで行います。
- =(イコール) → eq
- >(xxより大きい) → gt
- <(xxより小さい) → lt
- >=(xx以上) → ge
- <=(xx以下) → le
まとめ
- 結果を言うと、文字列の演算子をちゃんと理解していなったという単純な理由なだけですが、私みたいな初心者は意外と引っかかるのではないかなと思っています。
- SharePoint Online のコネクタは、SharePoint REST API または Graph API と同等であると思われる、これらのドキュメントを参照したほうが答えが見つかりやすいです。(内部的には Graph API かな?)
- NG「StartDate <= '2019-12-03' and EndDate >= '2019-12-03'」
- OK「StartDate le '2019-12-03' and EndDate ge '2019-12-03'」