PARALLELPERIOD
Note
この関数は、意味のない結果を返す可能性があるため、ビジュアル計算で使用することはお勧めしません。
現在のコンテキストで、指定された dates 列の日付と並列した期間を表す日付の列を含むテーブルを返します。日付は一定の間隔数だけシフトされ、時間が進められるか戻されます。
構文
PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)
パラメーター
用語 | 定義 |
---|---|
日付 | 日付を含む列。 |
number_of_intervals | 日付に対して加算または減算する間隔の数を指定する整数。 |
interval | 日付をシフトする間隔。 interval の値は、year 、quarter 、month のいずれかにすることができます |
戻り値
日付値の単一列を含むテーブル。
解説
この関数では、dates で指定された列の現在の日付のセットを受け取り、指定された間隔数だけ最初の日付と最後の日付をシフトして、2 つのシフトされた日付間の連続するすべての日付を返します。 間隔が月、四半期、または年の部分的な範囲である場合、間隔全体を完成させるために結果の部分的な月も入力されます。
dates 引数には、次のいずれかを指定できます。
- 日付/時刻列への参照。
- 日付/時刻の値の単一の列を返すテーブル式。
- 日付/時刻の値の単一列テーブルを定義するブール式。
ブール式に対する制約については、CALCULATE 関数に関するトピックで説明されています。
number_of_intervals に指定された数値が正の場合は dates の日数分、時間が進みます。数値が負の場合は dates の日数分、時間が戻ります。
interval パラメーターは列挙型であり、文字列のセットではありません。そのため、値を引用符で囲むことはできません。 また、
year
、quarter
、month
という値を使用する場合は、スペルを略さずに入力する必要があります。結果テーブルには、基になるテーブル列の値に表示される日付のみが含まれます。
PARALLELPERIOD 関数は DATEADD 関数と似ていますが、PARALLELPERIOD では、DATEADD で返される部分的な期間ではなく、常に指定された粒度レベルで完全な期間が返されます。 たとえば、6 月 10 日に開始し、同じ年の 6 月 21 日に終了する日付を選択し、その選択範囲を 1 か月後にシフトさせる場合、PARALLELPERIOD 関数では翌月のすべての日付 (7 月 1 日から 7 月 31 日まで) が返されます。しかし、DATEADD が代わりに使用された場合、結果には 7 月 10 日から 7 月 21 日までの日付のみが含まれます。
この関数は、計算列または行レベルのセキュリティ (RLS) ルールで使用される場合、DirectQuery モードでの使用はサポートされません。
例
次のサンプルの数式では、インターネット販売の前年の売上を計算するメジャーを作成します。
= CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), PARALLELPERIOD(DateTime[DateKey],-1,year))