
以下旧記事ー--
Power AutomateにDateDiff関数が無いっていうのは知っていたけど、やっぱり何かと不便。
そこでDateDiffっぽいことができる方法が他にないか調べてみた。
事前準備
※ちなみに今日は2022/2/10


ODATAクエリでフィルターしちゃって何とかする方法
まず、DateDiff関数で求める差分の値は不要で、基準日以前とか基準日以降のSharePointリストアイテムを持ってきたいみたいなとき。
今日以前のアイテムを取得
※formatDateTime(…)を「”」で囲わないと失敗するので注意
日付列名 le 'formatDateTime(utcNow(),'yyyy-MM-dd')'



日付の微調整
日付列名 le 'formatDateTime(addDays(utcNow(),微調整日数),'yyyy-MM-dd')'
日付列名 le 'formatDateTime(addDays(utcNow(),1),'yyyy-MM-dd')'


試してないけど、昨日以前を基準にするときはaddDaysでマイナスを指定したり、以降のアイテムが欲しいときはgeとかを使えばうまくいきそう!

頑張って計算する方法
記事によると「div」「sub」「ticks」の3つの関数を組み合わせて、こんな感じで数式を書いてあげれば差分の日付が出るらしい。
div(sub(ticks(終了日),ticks(基準日)),864000000000)
検証
早速検証。



div(sub(variables('end'),variables('start')),864000000000)




未来はうまくいかなかった


たぶん「時刻を含まない」日付列だったので、00:00:00の計算辺りで微妙に誤差が出てるのかなと。

コメント