Power Automate SharePointの日付列を扱うフィルタークエリの実例|期限1週間前のデータを抽出とか

SharePoint Onlineのリストに対する「日付と時刻」列を使ったフィルターの書き方をよく忘れるので、メモ。

スポンサーリンク

フィルタークエリで使う関数と演算子

基本的には以下の関数や演算子と組み合わせてフィルターを作っていく。

関数

  • formatDateTime関数 : タイムスタンプを日付文字列に変更する関数
  • addHours(utcNow(), 9) : 関数2つを組み合わせて、日本時間の現在時刻を取得
  • addDays関数 : 日付の加減算に使用。n日前とかn日後とか。

フィルター式の比較演算子

  • eq : イコール
  • gt : より大きい
  • ge : 以上
  • le : 以下
  • lt : 未満

フィルター式のその他演算子

  • and : かつ
  • or : または ※こっちはあんま使わないかも

実例

ここから実例。実験日は「2024/10/19」で、用意したデータはこちら。
これから載せていく式を、「複数の項目の取得」アクションのフィルタークエリに設定し、結果をCSVアクションで確認していく。

今日のデータの抽出

date eq '@{formatDateTime(addHours(utcNow(), 9), 'yyyy-MM-dd')}'

結果

ちょうど1週間前のデータの抽出

date eq '@{formatDateTime(addDays(addHours(utcNow(), 9), -7), 'yyyy-MM-dd')}'

結果

ちょうど3日後のデータの抽出

date eq '@{formatDateTime(addDays(addHours(utcNow(), 9), 3), 'yyyy-MM-dd')}'

結果

1週間以前のデータを抽出

date le '@{formatDateTime(addDays(addHours(utcNow(), 9), -7), 'yyyy-MM-dd')}'
// 1週間前より前の場合は「lt」に変更

結果

3日後より後のデータを抽出

date gt '@{formatDateTime(addDays(addHours(utcNow(), 9), 3), 'yyyy-MM-dd')}'
// 3日後移行の場合は「ge」に変更

結果

1週間前から今日までのデータを抽出

date ge '@{formatDateTime(addDays(addHours(utcNow(), 9), -7), 'yyyy-MM-dd')}' and date le '@{formatDateTime(addHours(utcNow(), 9), 'yyyy-MM-dd')}'

結果

今日より後から1週間後より前のデータを抽出

date gt '@{formatDateTime(addHours(utcNow(), 9), 'yyyy-MM-dd')}' and date lt '@{formatDateTime(addDays(addHours(utcNow(), 9), 7), 'yyyy-MM-dd')}'

結果

 

日付に加えて時間も考慮したフィルター

タイトルとURLをコピーしました