DAX - 公式语言(解码为
简而言之,DAX 是数据透视表的公式。与常规 Excel 函数相比,大多数 DAX 函数具有相似的名称和特征,但只能在 PowerPivot 中使用。众所周知,普通 汇总表 可能包含计算字段(模拟
一般来说,DAX 并不是一门复杂的语言,乍一看似乎很复杂,您只需要了解其运行原理即可。 Excel 公式和 DAX 公式之间的区别在于,在 Excel 中我们对单个单元格和范围进行操作,而在 DAX 中我们只能访问整个表及其列。
要开始使用 DAX 代码,我们需要 设置PowerPivot 为了 Excel 2010 或转到中的同名选项卡 Excel 2013 。
与 Excel 一样,DAX 函数属于某些类别,即:
在 PowerPivot 中,用户可以创建两种类型的计算字段:
相同的公式可能有不同的表现,具体取决于它们是否使用在 沉降柱 或在 措施 。如果该公式用于 计算栏 ,它适用于整个表中的每一列行。该值可能取决于字符串的上下文。在 措施 计算结果更加依赖于上下文。这意味着数据透视表的设计以及行和列标题的选择会影响计算中使用的值。
换句话说,当我们创建 汇总表 , 然后:
在DAX语言中还有上下文这样的概念,这对于理解公式的功能非常重要。 PowerPivot 中的公式可能会受到数据透视表中应用的筛选器、表之间的关系以及公式中的筛选器的影响。上下文允许进行动态分析。在构建公式和排除公式故障时,了解上下文的目的非常重要。
所以DAX中有三种类型的上下文: 过滤上下文 , 字符串上下文 和 请求上下文 。
过滤上下文 是每列中允许的值的集合,具体取决于适用于该行的过滤器约束或由公式中的过滤器条件定义的过滤器约束。
字符串上下文 - 实际上对应于当前行的概念。如果创建了计算列,则每个单独行中的值以及与当前行相关的列中的值将充当该行的上下文。
请求上下文 - 指根据数据透视表中的行标题和列标题为每个数据透视表单元格隐式创建的数据子集(数据透视表布局设计)。