共用方式為


在 Power BI Desktop 中套用自動日期/時間

本文的目標是在Power BI Desktop 中開發匯入或複合模型的數據模型工具。 它會介紹並描述 [ 自動日期/時間] 選項。

自動日期/時間是Power BI Desktop 中的數據載入選項。 此選項的目的是要根據載入模型之日期數據行來支援方便的時間智能報告。 具體而言,它允許報表作者使用您的數據模型,使用行事曆時間週期(年、季、月和日)來篩選、分組和向下切入。 重要的是,您不需要明確開發這些時間智慧功能。

啟用此選項時,Power BI Desktop 會為每個日期數據行建立隱藏的自動日期/時間數據表,前提是下列所有條件都成立:

  • 數據表儲存模式為匯入
  • 數據行數據類型為日期或日期/時間
  • 數據行不是模型關聯性的「多」端

運作方式

每個自動日期/時間數據表實際上是一個 計算數據表 ,可使用DAX CALENDAR 函式來產生資料列。 每個資料表也包含六個計算結果列:Day、MonthNo、MonthQuarterNoQuarterYear。

注意

Power BI 會根據 模型語言翻譯和格式化數據行名稱和值。 例如,如果模型是使用英文建立的,它仍會以英文顯示月份名稱等等,即使使用韓文客戶端檢視也一樣。

Power BI Desktop 也會建立自動日期/時間數據表的 Date 數據行與模型日期數據行之間的關聯性。

自動日期/時間數據表包含包含模型日期數據行中所儲存之所有日期值的完整行事曆年份。 例如,如果日期數據行中的最早值為 2016 年 3 月 20 日,而最新的值為 2019 年 10 月 23 日,則數據表將包含 1,461 個數據列。 它代表 2016 至 2019 年四個日曆年度中每個日期的一個數據列。 當 Power BI 重新整理模型時,也會重新整理每個自動日期/時間數據表。 如此一來,模型一律會包含包含日期數據行值的日期。

如果可以看到自動日期/時間數據表的數據列,其看起來會類似下列範例。 此範例顯示從 2019 年 1 月 1 日到 2019 年 1 月 10 日,有 10 個數據列的七個數據行。

Screenshot showing example of what rows of an auto date/time table might look like.

顯示七個數據行:Date、Day、MonthNo、Month、QuarterNo、Quarter 和 Year。 顯示10個數據列,描述從2019年1月1日到2019年1月10日為止的日期。

注意

自動日期/時間數據表會永久隱藏,即使是來自模型工具也一樣。 它們不會出現在 [ 欄位 ] 窗格或 [模型] 檢視中,而且其數據列不會出現在 [資料] 檢視中。 此外,DAX 運算式無法直接參考數據表及其數據行。

此外,在使用 [在 Excel 中進行分析] 或使用非 Power BI 報表設計工具連線到模型時,就無法使用它們。

數據表也會定義階層,提供視覺效果到年份、季、月和日層級的向下切入路徑。

如果可以在 [模型] 檢視中看到自動日期/時間數據表,則看起來如下表,其中已醒目提示相關數據行:

Screenshot showing example of what a hidden auto date/time table might look like. Displays two tables: Sales and LocalDateTime table.

數據表會根據 Sales 數據表 OrderDate 數據行和 LocalDateTime 數據表 Date 數據行來關聯。 LocalDateTime 定義七個數據行:Date、Day、Month、MonthNo、Quarter、QuarterNo、Year 和單一階層。 此階層名為日期階層,由四個層級組成:Year、Quarter、Month 和 Day。

使用自動日期/時間

當日期數據行的自動日期/時間數據表存在時,報表作者將不會在 [欄位] 窗格中找到該資料行做為字段。 相反地,他們會尋找具有日期數據行名稱的可展開物件。 您可以輕鬆地識別它,因為它裝飾著行事歷圖示。 當報表作者展開行事歷物件時,他們會找到名為 Date Hierarchy 的 階層。 展開階層之後,他們會找到四個層級: YearQuarterMonthDay

Screenshot showing example of the Fields pane, with the Sales table expanded open.

它包含 OrderDate 字段,裝飾有行事歷圖示。 隨即展開,並包含名為 Date Hierarchy 的階層。 它也會展開,並包含四個層級:Year、Quarter、Month 和 Day。

自動產生的日期/時間階層可用來以與一般階層完全相同的方式來設定視覺效果。 您可以使用整個 日期階層 階層或階層的特定層級來設定視覺效果。

不過,一般階層不支援一個新增的功能。 當自動日期/時間階層或階層中的層級新增至視覺效果時,報表作者可以使用階層或日期數據行來切換。 對於某些視覺效果而言,此方法對某些視覺效果而言是合理的,因為它們只需要日期數據行,而不是階層及其層級。 其一開始是設定視覺效果欄位(以滑鼠右鍵按兩下視覺效果欄位,或選取向下箭號),然後使用操作功能表在日期數據行或日期階層之間切換。

Screenshot showing example of a visual field configuration for the OrderDate hierarchy.

開啟的操作功能表會顯示兩個選項,允許切換使用 OrderDate 資料行或日期階層。

最後,以 DAX 撰寫的模型計算可以直接參考日期數據行,或間接參考隱藏的自動日期/時間數據表數據行

以 Power BI Desktop 撰寫的公式可以以一般方式參考日期數據行。 不過,必須使用特殊的擴充語法來參考自動日期/時間數據表數據行。 首先參考日期數據行,然後依句號 (..) 追蹤它。 然後,公式列自動完成可讓您從自動日期/時間數據表中選取數據行。

Screenshot showing example of entering a DAX measure expression in the formula bar.

到目前為止,公式會讀取 Date Count = COUNT(Sales[OrderDate]。 和自動完成清單會顯示隱藏的自動日期/時間數據表中的所有七個數據行。 這些數據行包括:Date、Day、Month、MonthNo、Quarter、QuarterNo 和 Year。

在 Power BI Desktop 中,有效的量值表達式可以讀取:

Date Count = COUNT(Sales[OrderDate].[Date])

注意

雖然此量值表達式在Power BI Desktop中有效,但不是正確的DAX語法。 在內部,Power BI Desktop 會轉置表達式,以參考 true (隱藏) 自動日期/時間數據表數據行。

設定自動日期/時間選項

自動日期/時間可以全域設定或目前檔案 全域選項適用於新的 Power BI Desktop 檔案,而且可以隨時開啟或關閉。 針對新的 Power BI Desktop 安裝,這兩個選項預設為開啟。

目前檔案選項也可以隨時開啟或關閉。 開啟時,會建立自動日期/時程數據表。 關閉時,會從模型中移除任何自動日期/時間數據表。

警告

當您關閉目前的檔案選項時,請小心,因為這將會移除自動日期/時間數據表。 請務必修正任何已設定為使用這些篩選條件的中斷報表篩選或視覺效果。

在 Power BI Desktop 中,您可以選取 [檔案>選項和設定>選項],然後選取 [全域] 或 [目前檔案] 頁面。 在任一頁面上,選項存在於 [時間智慧 ] 區段中。

Screenshot of the Power BI Desktop Options box.

已選取全域群組的 [數據載入] 頁面。 在 [時間智慧] 區段中,會核取 [新檔案的自動日期/時間] 選項。

如需本文的詳細資訊,請參閱下列資源: