PARALLELPERIOD
注意
不建議將此函式用於 視覺計算,因為它可能會傳回毫無意義的結果。
傳回包含日期數據行的數據表,代表與目前內容中指定之 dates
數據行中日期平行的期間,日期會以時間或時間回移數個間隔。
語法
PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)
參數
術語 | 定義 |
---|---|
dates |
包含日期的數據行。 |
number_of_intervals |
整數,指定要加入或減去日期的間隔數目。 |
interval |
要轉移日期的間隔。 間隔的值可以是下列其中一項:year 、quarter 、month 。 |
傳回值
包含日期值單一數據行的數據表。
言論
此函式會採用
dates
所指定資料行中的目前日期集,將第一個日期和最後一個日期移位指定的間隔數目,然後傳回兩個移動日期之間的所有連續日期。 如果間隔是月份、季或年的部分範圍,則結果中的任何部分月份也會填入以完成整個間隔。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 日為止的日期。
在匯出數據行或數據列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。
例
下列範例公式會建立一個量值,以計算因特網銷售的上一年銷售額。
= CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), PARALLELPERIOD(DateTime[DateKey],-1,year))