Excel DAX - 計算列



計算列是您透過定義列值的 DAX 公式新增到工作簿資料模型中現有表的列。您建立計算列,而不是匯入列中的值。

您可以像使用任何其他表列一樣,在資料透視表、資料透檢視、Power Pivot 表、Power Pivot 圖或 Power View 報表中使用計算列。

瞭解計算列

用於建立計算列的 DAX 公式類似於 Excel 公式。但是,在 DAX 公式中,您無法為表中的不同行建立不同的公式。DAX 公式會自動應用於整個列。

例如,您可以建立一個計算列,從現有的“日期”列中提取年份,使用以下 DAX 公式:

= YEAR ([Date]) 

YEAR 是一個 DAX 函式,Date 是表中現有的列。如所見,表名稱用括號括起來。您將在“DAX 語法”章節中瞭解更多相關資訊。

當您使用此 DAX 公式向表中新增列時,列值會在您建立公式後立即計算。將建立一個新的列,其標題為 CalculatedColumn1,其中填充了年份值。

列值會根據需要重新計算,例如在重新整理基礎資料時。您可以根據現有列、計算欄位(度量值)和其他計算列建立計算列。

建立計算列

考慮以下螢幕截圖中顯示的包含奧運會結果的資料模型。

Creating a Calculated Column
  • 單擊資料檢視。
  • 單擊“結果”選項卡。

您將檢視“結果”表。

View Result Table

如上圖所示,最右側列的標題為“新增列”。

  • 單擊功能區上的“設計”選項卡。
  • 單擊“列”組中的“新增”。
Add Column

指標將出現在公式欄中。這意味著您正在使用 DAX 公式新增一個列。

  • 在公式欄中鍵入 =YEAR([Date])。
Pointer in Formula Bar

如上圖所示,最右側帶有標題“新增列”的列已突出顯示。

  • 按 Enter 鍵。

計算需要一段時間(幾秒鐘)。請稍候。

新計算列將插入到最右側“新增列”的左側。

Inserted Calculated Column

如上圖所示,新插入的計算列已突出顯示。整個列中的值根據所使用的 DAX 公式顯示。列標題為 CalculatedColumn1。

重新命名計算列

要將計算列重新命名為有意義的名稱,請執行以下操作:

  • 雙擊列標題。列名稱將被突出顯示。
Renaming the Calculated Column
  • 選擇列名稱。
  • 鍵入 Year(新名稱)。
Select Column Name and Type Year

如上圖所示,計算列的名稱已更改。

您還可以透過右鍵單擊該列,然後在下拉列表中單擊“重新命名”來重新命名計算列。

只需確保新名稱不與表中現有的名稱衝突即可。

檢查計算列的資料型別

您可以按如下方式檢查計算列的資料型別:

  • 單擊功能區上的“開始”選項卡。
  • 單擊“資料型別”。
Checking Data Type

如上圖所示,下拉列表包含列的可能資料型別。在此示例中,選擇了預設(自動)資料型別,即整數。

計算列中的錯誤

計算列中可能出現錯誤的原因如下:

  • 更改或刪除表之間的關係。這是因為使用這些表中列的公式將變得無效。

  • 公式包含迴圈或自引用依賴項。

效能問題

如前面奧運會結果示例中所見,“結果”表大約有 35000 行資料。因此,當您使用 DAX 公式建立列時,它會立即計算列中的所有 35000 多個值,這需要一些時間。資料模型和表旨在處理數百萬行資料。因此,當 DAX 公式引用過多時,可能會影響效能。您可以透過以下方法避免效能問題:

  • 如果您的 DAX 公式包含許多複雜的依賴項,則將其分步建立,並將結果儲存在新的計算列中,而不是一次建立單個大型公式。這使您能夠驗證結果並評估效能。

  • 當資料發生修改時,需要重新計算計算列。您可以將重新計算模式設定為手動,從而節省頻繁的重新計算。但是,如果計算列中的任何值不正確,則該列將變灰,直到您重新整理並重新計算資料。

廣告

© . All rights reserved.