Power BI 学习七: DAX 表达式

今天要要细谈的是DAX表达式!至于这个因为涉及比较广而细,我只能整理我看过比较好的文章分享给大家!

博客园:PowerBI开发 第四篇:DAX表达式

此篇文章着重的讲了

1.常用操作符

2.过滤函数

3.统计函数

4.文本函数

5.逻辑函数

6.关系

六个方面很好很细致的诠释了DAX相关知识

当然这里我们要着重的讲一下Conculate函数,他可以是左手拿计算器,右手拿筛选器的圣人,在右边的漏斗筛选完毕左边的计算才会执行!

conculate详细解说:https://www.jianshu.com/p/d07b257d3590

CALCULATE的语法结构

语法:

CALCULATE(,,…)

第一个参数是计算表达式,可以执行各种聚合运算

从第二个参数开始,是一系列筛选条件,可以为空;如果多个筛选条件,用逗号分隔

所有晒选条件的交集形成最终的筛选数据集合

根据筛选出的数据集合执行第一个参数的聚合运算并返回运算结果

前文提到DAX函数可以更改外部上下文,现在通过实例来理解DAX中最精髓的函数CALCULATE的计算原理,并看看它是如何更改外部上下文的。

实例

Power BI 学习七: DAX 表达式_第1张图片

Total Profit = SUM('订单'[利润])

复印机利润 = CALCULATE([Total Profit],'订单'[子类别]="复印机")

Power BI 学习七: DAX 表达式_第2张图片

profit(ALL) = CALCULATE([Total Profit],ALL('订单'[子类别]))

利润占比 = [Total Profit]/[profit(ALL)]

 

Power BI 学习七: DAX 表达式_第3张图片

 

Calculate 的老伙计:Filter

这里牢记杀鸡焉用牛刀,如果在calculate能单独解决的时候当然就不必要用filter来处理,因为filter是一个迭代函数,如同后面要讲到的sumx等函数它们对所筛选的表进行逐行的横向扫描,针对每一行循环地执行设定的筛选程序

FILTER语法

FILTER(,)

第一个参数是要筛选的表

第二个参数是筛选条件

返回的是一张表,不能单独使用,需要与其他函数结合使用

FILTER用例

 

 

你可能感兴趣的:(可视化之PBI,dax表达式,power,bi)