DAX表达式中包含时间智能(Time Intelligence)相关的函数,用于对日期维度进行累加、同比和环比等分析。PowerBI能够创建关系,通过过滤器来对影响计算的上下文。
DAX表达式有两种方式计算累加和,TOTALxTD()是DATESxTD()的语法糖,使得PowerBI对累加和的计算更加简单。
所有的时间关系函数都包含一个特殊的dates参数,该参数有三种形式:
- 对date/time列的引用,格式是DateTable[Date_Column]
- 表格表达式,返回日期/时间类型的单列表
- 布尔表达式,用于定义日期/时间值的单列表。
为了应用时间关系,按照时间对数据分析,最好单独创建一个日期维度表,并和事实表创建 1 : N 的关联,确保关系是活跃的。日期维度的粒度设置为Day,确保日期维度表包括所有的日期数据。
一,直接计算累加和
DAX中有三个函数直接用于计算累加和,TOTALMTD是按当前月计算累加和、TOTALQTD是按当前季度计算累加和、TOTALYTD是按当前年份计算累加和:
TOTALMTD(<expression>,<dates>[,<filter>])
TOTALQTD(<expression>,<dates>[,<filter>])
TOTALYTD(<expression>,<dates>[,<filter>][,&