Power BI —— FILTER函数(对列操作)

一、语法结构:

在这里插入图片描述
其中:
1)第一个参数table是要筛选的表
2)第二个参数filter是筛选条件
3)返回的是一张表,不能单独使用,需要与其他函数结合使用

二、应用场景:

要做更复杂的运算,通过简单的布尔表达式根本无法实现的情况
例如:度量值[产品数量 2]= CALCULATE([产品数量],‘产品明细’[品牌]=“苹果”)
等同于:
= CALCULATE([产品数量],
FILTER(ALL(‘产品明细’[品牌]),
‘产品明细’[品牌]=“苹果”))
两种方式返回的结果一致

三、案例分析:

*用到的函数:
在这里插入图片描述
全国连锁电子产品专卖店的 2016 至 2017 年的销售明细,销售产品有三类:手机、电脑、平板,每一类又分别来自三个品牌:小米、苹果、三星,这个店销售的产品共计 9 个,全国 8 个城市门店设有门店:
在这里插入图片描述
还有几个维度表和一个日期表,模型关系图如下:
在这里插入图片描述
现在想找出年销售额超过 2000 万的城市销售金额,FILTER 的实现方法:

步骤1:新建一个度量值[销售总额]:销售总额 = sum(‘销售明细’[销售额])

步骤2:再建一个度量值[大于 2000 万的城市销售金额]= CALCULATE([销售总额],
FILTER(ALL(‘门店城市’),
[销售总额]>20000000))

这个度量值先利用 FILTER 函数,筛选出销售大于 2000 万的城市,然后再汇总这些城市的销售额,返回结果如下:
在这里插入图片描述
超过 2000 万销售额的城市的销售额总计等于 451026000,但发现上面明细的两个数字之和并不等于总计,这正是 PowerBI 中数据模型的特点:在这个表格中,每个数据都是独立运算的,和其他数字没有关系。上面两个数字代表的是,在销售额超过 2000 万的城市中,单个产品的销售额也大于 2000万的只有苹果电脑和苹果手机,这两个数字正是内部上下文和外部上下文相结合,筛选计算的结果。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值