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函式的輸入,這些函式需要表作為輸入。

excel_dax_syntax.htm
廣告
© . All rights reserved.