微软的Power BI使用了Data Analysis Expressions (DAX)语言对数据进行计算和分析。如果之前经常使用Excel,那么对DAX语言上手应该比较容易。它的使用方法与常规的Excel计算表达式有相似之处,可以对数据进行算术运算,关系运算或者逻辑运算。但是DAX与Excel使用的公式有本质区别,Excel的公式是针对某一区间进行运算的,例如指定计算A1到A10这区间内数字的总和。而DAX是针对表单和列进行计算的。在Power BI中,你无法直接指定只计算某几列数值之和,如果不用Filter(过滤)方法,要求和,就只能对整个列的数值求和。
虽然只要有数据,Power BI就可以创建Report,但是几乎没有任何原始数据导入到Power BI中就可以生成有实际应用意义的Report,因此使用DAX语言对Power BI中的数据进行计算整理基本是每次创建Report的必要步骤。
DAX语言的入门比较简单,特别是对于已经有用Excel整理数据经验的人。难点是后续如何将多个公式结合到一起进行整理运算。DAX语言主要包含三部分:Syntax(语法), Functions(函数), and Context (上下文)。
- Syntax(语法)
DAX中的语法主要定义了函数的组成部分,以及规范了函数应该如何进行书写。 - Functions (函数)
函数主要是DAX中预先设定好的一系列公式,通过带入特定参数来获取计算结果。主要支持的函数类型包括:
– 日期和时间函数 (Data and Time Functions)
主要作用是获取相关时间数据,类似于Excel表中的时间函数,常用于与时间相关的统计报表中。
– 筛选器函数 (Filter Functions)
开篇介绍过,由于DAX是针对表单和列进行计算的,无法直接对特点某些单元格内容进行计算,因此需要引用筛选器函数现将需要计算的单元格通过筛选器过滤出来,之后再应用其他类型的函数进行计算。
– 信息函数 (Information Functions)
信息函数主要功能是将某特定单