Excel 中的 Power Pivot 時間智慧

資料分析運算式(DAX)具有35函數,專門用於在一段時間內對資料進行匯總與比較。 與 DAX 的日期與時間函數不同,在 Excel 中,時間智慧函數不會有任何類似的內容。 這是因為時間智慧函數會與經常變更的資料搭配運作,這取決於您在樞紐分析表和 Power View 視覺效果中所選取的內容。

若要使用時間智慧函數,您必須將日期資料表包含在資料模型中。 Date 資料表必須包含一欄,其中每一年的每一天都包含在您的資料中。 此欄會視為 [Date] (日期)欄(雖然可以將它命名為任何您想要的名稱)。 許多時間智慧函數需要 date 欄,才能根據您在報表中選取為欄位的日期來計算。 例如,如果您有使用 CLOSINGBALANCEQTR 函數來計算年末期末餘額的量值,為了讓 Power Pivot 知道季度結束時間,它必須參照 date 資料表中的 date 資料行,以瞭解季度開始和結束。 若要深入瞭解日期資料表,請參閱在Excel 中瞭解如何在 Power Pivot 中建立日期資料表

函數

傳回單一日期的函數

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

此類別的前兩個函數會傳回目前內容中 Date_Column 中的第一個或最後一個日期。 當您想要尋找特定類型的第一個或最後一個日期時,這會很有用。 這些函數只會有一個引數,也就是日期資料表中日期資料行的名稱。

這個類別中接下來的兩個函數會找出第一個或最後一個日期(或任何其他的欄值),其中的運算式具有非空白值。 這通常是在庫存中您想要取得最後一個庫存金額的情況下,而您不知道最後一個庫存的時間。

傳回單一日期的六個函數是在目前的計算內容中傳回月份、季度或年份之第一個或最後一個日期的函數。

傳回日期資料表的函數

有16個時間智慧函數會傳回日期的資料表。 通常會將這些函數做為計算函數的 SetFilter 引數。 就像 DAX 中的所有時間智慧函數一樣,每個函數都將 date 資料行做為它的其中一個引數。

此類別的前八個函數是從目前內容中的日期欄開始。 例如,如果您在樞紐分析表中使用量值,欄標籤或列標籤上可能會有月份或年份。 [實際] 效果是 [日期] 資料行經過篩選,只包含目前內容的日期。 從目前的內容開始,這些八個函數接著計算前一個(或下一個)日、月、季或年,並以單一欄表格的形式傳回那些日期。 "Previous" 函數會在目前內容中的第一個日期之後向後移動,而 "next" 函數則從目前內容中的最後一個日期往前移動。

這個類別中的後續四個函數是相似的,但不是計算前一個(或下一個)期間,而是計算 [本月迄今] (或 [季末] 或 [年初至今],或在前一年相同期間)內的一組日期。 這些函數都是使用目前內容中的最後一個日期來執行計算。 請注意,SAMEPERIODLASTYEAR 要求目前的內容包含一組連續的日期。 如果目前的內容不是一組連續的日期,SAMEPERIODLASTYEAR 會傳回錯誤。

這個類別中最後四個函數稍有複雜,而且更強大一些。 這些函數是用來從目前內容中的一組日期轉換成一組新的日期。

  • DATEADD (Date_Column、Number_of_Intervals、Interval)

  • DATESBETWEEN (Date_Column、Start_Date、End_Date)

  • DATESINPERIOD (Date_Column、Start_Date、Number_of_Intervals、Interval)

DATESBETWEEN 會計算指定的開始日期和結束日期之間的一組日期。 剩餘的三個函數會從目前的內容中移至幾個時間間隔數。 間隔可以是日、月、季或年。 這些函數可讓您輕鬆地根據下列任何一項來調整計算的時間間隔:

  • 返回兩年

  • 向後返回一個月

  • 向前移三個季度

  • 返回14天

  • 往前28天

在每個情況下,您只需要指定哪個間隔,以及這些間隔數的多少。 正間隔會及時向前移動,而負間隔會及時向後移動。 間隔本身是由日、月、季或年關鍵字所指定。 這些關鍵字不是字串,所以不應使用引號括住。

在一段時間內評估運算式的函數

這類函數會在指定的時段內評估運算式。 您可以使用計算與其他時間智慧函數來完成相同的工作。 例如,

= TOTALMTD (Expression,Date_Column [,SetFilter])

與下列專案完全相同:

= 計算(Expression,DATESMTD (Date_Column) [,SetFilter])

不過,在滿足需要解決的問題時,更容易使用這些時間智慧函數:

  • TOTALMTD (Expression,Date_Column [,SetFilter])

  • TOTALQTD (Expression,Date_Column [,SetFilter])

  • TOTALYTD (Expression,Date_Column [,SetFilter] [,YE_Date]) *

這個類別也是一組函數,可計算開始和期末餘額。 有一些您應該瞭解的特定概念。 首先,您可能會認為,任何期間的期初餘額都與前一期的期末餘額相同。 期末餘額包括所有在期間期末的資料,而期初餘額不會包含目前期間內的任何資料。

這些函數總是傳回針對特定時間點所評估之運算式的值。 我們關心的時間點永遠是行事曆期間中的最後一個可能日期值。 期初餘額是以前一個期間的最後一個日期為基礎,而期末餘額則是以目前期間中的最後一個日期為基礎。 目前的期間總是由目前日期內容中的最後一個日期決定。

其他資源

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

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

範例:在 Excel 中使用 Microsoft PowerPivot 進行利潤與損失資料模型及分析

附註:  本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 告訴我們這項資訊是否有幫助? 這裡是供您參考的英文文章

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×