Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

DAX (的資料分析運算式) 35 個函數,專門用於匯總及比較一段時間的資料。 與 DAX 的日期和時間函數不同,Time-intelligence 函數在函數Excel。 這是因為時間智慧函數會處理持續變更的資料,這取決於您在樞紐分析表和 Power View 視覺效果中選取的上下文。

若要使用時間智慧函數,您必須在資料模型中包含日期資料表。 日期資料表必須包含一欄,資料中每年每一天都有一列。 此欄會視為日期欄 (雖然您可以以任何您喜歡的名稱命名) 。 許多時間智慧函數都需要日期欄,才能根據您選取為報表欄位的日期來計算。 例如,如果您有使用 CLOSINGBALANCEQTR 函數來計算完結季尾餘額的量值,Power Pivot 若要知道該季何時結束,則必須參照日期資料表中的日期欄,才能知道該季何時開始及結束。 若要深入瞭解日期資料表,請看一下瞭解及在Power Pivot中建立Excel。

函數

返回單一日期的函數

此類別中的函數會返回單一日期。 然後,結果可做為其他函數的引數。

此類別中的前兩個函數會以目前上下文Date_Column中第一個或最後一個日期。 當您想要尋找您擁有特定類型交易的第一個或最後一個日期時,這項功能會很有用。 這些函數只會使用一個引數,即日期資料表中的日期欄名稱。

此類別中的後兩個函數會找出第一個或最後一個 (或任何其他資料行值,) 運算式有非空白值。 這是最常見的使用方式,例如庫存,您想要取得最後一個庫存量,而您不知道最後一個庫存何時被取用。

還有六個函數會返回單一日期,這些函數會根據計算目前上下文,將月份、季或年的第一個或最後一個日期返回。

會返回日期表的函數

有 16 個時間智慧函數會返回日期表。 這些函數通常會用來做為 CALCULATE 函數的 SetFilter 引數 。 就像 DAX 中所有時間智慧函數一樣,每個函數會以日期欄做為引數之一。

此類別中的前八個函數會以目前上下文的日期欄開始。 例如,如果在樞紐分析表中使用量值,則欄標籤或列標籤上可能有一個月或一年。 淨效果是篩選日期欄,只包含目前上下文的日期。 從目前的上下文開始,這八個函數接著會計算上一個 (或下一個) 天、月、季或年,然後以單一資料行資料表的形式返回這些日期。 「上一個」函數會從目前上下文的第一個日期往後工作,而「下一個」函數會從目前上下文的最後一個日期向前移動。

此類別中接下來四個函數是相似的,但除了計算上一個 (或下一個) 期間外,這些函數會計算 "月到日期" (或季至日期、年至今或上一年) 的同一期間中的一組日期。 這些函數都使用目前環境中的最後一個日期來執行計算。 請注意,SAMEPERIODLASTYEAR 要求目前的上下文包含一組連續的日期。 如果目前的上下文不是連續的日期集,則 SAMEPERIODLASTYEAR 會返回錯誤。

此類別中的最後四個函數有點複雜,而且功能也比較強大。 這些函數是用來從目前上下文的日期集移轉至新的一組日期。

  • DATEADD (Date_Column、Number_of_Intervals、間隔)

  • DATESBETWEEN (Date_Column, Start_Date, End_Date)

  • DATESINPERIOD (Date_Column、Start_Date、Number_of_Intervals、間隔)

DATEBETWEEN 會計算指定開始日期和結束日期之間的一組日期。 其餘的三個函數會從目前上下文移轉一些時間間隔。 間隔可以是日、月、季或年。 這些函數可輕鬆地將計算時間間隔由下列任一項移動:

  • 回到兩年

  • 返回一個月

  • 往前三季

  • 返回 14 天

  • 前轉 28 天

在每一種情況下,您只需要指定哪一個間隔,以及要移轉的間隔數。 正間隔會以時間向前移動,而負間隔會往後移。 間隔本身是由 DAY、MONTH、QUARTER 或 YEAR 的關鍵字所指定。 這些關鍵字不是字串,因此不應使用引號。

評估一段時程表達式的函數

此函數類別會評估指定時段的運算式。 您可以使用 CALCULATE 和其他時間智慧函數來完成相同的工作。 例如,

= TOTALMTD (運算式,Date_Column [, SetFilter])

與以下完全相同:

= CALCULATE (運算式,DATESMTD (Date_Column) [, SetFilter])

不過,當這些時間智慧函數非常適合需要解決的問題時,更容易使用這些時間智慧函數:

  • TOTALMTD (運算式,Date_Column [, SetFilter])

  • TOTALQTD (運算式,Date_Column [, SetFilter])

  • TOTALYTD (運算式,Date_Column [, SetFilter] [,YE_Date]) *

此外,此類別中還有一組函數,可計算開啟和結算餘額。 您應該使用這些特定函數瞭解某些概念。 首先,您可能認為顯而易見,任何期間的期初餘額都和上一期的期末餘額相同。 期末餘額包含期間結束時的所有資料,而期首餘額不包含目前期間內的任何資料。

這些函數一直會返回評估特定時間點之運算式的值。 我們關心的時間點一直是一個日曆週期中最後一個可能的日期值。 期首餘額是以上一個期間的最後一天為基礎,而期末餘額則以目前期間的最後一天為基礎。 目前期間一直由目前日期上下文的最後一個日期決定。

其他資源

文章:瞭解及建立 Power Pivot中的日期資料表Excel

參考:Office.com上的 DAX 函數參照

範例:使用 Microsoft PowerPivot中的損益資料Excel

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×