Power BI中filter函数实现SQL Server中的where

本文对比了PowerBI与SQLServer在数据过滤上的实现方法,详细介绍了如何使用PowerBI的FILTER函数来复制SQLServer中WHERE子句的功能,特别关注于在销售数据中筛选数量大于20的记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Power BI是微软开发的一款功能非常强大的的BI工具,可以制作非常美观的报表,但这个工具的核心是DAX,翻译为中文就是 数据分析表达式,有点类似于excel函数,但又很不一样。

DAX中的很多功能可以与SQL对应,但差异也很大。

 

上篇文章中讲到用power bi实现sql中的join,代码如下:

SELECTCOLUMNS('销售表',
              "产品编码",RELATED('产品表'[产品编码]),
              "产品名称",RELATED('产品表'[产品名称]),
              "销售日期",'销售表'[销售日期],
              "数量",'销售表'[数量],
              "金额",'销售表'[金额]
)

下载Power BI 以及 输入实验数据,请参考前一篇文章: Power BI中selectcolumns函数+related函数实现SQL Server中的join 。

接下来就讲一讲,用Power BI中filter函数实现SQL Server中的where。

 

这里要实现的过滤条件是 销售表中 数量 字段的值 大于 20。

1、sql实现where

sql中实现where很简单,无非就是join的基础上,加上 where 过滤条件。

代码如下:

SELECT
    t2.产品编码,
	t2.产品名称,
	t1.销售日期,
	t1.数量,
	t1.金额
from 销售表 t1
INNER JOIN 产品表 t2
ON t1.产品编码 = t2.产品编码
where t1.数量 > 20

2、power bi中的实现方式之 filter函数

操作过程如下图:

输入如下代码,并回车:

SELECTCOLUMNS(filter('销售表','销售表'[数量] > 20),
              "产品编码",RELATED('产品表'[产品编码]),
              "产品名称",RELATED('产品表'[产品名称]),
              "销售日期",'销售表'[销售日期],
              "数量",'销售表'[数量],
              "金额",'销售表'[金额]
)

点击 左侧的图标,再点击 右侧的 “表2”,就可以看到 红色框标记的输出结果 

上面的代码和本文一开始的代码相比,只是把 '销售表' 替换为  filter('销售表','销售表'[数量] > 20)。

这里的filter 函数的第1个参数是指定 数据源,就是 销售表,第2个参数就是过滤条件,比如,这里只需要 销售表中 数量 大于 20的数据,当有多个过滤条件时,可以用 && 表示这些条件同时都要满足(类似sql中的and),而用 || 表示 只要任意一个条件满足就可以(类似sql中的 or )。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值