Power Queryで Excelの TODAY関数にあたるのは「DateTime.LocalNow」なのだが、抽出する時には別の関数を使うことが多い。「当日(に関連する情報)と一致するか」を返す関数が存在するからだ。
例えば本日のデータだけが欲しい時は、フィルタの抽出条件で「今日」を選ぶだけでいい。抽出結果の式を見れば分かるが「Data.IsInCurrentDay」を使えばいいことが分かる。「明日」や「昨日」を含めて、当日に関連する情報の抽出には専用の関数が用意されている。
Date.IsInCurrentDay:現在日時と日が一致するか
Date.IsInCurrentWeek:現在日時と週が一致するか
Date.IsInCurrentMonth:現在日時と月が一致するか
Date.IsInCurrentQuarter:現在日時と四半期が一致するか
Date.IsInCurrentYear:現在日時と年が一致するか
Date.IsInNextDay:現在日時の翌日と日が一致するか
Date.IsInNextWeek:現在日時の翌週と週が一致するか
Date.IsInNextMonth:現在日時の翌月と月が一致するか
Date.IsInNextQuarter:現在日時の翌四半期と期が一致するか
Date.IsInNextYear:現在日時の翌年と年が一致するか
Date.IsInPreviousDay:現在日時の前日と日が一致するか
Date.IsInPreviousWeek:現在日時の前週と週が一致するか
Date.IsInPreviousMonth:現在日時の前月と月が一致するか
Date.IsInPreviousQuarter:現在日時の前四半期と期が一致するか
Date.IsInPreviousYear:現在日時の前年と年が一致するか
Date.IsInNextNDays:現在日時からn日後までと日が一致するか
Date.IsInNextNWeeks:現在日時からn週後までと週が一致するか
Date.IsInNextNMonths:現在日時からnヶ月後までと月が一致するか
Date.IsInNextNQuarters:現在日時からn四半期後までと期が一致するか
Date.IsInNextNYears:現在日時からn年後までに含まれるか
Date.IsInPreviousNDays:現在日時からn日前までに含まれるか
Date.IsInPreviousNWeeks:現在日時からn週前までに含まれるか
Date.IsInPreviousNMonths:現在日時からnヶ月前までに含まれるか
Date.IsInPreviousNQuarters:現在日時からn四半期前までに含まれるか
Date.IsInPreviousNYears:現在日時からn年前までに含まれるか
Date.IsInYearToDate:現在日時の年の初日から当日までに含まれるか
Date.IsLeapYear:現在日時の年がうるう年か
正直覚えていられないので、必要に応じてヘルプを見ることになると思う。
注意が必要なのは、例えば Date.IsInNextNMonths関数を使った場合、「nヶ月後の月と一致するか」ではなく「当日からnヶ月後までに含まれるか」になること。
なので「当日(2023/3/8)から2ヶ月前の月のデータ」が欲しい場合には、この関数は使えない。
こういう時は、条件を「2ヶ月後、当月に該当する日付になるか」と考えればいい。
Date.IsInCurrentMonth(Date.AddMonths([日付], 2))
これで「当日から2ヶ月前の月のデータ」だけを抽出できる。