Power BI是微软开发的一款功能非常强大的的BI工具,可以制作非常美观的报表,但这个工具的核心是DAX,翻译为中文就是 数据分析表达式,有点类似于excel函数,但又很不一样。
DAX中的很多功能可以与SQL对应,但差异也很大。
下载Power BI 以及 输入实验数据,请参考前一篇文章: Power BI中selectcolumns函数+related函数实现SQL Server中的join 。
在前面的文章 Power BI中filter函数实现SQL Server中的where 中, 提到用filter 函数实现where,而本文是讲 用calculatetable函数实现,是另一种方法。
这里要实现的过滤条件是 销售表中 数量 字段的值 大于 20,然后显示销售表的数据,不需要关联其他的表。
1、sql实现where
代码如下:
SELECT
t1.产品编码,
t1.销售日期,
t1.数量,
t1.金额
from 销售表 t1
where t1.数量 > 20
2、power bi中的实现方式
代码如下:
tb = calculatetable('销售表', '销售表'[数量] > 20)
操作过程如下图:
calculatetable函数的返回的是一个表。
参数说明:
(1)第1个参数是指定 从哪个表取数,类似sql中的 from 表
(2)从第2个参数开始,可以指定多个参数,都是过滤条件,比如,我们还可以在加一个条件 数量小于等于 30 :
calculatetable('销售表', '销售表'[数量] > 20, '销售表'[数量]<= 30)
(3)在一个参数中,没办法写2个过滤条件,类似这样的写法,会报错:
calculatetable('销售表', '销售表'[数量] > 20 && '销售表'[数量]<= 30 )