《power BI》 高级筛选器Filter 和Values人工造表 ALL 函数

本文介绍了Power BI中高级筛选器的使用,包括FILTER函数的迭代筛选,VALUES用于创建唯一值表,以及ALL函数在清除筛选条件中的应用。FILTER函数适用于复杂筛选条件,VALUES可生成唯一值表,而ALL函数能清除筛选后的表格或列。同时讨论了ALL函数的不同形式以及与ALLSELECTED和ALLEXCEPT函数的区别。
FILTER

Filter函数是一个迭代函数,会对筛选表进行逐行扫描,是一个表函数,会返回一个表。

FILTER 函数 的第一个参数 表 ,必须是唯一值的表

COUNTROWS(FILTER(表,筛选条件))

CALCULATE(度量值,FILTER(表名,筛选条件1 && 条件2))

如果筛选条件是列 = 值 ,则不需要用filter,但是如果筛选条件是

列 = 度量值 、列 = 公式 、列 = 列 、度量值 = 度量值 、度量值 = 公式 、度量值 = 固定值,

则筛选条件必须使用FILTER来表达,否则CALCULATE 函数会报错。


VALUES

人工造表,该表为唯一值的表

新表 = VALUES(‘源表’[目标列])

filter总分2 = calculate([度量值总分],filter(values(‘成绩表’[学号]),[度量值总分]>250))

filter 内部 如果是使用度量值进行筛选,必须使用度量值本身,而不能是度量值的公式,因为只有度量值本身才具有筛选功能,否则需要在filter外面套上calculate函数。
在这里插入图片描述


新建列是行上下文,没有筛选功能

度量值天生具有筛选功能

想让行上下文实现筛选功能,只需要在外面套上一个calculate函数即可。


ALL

ALL函数的作用是清除返回,返回清除筛选后的表格或列。

商品表中的商品总数 = COUNTROWS(‘商品表’)

countrows(values(商品表[商品名]))或者:
销售表中的商品品种数量 = CALCULATE(COUNTROWS(‘商品表’),‘销售表’)

不能被筛选的商品总数 = COUNTROWS(ALL(‘商品表’))

ALL函数可以清除所有筛选条件,语法:

  • ALL(表) 清除表格内所有筛选
  • ALL(表[列]) 清除某一列的筛选,其他列的筛选仍然生效
    ALL 函数在引用列的时候,必须与矩阵的行与列在同一张表上。

占比 = [销售表中的商品数量] / [不能被筛选的商品总数]


总销量 = SUM(‘销售表’[销售数量])

禁止筛选的总销量 = CALCULATE([总销量],ALL(‘销售表’))

每个商品的占比 = [总销量] / [禁止筛选的总量]

可以加切片器(外部筛选)

ALL 函数可以忽略所有内部筛选和外部筛选,当加入切片器的时候,占比总计会发生变化,如果想要占比总计是100%,则需要将ALL函数替换为ALLSELECTED函数

ALLSELECTED函数只忽略内部筛选,不能忽略外部筛选。

ALL([表]列)可以对某一列取消筛选,

ALLEXCEPT(表[列])可以保留所选列的筛选,其他的清除。


ALLNOBLANKROW函数是一个表函数,可以返回表中除空白行以外的所有行。

表 = ALLNOBLANKROW(‘子表’)

表 = ALLNOBLANKROW(‘子表’[姓名])

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值