注意
不建議將此函式用於 視覺計算,因為它可能會傳回毫無意義的結果。
對於日期直欄輸入,傳回一個表格,其中包含日期直欄,該直欄代表與目前 dates 內容中指定直欄中日期平行的期間,且日期在時間上向前或向後移動了多個間隔。
對於行事曆輸入,會傳回一個表格,該表格代表與目前內容中日期平行的期間,根據行事曆,日期在時間上向前或向後移動了多個間隔。 表格包含所有主要標記欄和所有時間相關欄。
語法
PARALLELPERIOD(<dates> or <calendar>,<number_of_intervals>,<interval>)
參數
| 術語 | 定義 |
|---|---|
dates or calendar |
包含日期或行事曆參照的資料行 |
number_of_intervals |
整數,指定要加入或減去日期的間隔數目。 |
interval |
要轉移日期的間隔。 間隔的值可以是下列其中一項: year, quarter, month, week。 週值僅適用於使用行事曆語法時。 |
傳回值
對於日期欄輸入,包含單欄日期值的資料表。
對於行事曆輸入,包含所有主要標記欄和所有時間相關欄的表格。
言論
對於日期欄輸入,此函數會取所
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 )
)
行事曆型時間智慧範例
下列範例公式會建立量值,以使用會計行事曆計算網際網路銷售的上一年銷售額。
= CALCULATE (
SUM ( InternetSales_USD[SalesAmount_USD] ),
PARALLELPERIOD ( FiscalCalendar, -1, YEAR )
)