PARALLELPERIOD 函數

傳回包含日期資料行的資料表,其表示與目前內容中指定的 dates 資料行日期平行的區間,在時間上前移或後移特定間隔數的日期。

語法

PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)

參數

詞彙

定義

dates

包含日期的資料行。

number_of_intervals

整數,指定要在日期中加上或減去的間隔數。

interval

用來移位日期的間隔。 間隔的值可以是下列其中一個:year、quarter、month。

傳回值

包含日期值之單一資料行的資料表。

備註

此函數接受由 dates 指定之資料行中目前的一組日期,並將第一個日期與最後一個日期移位指定之間隔數,然後傳回介於已移位日期兩者間的所有連續日期。 如果間隔為月份、季度或年度的局部範圍,則會填補結果中的任何局部月數以完構整個間隔。

[!附註]

若要了解有關內容如何影響公式結果的詳細資訊,請參閱<DAX 公式中的內容>。

dates 引數可以是下列任何一個:

  • 日期/時間資料行的參考、

  • 傳回日期/時間值之單一資料行的資料表運算式、

  • 定義日期/時間值之單一資料行資料表的布林運算式。

[!附註]

布林運算式的條件約束詳述於<CALCULATE 函數>主題中。

如果針對 number_of_intervals 指定的數字為正數,會在時間中將 dates 的日期往前移;如果數字為負數,則會在時間中將 dates 的日期往後移。

interval 參數是一個列舉,而不是一組字串,因此,不應該使用引號括住這些值。 此外,使用下列的值時,應該完整拼出這些值:year、quarter、month。

結果資料表中僅包含出現在基礎資料表資料行值中的日期。

PARALLELPERIOD 函數類似 DATEADD 函數,不過 PARALLELPERIOD 始終傳回給定粒度層級下的完整區間,而 DATEADD 則是傳回局部區間。 例如,若您選取同一年自 6 月 10 日起至 6 月 21 日止的日期,而要將此選取範圍往前移一個月的時間,則 PARALLELPERIOD 函數將傳回下個月份的全部日期 (7 月 1 日到 7 月 31 日);但如果使用 DATEADD,結果就會只包含從 7 月 10 日到 7 月 21 日的日期。

如果目前內容中的日期並未構成連續區間,函數會傳回錯誤。

不支援以 DirectQuery 模式使用此 DAX 函數。 如需有關 DirectQuery 模型限制的詳細資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=219172

範例

下列範例公式所建立的量值會計算網際網路銷售的去年銷售額。

若要查看其運作方式,請建立樞紐分析表,然後將 CalendarYear 和 CalendarQuarter 欄位加入至樞紐分析表的 [資料列標籤] 區域。 接著,使用<程式碼>一節中定義的公式,將名稱為 Previous Year Sales 的量值加入至樞紐分析表的 [值] 區域。

[!附註]

上述範例使用來自 DAX 範例活頁簿的 DateTime 資料表。 如需有關範例的詳細資訊,請參閱取得範例資料

=CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), PARALLELPERIOD(DateTime[DateKey],-1,year))

請參閱

參考

DATEADD 函數

其他資源

時間智慧函數 (DAX)

日期和時間函數 (DAX)

取得範例資料