- Excel DAX 教程
- DAX - 首頁
- DAX - 概述
- DAX - 計算列
- DAX - 計算欄位/度量值
- DAX - 編輯計算欄位
- DAX - 刪除計算欄位
- DAX - 語法
- DAX - 運算子
- DAX - 標準引數
- DAX - 函式
- DAX - 理解 DAX 函式
- DAX - 評估上下文
- DAX - 公式
- 更新 DAX 公式的結果
- 更新資料模型中的資料
- DAX - 重新計算 DAX 公式
- DAX 公式重新計算故障排除
- DAX - 公式錯誤
- DAX - 時間智慧
- DAX - 篩選器函式
- DAX - 場景
- 執行復雜計算
- DAX - 使用文字和日期
- 條件值和錯誤測試
- DAX - 使用時間智慧
- DAX - 排名和比較值
- Excel DAX 有用資源
- DAX - 快速指南
- DAX - 有用資源
- DAX - 討論
Excel DAX - 計算列
計算列是您透過定義列值的 DAX 公式新增到工作簿資料模型中現有表的列。您建立計算列,而不是匯入列中的值。
您可以像使用任何其他表列一樣,在資料透視表、資料透檢視、Power Pivot 表、Power Pivot 圖或 Power View 報表中使用計算列。
瞭解計算列
用於建立計算列的 DAX 公式類似於 Excel 公式。但是,在 DAX 公式中,您無法為表中的不同行建立不同的公式。DAX 公式會自動應用於整個列。
例如,您可以建立一個計算列,從現有的“日期”列中提取年份,使用以下 DAX 公式:
= YEAR ([Date])
YEAR 是一個 DAX 函式,Date 是表中現有的列。如所見,表名稱用括號括起來。您將在“DAX 語法”章節中瞭解更多相關資訊。
當您使用此 DAX 公式向表中新增列時,列值會在您建立公式後立即計算。將建立一個新的列,其標題為 CalculatedColumn1,其中填充了年份值。
列值會根據需要重新計算,例如在重新整理基礎資料時。您可以根據現有列、計算欄位(度量值)和其他計算列建立計算列。
建立計算列
考慮以下螢幕截圖中顯示的包含奧運會結果的資料模型。
- 單擊資料檢視。
- 單擊“結果”選項卡。
您將檢視“結果”表。
如上圖所示,最右側列的標題為“新增列”。
- 單擊功能區上的“設計”選項卡。
- 單擊“列”組中的“新增”。
指標將出現在公式欄中。這意味著您正在使用 DAX 公式新增一個列。
- 在公式欄中鍵入 =YEAR([Date])。
如上圖所示,最右側帶有標題“新增列”的列已突出顯示。
- 按 Enter 鍵。
計算需要一段時間(幾秒鐘)。請稍候。
新計算列將插入到最右側“新增列”的左側。
如上圖所示,新插入的計算列已突出顯示。整個列中的值根據所使用的 DAX 公式顯示。列標題為 CalculatedColumn1。
重新命名計算列
要將計算列重新命名為有意義的名稱,請執行以下操作:
- 雙擊列標題。列名稱將被突出顯示。
- 選擇列名稱。
- 鍵入 Year(新名稱)。
如上圖所示,計算列的名稱已更改。
您還可以透過右鍵單擊該列,然後在下拉列表中單擊“重新命名”來重新命名計算列。
只需確保新名稱不與表中現有的名稱衝突即可。
檢查計算列的資料型別
您可以按如下方式檢查計算列的資料型別:
- 單擊功能區上的“開始”選項卡。
- 單擊“資料型別”。
如上圖所示,下拉列表包含列的可能資料型別。在此示例中,選擇了預設(自動)資料型別,即整數。
計算列中的錯誤
計算列中可能出現錯誤的原因如下:
更改或刪除表之間的關係。這是因為使用這些表中列的公式將變得無效。
公式包含迴圈或自引用依賴項。
效能問題
如前面奧運會結果示例中所見,“結果”表大約有 35000 行資料。因此,當您使用 DAX 公式建立列時,它會立即計算列中的所有 35000 多個值,這需要一些時間。資料模型和表旨在處理數百萬行資料。因此,當 DAX 公式引用過多時,可能會影響效能。您可以透過以下方法避免效能問題:
如果您的 DAX 公式包含許多複雜的依賴項,則將其分步建立,並將結果儲存在新的計算列中,而不是一次建立單個大型公式。這使您能夠驗證結果並評估效能。
當資料發生修改時,需要重新計算計算列。您可以將重新計算模式設定為手動,從而節省頻繁的重新計算。但是,如果計算列中的任何值不正確,則該列將變灰,直到您重新整理並重新計算資料。