- 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函数的输入,这些函数需要表作为输入。