Excel DAX - 計算欄位/度量值



資料模型中表格中的計算欄位是由DAX公式獲得的欄位。在早期版本的Power Pivot中,計算欄位被稱為度量值。在Excel 2013中,它被重新命名為計算欄位。但是,在Excel 2016中,它又被改回名為度量值。如果您參考任何文件,您可能會發現這兩個術語混用。請注意,術語“計算欄位”和“度量值”是同義詞。在本教程中,我們使用術語“計算欄位”。

理解計算欄位

計算欄位是專門為在資料透視表(或資料透檢視)中使用而建立的公式。

您可以基於標準聚合函式(例如COUNT或SUM)建立計算欄位,也可以透過定義您自己的DAX公式來建立計算欄位。

以下是計算欄位和計算列之間的區別:

  • 計算欄位只能用於資料透視表的“值”區域。

  • 具有計算結果的計算列也可以用於“行”、“列”和“篩選器”區域。

儲存計算欄位

計算欄位將與其源表一起儲存在資料模型中。它在Power Pivot表或Power Pivot圖欄位列表中顯示為表中的欄位。

使用計算欄位

要使用計算欄位,您必須從Power Pivot表字段列表中選擇它。計算欄位將被新增到“值”區域,並且將計算用於計算欄位的公式。將為每一行和列欄位組合建立一個結果。

計算欄位 - 示例

考慮以下奧運會資料的 資料模型:

Calculated Field

如上面的螢幕截圖所示,“結果”表有一個名為“獎牌”的欄位,其中包含每個包含“運動 - 專案 - 國家 - 日期”組合的行中的值 - 金牌、銀牌或銅牌。假設您想要每個國家的獎牌數量,那麼您可以建立一個名為“獎牌數量”的計算欄位,並使用以下DAX公式:

Medal Count := COUNTA([Medal])

在表中建立計算欄位

要在“結果”表中建立“獎牌數量”計算欄位,請執行以下操作:

  • 單擊“結果”表中“獎牌”列下方的計算區域中的單元格。該單元格將被突出顯示。

  • 在公式欄中鍵入Medal Count:=COUNTA([Medal])。

Creating a Calculated Field in a Table

按Enter鍵。

Press Enter

如上面的螢幕截圖所示,計算欄位顯示在選定的單元格中,值顯示為34,094。這個數字是“結果”表中的總行數。因此,乍一看意義不大。如前所述,只有將計算欄位新增到Power Pivot表或Power Pivot圖中才能看到其真正的用途。

在Power Pivot表中使用計算欄位

要使用計算欄位計算每個國家的獎牌數量,請執行以下操作:

  • 在Power Pivot視窗中,單擊功能區上的“資料透視表”。
  • 在下拉列表中單擊“資料透視表”。
Using the Calculated Field in a Power PivotTable

出現“建立資料透視表”對話方塊。

  • 單擊“現有工作表”。
  • 選擇要放置資料透視表的位置。

將建立一個空資料透視表。

  • 單擊“資料透視表字段”列表中的“結果”表。
  • 單擊欄位 - 國家和獎牌數量。
Empty PivotTable Created

您可以看到,“獎牌數量”已新增到“值”區域,“國家”已新增到“行”區域。資料透視表已建立,行中顯示欄位“國家”的值。對於每一行,都會計算和顯示“獎牌數量”的值。這就是計算欄位計算所用DAX公式並顯示值的方式。

  • 將“結果”表中的“運動”欄位新增到“行”區域。
Add the Field Sport

如上面的螢幕截圖所示,“獎牌數量”按國家/地區和運動專案計算,並顯示國家/地區的子總計。

這就是DAX如何補充Power功能。

計算欄位的型別

計算欄位有兩種型別:隱式和顯式。

  • 隱式計算欄位在Power Pivot表字段列表窗格中建立。

  • 顯式計算欄位是在Power Pivot視窗中的表中建立,或者從Excel視窗中的PowerPivot功能區建立。

建立隱式計算欄位

可以透過兩種方式在Power Pivot表字段窗格中建立隱式計算欄位。

在資料透視表字段列表中建立隱式計算欄位

您可以按照以下步驟從資料透視表字段列表中的“獎牌”欄位建立“獎牌計數”欄位:

  • 取消選擇“獎牌數量”欄位。
  • 右鍵單擊“獎牌”欄位。
  • 在下拉列表中單擊“新增到值”。
Creating an Implicit Calculated Field

“獎牌計數”出現在“值”區域。“獎牌計數”列將新增到資料透視表。

Medal column Count

在“值”區域建立隱式計算欄位

您可以在“值”區域中建立隱式計算欄位 - “父行百分比”,以表示某個國家獲得的每項運動的獎牌數量佔該國獲得的獎牌總數的百分比。

  • 單擊“值”區域中“獎牌計數”框中的向下箭頭。
  • 在下拉列表中單擊“值欄位設定”。
Creating an Implicit Calculated Field in Values Area

出現“值欄位設定”對話方塊。

  • 在“自定義名稱”框中鍵入“獎牌百分比”。
  • 單擊“顯示值方式”選項卡。
  • 單擊“顯示值方式”下的框。
  • 單擊“父行總計的百分比”。
Value Field Settings
  • 單擊“數字格式”按鈕。

出現“設定單元格格式”對話方塊。

  • 單擊“百分比”。
  • 在小數位數中鍵入0。
  • 單擊“確定”。
  • 在“值欄位設定”對話方塊中單擊“確定”。
  • 選擇“不顯示小計”。
Format Cells Dialog Box

您建立了另一個隱式計算欄位“獎牌百分比”,您可以看到,對於每個國家/地區,都會顯示按運動專案劃分的獎牌百分比。

隱式計算欄位的缺點

隱式計算欄位易於建立。事實上,您甚至在Excel資料透視表和資料透檢視中一直在建立它們。但是,它們具有以下缺點:

  • 它們是易失的。這意味著,如果您取消選擇用於計算欄位的欄位,它將被刪除。如果您想再次顯示它,您必須再次建立它。

  • 它們的範圍僅限於建立它們的Data Pivot表或Data Pivot圖。如果您在另一個工作表中建立另一個數據透視表,則必須再次建立計算欄位。

另一方面,顯式計算欄位將與表一起儲存,並且只要您選擇該表,它就可用。

建立顯式計算欄位

您可以透過兩種方式建立顯式計算欄位:

  • 在資料模型中表的計算區域中。您已經在“在表中建立計算欄位”部分學習了這一點。

  • 從Excel表中的PowerPivot功能區。您將在下一節學習這種建立顯式計算欄位的方法。

從PowerPivot功能區建立顯式計算欄位

要從PowerPivot功能區建立顯式計算欄位,請執行以下操作:

  • 在工作簿的功能區上單擊“POWERPIVOT”選項卡。
  • 單擊“計算”區域中的“計算欄位”。
  • 在下拉列表中單擊“新建計算欄位”。
Creating an Explicit Calculated

出現“計算欄位”對話方塊。

  • 填寫以下螢幕截圖中顯示的必需資訊。
Calculated Field dialog box
  • 單擊“檢查公式”按鈕。
  • 只有在公式中沒有錯誤時才單擊“確定”。

您可以看到,您可以在此對話方塊中定義計算欄位的類別和格式。此外,您可以使用IntelliSense功能來了解函式的用法,並使用自動完成功能來輕鬆完成函式、表和列的名稱。有關IntelliSense功能的詳細資訊,請參考章節 - DAX 公式

這是建立顯式計算欄位的推薦方法。

廣告
© . All rights reserved.