- 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 - 命名要求
資料模型包含存在關係的表。它是Power Pivot的資料庫。每個表都儲存在資料模型中的單獨選項卡上,表名作為選項卡名給出。每個表都將包含表示資料欄位的列。列名將顯示為資料透視表字段列表中的資料欄位。
資料模型中的表必須具有唯一名稱。
表名不區分大小寫。例如,Results、RESULTS、results——所有這些都代表同一張表。
新增到資料模型的每個計算列和計算欄位都必須與特定表關聯。
建立計算列時,您將在表內進行操作,從而將其隱式地與該表關聯。
建立計算欄位時,您將在Power Pivot視窗中的表內建立它,或者從Excel視窗指定應儲存計算欄位定義的表的名稱。
在這兩種情況下,計算欄位都被稱為顯式計算欄位,並與表關聯。
跨表的DAX命名要求
如果列來自當前表以外的表,則需要在DAX公式中指定表名。
如果表名包含空格、其他特殊字元或任何非英語字母數字字元,則表名必須用單引號括起來。
DAX命名要求 - 計算欄位
計算欄位的名稱必須始終用括號括起來。
計算欄位的名稱可以包含空格。
每個計算欄位名稱在一個數據模型中必須唯一。表名前面的計算欄位名稱是可選的,因為它始終與特定表關聯。
DAX命名要求 - 列
列名在一個表中必須唯一。但是,不同的表可以使用相同的列名。
如果沒有命名衝突,可以使用非限定列名引用列。非限定列名只是用括號括起來的列名。例如[Medal]。引用當前表同一行的標量值時,可以使用非限定列名。
但是,如果在多個表中使用相同的列名,則必須使用完全限定的列名引用該列。完全限定的列名是表名後跟方括號中的列名。例如Results[Medal]。
將列用作DAX函式的輸入時,最好使用完全限定的列名。以下DAX函式要求列名被完全限定:
VALUES。
ALL和ALLEXCEPT。
CALCULATE和CALCULATETABLE - 在篩選器引數中。
RELATEDTABLE。
DAX時間智慧函式。
DAX命名要求 - 保留關鍵字
如果為表使用的名稱與Analysis Services保留關鍵字相同,則會引發錯誤,您必須重命名錶。但是,如果物件名稱用括號(對於列)或引號(對於表)括起來,則可以在物件名稱中使用關鍵字。
引號可以用幾種不同的字元表示,具體取決於使用的應用程式。因此,如果從外部文件或網頁貼上公式,請確保檢查用於開啟和關閉引號的字元的ASCII碼,以確保它們相同。否則,DAX可能無法識別這些符號為引號,從而使引用無效。
DAX完全限定名稱 - 特殊情況
如果表名包含空格、保留關鍵字或不允許的字元,則必須將表名用單引號括起來。例如‘East_Sales'[Amount]。
如果名稱包含任何ANSI字母數字字元範圍之外的字元,則必須將表名用引號括起來,無論您的區域設定是否支援字元集。例如,如果表名是用西裡爾字母寫的,例如‘Таблица’,則即使表名不包含空格,也必須用引號括起來。
您可以使用公式自動完成功能,因為它只需從下拉列表中選擇列的完全限定名稱,從而使您的工作更輕鬆且不易出錯。
名稱中特殊字元的排除
以下字元和字元型別在表、列或計算欄位的名稱中無效:
除非空格用名稱分隔符、括號或單撇號括起來,否則開頭或結尾的空格。控制字元。
以下字元在Power Pivot物件的名稱中無效:
.,;':/\*|?&%$!+=()[]{}<>
常見的DAX公式規則
DAX公式語法取決於它可以執行的操作型別,如果包含DAX函式,則差異很大。以下規則適用於所有DAX公式:
DAX公式無法修改或插入表中的單個值。
不能使用DAX建立計算行。只能建立計算列和計算欄位。
定義計算列時,您可以將函式巢狀到任何級別(最大為64,這有點太多了)。
DAX有幾個返回表的函式。通常,您將這些DAX函式返回的值用作其他DAX函式的輸入,這些函式需要表作為輸入。