数据分析表达式 (DAX) 语言是一种公式语言,允许用户在 PowerPivot 表(“计算列”)和 Excel 数据透视表(“度量值”)中定义自定义计算。 DAX 包含一些在 Excel 公式中使用的函数,此外还包含其他设计用于处理关系数据和执行动态聚合的函数。
本部分解释以下概念:
DAX 公式的使用位置
如何创建 DAX 公式
通过 DAX 可以执行的操作类型
DAX 公式概述
DAX 公式与 Excel 公式非常相似。 要创建 DAX 公式,请键入一个等号,后跟函数名或表达式以及所需的任何值或参数。 与 Excel 类似,DAX 提供多种函数,可用于处理字符串、使用日期和时间执行计算或者创建条件值。
然而,DAX 公式在以下几个重要方面却有所不同:
DAX 函数始终引用完整的列或表。 如果您想要仅使用表或列中的特定值,则可以向公式中添加筛选器。
如果想要逐行自定义计算,PowerPivot 可提供允许您使用当前行值或相关值执行计算(因上下文而异)的函数。
DAX 包含一种函数,此类函数返回表作为其结果,而不是返回单个值。 这些函数可用于向其他函数提供输入,以便计算整个表或列的值。
一些 DAX 函数提供“时间智能”,通过该功能,您可以使用有效日期范围创建计算,并比较并行时间段内的结果。
公式的使用位置
您可以在 PowerPivot 表中或者 Excel 的数据透视表中使用 DAX 公式:
您可以通过添加列,然后在公式栏中键入一个表达式,在“计算列”中使用公式。 您在 PowerPivot 窗口中创建这些公式。 有关详细信息,请参阅计算列。
您可以在“度量值”中使用公式。 可以通过在现有 PowerPivot 数据透视表或数据透视图中单击**“添加度量值”**,在 Excel 中创建这些公式。 有关详细信息,请参阅PowerPivot 中的度量值。
根据公式的使用位置是在计算列中还是度量值中,相同的公式在行为上可能有所不同。 在计算列中,公式始终应用于列中的每一行,在整个表中均如此。 根据行上下文,值可能会发生变化。 但在度量值中,结果的计算强烈依赖于上下文。 也就是说,数据透视表的设计以及行和列标题的选择将会影响在计算中使用的值。 有关详细信息,请参阅DAX 公式中的上下文。
使用公式栏创建公式
与 Excel 类似,PowerPivot提供了公式栏和记忆式键入功能,前者使用户可以更方便地创建和编辑公式,后者可以尽量减少键入和语法错误。
输入表名称 开始键入表名称。 公式记忆式键入功能会提供一个下拉列表,其中包含以这些字母开头的有效名称。
输入列名称 键入括号,然后从当前表的列清单中选择列。 对于其他表中的列,首先键入表名称的前几个字母,然后从记忆式键入下拉列表中选择该列。
有关如何开发生成公式的演练,请参阅生成计算的公式。
使用记忆式键入的提示
可以在具有嵌套函数的现有公式中使用公式记忆式键入功能。 刚好在插入点之前的文本将用于显示下拉列表中的值,并且插入点之后的所有文本都保持不变。
您为常量创建的定义的名称不显示在记忆式键入下拉列表中,但您仍可以键入它们。
PowerPivot 不添加函数的右括号或自动匹配括号。 您必须确保每个函数在语法上都是正确的,否则不能保存或使用公式。
在公式中使用多个函数
您可以嵌套函数,这意味着您可以使用一个函数的结果作为另一个函数的参数。 在计算列中,最多可以嵌套 64 个级别的函数。 但是,嵌套可能会导致很难创建公式或者排除公式问题。
许多 PowerPivot 函数设计为仅用作嵌套函数。 这些函数返回一个表,该表不能直接作为结果保存到 PowerPivot 工作簿中;它必须作为表函数的输入提供。 例如,函数 SUMX、AVERAGEX 和 MINX 全都要求将表作为第一个参数。








暂无数据