PowerBI基础知识——DAX

SQL专栏

SQL数据库基础知识汇总

SQL数据库高级知识汇总

什么是DAX

它是英文Data Analysis Expression的缩写,中文意思就是数据分析表达式。它是公式或表达式中可用于计算并返回一个或多个值的函数、运算符或常量的集合。 简单来说,DAX 可帮助你通过模型中已有的数据来创建新信息。

DAX语法

为方便介绍,我们用上一篇中的一个度量值示例来具体介绍DAX的语法公式

城市数量 = COUNT(Customers1[城市])

1、城市数量是度量值的名称

2、=表示公式的开头,计算结束后将返回结果

3、COUNT()是DAX中的一个函数,表示计数

4、Customers1是被COUNT()函数引用的表,如果是中文名称的表需要加单引号''

5、[城市]是被引用的列,这样COUNT()函数就知道被聚合的是哪一列了。[]是必须加上的

DAX常用函数

上面的语法中我们介绍了DAX中常用的COUNT函数,此外还有很多我们常见的函数。

聚合函数

SUM 求和

MAX 求最大值

MIN 求最小值

AVERAGE 求平均值

COUNTROWS 计算行数

DISTINCTCOUNT 计算不重复值的个数

时间智能函数

时间智能函数通过使用时间段(包括日、月、季度和年)对数据进行操作,然后生成和比较针对这些时段的计算,支持商业智能分析的需要。常见的时间智能函数如下。

PREVIOUSYEAR/QUARTER/MONTH/DAY

表示上一年/季/月/日

NEXTYEAR/QUARTER/MONTH/DAY

表示下一年/季/月/日

TOTALYTD/QTD/MTD

表示年初/季初/月初至今

SAMEPERIODLASTYEAR

表示上年同期

PARALLELPERIOD

表示上一期

DATESINPERIOD

表示指定期间的日期

筛选器函数

筛选器函数与我们数据库中的WHERE条件语句非常类似,通过筛选指定的列来返回我们需要的结果集。常见的筛选器函数如下。

FILTER

表示另一个表或表达式的子集的表,主要用来筛选表

ALL

返回表中的所有行或者返回列中的所有值,同时忽略可能已应用的任何筛选器。主要用来清除筛选。

ALLEXCEPT

删除表中除已应用于指定列的筛选器之外的所有上下文筛选器。主要用来保留指定的列。

VALUES

返回由一列构成的一个表,该表包含来自指定表或列的非重复值。 换言之,重复值将被删除,仅返回唯一值。

RELATED

从另一个表返回相关值。主要通过关联关系返回另外一个表中的值。使用前提是必须存在关联关系。

CALCULATE

DAX中最重要的函数,在指定筛选器修改的上下文中计算表达式。常与各种函数嵌套使用。

批注

这一章只是让大家对DAX有个初步的认识,在后续的章节中我们会对DAX作进一步详细的讲解,比如每个函数的具体用法,一些复杂表达式的写法等等。

上一篇:PowerBI视觉对象共计271组,2021.01.20日更新


下一篇:修复PowerBI性能问题