Power Pivot 中的 DAX 案例

附註: 我們想要以您的語言,用最快的速度為您提供最新的說明內容。 本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 希望您能在本頁底部告訴我們這項資訊是否有幫助。 此為英文文章出處,以供參考。

本節提供連結將由範例示範 DAX 公式在下列案例中的使用方式。

  • 執行複雜計算

  • 處理文字與日期

  • 條件值及測試錯誤

  • 使用時間智慧

  • 進行排名與比較的值

本文內容

開始使用

範例資料

其他資源

案例: 執行複雜計算

建立自訂計算樞紐分析表

將篩選套用至公式

移除篩選選擇性地以建立動態比率

使用來自外部迴圈的值

案例: 處理文字與日期

由串連建立索引鍵資料行

撰寫根據擷取自文字日期的日期部分的日期

定義自訂的日期或數字格式

使用公式變更資料類型

案例: 條件值及測試錯誤

建立根據條件的值

測試公式之中的錯誤

案例: 使用時間智慧

計算累計銷售額

比較歷經一段時間的值

計算落入自訂日期範圍內的值

案例: 進行排名與比較的值

在樞紐分析表中顯示只前 10 名項目

使用公式以動態方式排序項目

開始使用

範例資料

如果您不熟悉 DAX 公式,您可能會想要先檢閱Power Pivot的範例資料中的範例。 如需詳細資訊,請參閱取得 DAX 和資料模型教學課程的範例資料

其他資源

您也可能會想要造訪DAX 資源中心 Wiki您可以在哪裡找到各種 DAX 包括部落格、 範例、 白皮書和產業前置專業人員和 Microsoft 所提供的影片的相關資訊。

案例: 執行複雜計算

DAX 公式可以執行複雜計算涉及自訂彙總、 篩選和使用條件的值。 本章節提供如何開始使用自訂計算的範例。

建立自訂計算樞紐分析表

CALCULATE 和 CALCULATETABLE 是強大且彈性函數,用於定義導出的欄位。 這些函數可讓您變更將會執行計算中的內容。 您也可以自訂彙總或執行數學運算的類型。 請參閱下列主題的範例。

將篩選套用至公式

在大部分的位置,其中 DAX 函數則採用做為引數的資料表,您可以通常傳遞篩選表格中改為使用 FILTER 函數,而不資料表名稱,或藉由為其中一個函數引數中指定的篩選運算式。 下列主題提供如何建立篩選和篩選如何影響公式結果的範例。 如需詳細資訊,請參閱DAX 公式中篩選資料

FILTER 函數可讓您使用運算式,而其餘的函數專為篩除空白值來指定篩選準則。

移除篩選選擇性地以建立動態比率

藉由在公式中建立動態篩選,您便能夠輕易回答類似下列的問題:

  • 為該年度目前產品的銷售額佔總銷售額的比重是多少?

  • 多少此除法投稿至總利潤所有作業系統年,相較於其他部門?

樞紐分析表的內容,可能會影響您使用樞紐分析表中的公式,但您可以選擇性地變更內容藉由新增或移除篩選。 所有的主題中的範例會示範如何執行此動作。 若要尋找銷售額的比率特定轉售商銷售上所有的轉售商,您會建立計算目前內容的所有內容] 的值除以值的量值。

ALLEXCEPT 本主題提供如何選擇性地清除篩選公式的範例。 這兩個範例會逐步引導您完成結果如何根據樞紐分析表中的設計變更。

如需如何計算比例和百分比的其他範例,請參閱下列主題:

使用來自外部迴圈的值

除了使用目前的內容中值的計算,DAX 可以使用來自先前建立的相關計算一組迴圈的值。 下列主題提供如何建立參考來自外部迴圈的值的公式的逐步解說。 EARLIER 函數支援最多兩層的巢狀迴圈。

若要深入了解資料列內容和相關的資料表,以及如何在公式中使用這個概念,請參閱DAX 公式中的內容

案例: 處理文字與日期

本節提供 DAX 參考主題包含解壓縮並撰寫日期和時間值,或建立根據條件的值的文字使用的常見案例的範例的連結。

由串連建立索引鍵資料行

Power Pivot不允許複合索引鍵。因此,如果您有複合索引鍵資料來源中您可能需要將它們結合成單一索引鍵資料行。 下列主題提供如何建立複合索引鍵為根據的計算結果的欄的其中一個範例。

撰寫根據擷取自文字日期的日期部分的日期

Power Pivot使用 SQL Server 日期/時間資料類型處理日期。因此,如果您的外部資料包含日期的不同格式,例如,如果您日期所撰寫的Power Pivot資料引擎,無法辨識的區域的日期格式,或如果您的資料使用整數 surrogate 索引鍵,您可能需要使用DAX 公式擷取的日期部分,然後撰寫成有效的日期/時間表示法的 [組件。

例如,如果您有已做為整數表示及再匯入文字字串形式的日期資料行,您可以將字串轉換成日期/時間值使用下列公式:

=DATE(RIGHT([Value1],4),LEFT([Value1],2),MID([Value1],2))

Value1

結果

01032009

1/3/2009

12132008

2008/12/13

06252007

2007/6/25

下列主題提供用於擷取及建構日期的函式的詳細資訊。

定義自訂的日期或數字格式

如果您的資料包含日期或數字不會出現在其中一個標準的 Windows 文字格式,您可以定義自訂的格式,以確保能正確處理值。 將值轉換為字串,或從字串時,會使用這些格式。 下列主題也提供可供使用的日期和數字的預先定義格式的詳細的清單。

使用公式變更資料類型

在Power Pivot,輸出的資料類型由來源資料行,您無法明確指定的資料類型的結果,因為最佳的資料類型由Power Pivot。 不過,您可以使用Power Pivot所執行的隱含資料類型轉換操作的輸出資料類型。 如需有關類型轉換的詳細資訊,請參閱取得 DAX 和資料模型教學課程的範例資料

  • 若要將日期或數字字串轉換成數字,您可以將相乘 1.0。 比方說,下列公式會計算目前的日期減去 3 天,,然後輸出的相對應的整數值。

    = (TODAY ()-3) * 1.0

  • 若要將日期、 數字或貨幣值轉換為字串,串連空字串值。 例如,下列公式會傳回今天的日期,做為字串。

    ="」 & today ()

下列功能也可用於確保傳回特定的資料類型:

實數轉換成整數

案例: 條件值及測試錯誤

就像 Excel,DAX 會有可讓您測試資料中的值,並傳回不同的值,根據條件的函式。 例如,您可以建立標籤轉售商,慣用值,以根據每年的銷售金額的計算結果的欄。 測試值的函式也非常適合檢查的範圍或值,若要避免非預期的資料錯誤的計算類型。

建立根據條件的值

您可以使用巢狀的 IF 條件測試的值,並依條件設定產生新的值。 下列主題包含一些簡單的範例的條件式處理和條件的值:

測試公式之中的錯誤

不同於 Excel 中,您不能有有效的值,其中一列的計算結果欄中,另一個資料列中的無效值。 也就是說, Power Pivot資料行的任何部分中的錯誤時,整欄就會標示出來發生錯誤時,以便您必須一律修正公式錯誤導致不正確的值。

例如,如果您建立的除以零公式時,您可能會收到無限結果或錯誤。 如果函數遇到空白值,其預期會出現一個數字值時,部分公式也會失敗。 當您開發您的資料模型時, 最好允許顯示,讓您可以按一下郵件,並問題進行疑難排解的錯誤。 不過,當您發佈的活頁簿時,您應納入錯誤處理常式,以避免非預期的值導致失敗的計算。

若要避免在計算結果欄中傳回的錯誤,您使用組合的邏輯資訊函數來測試的錯誤,並永遠傳回有效的值。 下列主題提供如何進行此動作 DAX 中的一些簡單範例:

案例: 使用時間智慧

DAX 時間智慧函數包含函數,可協助您從您的資料擷取日期或日期範圍。 然後可用這些日期或日期範圍來計算值整個類似時期。 時間智慧函數也會包含使用標準日期的間隔,可讓您比較跨月份、 年份或季值的函數。 您也可以建立比較值,在指定期間內的第一個和最後一個日期的公式。

如需所有時間智慧函數的清單,請參閱時間智慧函數 (DAX)。 如需如何使用Power Pivot分析有效的日期和時間的祕訣,請參閱Power Pivot 中的日期

計算累計銷售額

下列主題包含如何關閉和開啟餘額所計算的範例。 範例可讓您建立執行餘額跨不同的時間間隔,例如天數、 月、 季或年數。

比較歷經一段時間的值

下列主題包含來比較跨不同時期的加總的範例。 預設的時間週期支援的 DAX 是個月、 季數與年數。

計算落入自訂日期範圍內的值

請參閱下列主題,如需如何擷取自訂日期範圍,例如銷售促銷開始後的前 15 天的範例。

如果您使用時間智慧函數來擷取一組自訂的日期時,您可以使用該組日期做為輸入函式會執行計算,以建立自訂彙總跨時間週期。 請參閱下列主題,如需如何進行此動作的範例:

  • PARALLELPERIOD 函數

    附註: 如果您不需要指定自訂日期範圍,但正在使用標準的會計單位,例如月、 季或年數,我們建議您執行計算,以使用時間智慧函數專為此用途,例如 TOTALQTD,TOTALMTD、 TOTALQTD 等。

案例: 進行排名與比較的值

若要在資料行或樞紐分析表中顯示只排行前 n 名的項目,您有幾個選項:

  • 若要建立上方的篩選,您可以在 Excel 2010 中使用的功能。 您也可以選取樞紐分析表中的頂端或底端值的數目。 此區段的第一個部分說明如何篩選樞紐分析表中前 10 個項目。 如需詳細資訊,請參閱 Excel 文件。

  • 您可以建立一個以動態方式排序值的公式和排名值],然後篩選或等級值作為交叉分析篩選器。 此區段中第二部分說明如何建立以下公式並在交叉分析篩選器中使用該次序。

有優缺點每個方法。

  • [Excel 前篩選很容易使用,但篩選為僅供顯示用。 如果樞紐分析表的資料變更時,您必須手動重新整理樞紐分析表即可看到變更。 如果您要使用的排名,以動態方式,您可以使用 DAX 建立比較值在資料行內的其他值的公式。

  • DAX 公式是功能更強大;此外,透過新增交叉分析篩選器的次序值,您可以只需按一下交叉分析篩選器來變更上方所顯示的值的數目。 不過,計算費時而這個方法不可能適合有多個資料列的資料表。

在樞紐分析表中顯示只前 10 名項目

若要在樞紐分析表中顯示的頂端或底端值

  1. 在樞紐分析表中,按一下 [列標籤] 標題中的向下箭號。

  2. 選取 [值篩選>前 10 項]。

  3. 在 [前 10 項篩選 <column name> ] 對話方塊中,選擇要排名],以及值數目的資料行如下所示:

    1. 選取以查看具有最高值的儲存格的上方下方] 查看具有最低值的儲存格。

    2. 輸入您想要查看的頂端或底端值的數目。 預設值為 10。

    3. 選取您要顯示值的方式:

名稱

描述

項目

選取此選項可篩選樞紐分析表中顯示其值的頂端或底端的項目清單。

百分比

選取此選項可篩選樞紐分析表中顯示加總成所指定百分比的項目。

Sum

選取此選項來顯示的頂端或底端的項目值的總和。

  1. 選取包含您要排名之值的欄。

  2. 按一下 [確定]。

使用公式以動態方式排序項目

下列主題包含如何使用 DAX 建立計算結果欄中所儲存的排名的範例。 DAX 公式會以動態方式進行計算,因為您永遠可以確定的順序正確,即使已變更的基礎資料。 此外,因為公式用來計算結果欄中,您可以使用交叉分析篩選器中的排名,然後選取 [頂端 5,10,或甚至上方 100 名的值。

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×