power bi筛选器函数

1. RemoveFilters函数

  • 是筛选函数,其本身不数据表函数,也不数据值函数,进作为calculate函数的调节器使用【不推荐】
  • 跟all函数功能一样,但是只能放到calculate的筛选器
  • 例子
    总销售金额 = sum('REMOVEFILTERS'[销售金额])
    all = CALCULATE([总销售金额],all('REMOVEFILTERS'))
    REMOVEFILTERS = CALCULATE([总销售金额],REMOVEFILTERS('REMOVEFILTERS'))
    
    在这里插入图片描述

2. KeepFilters函数

  • 追加筛选
    • KEEPFILTER是内部条件与外部筛选取交集;
    • CALCULATE是内部条件取交集,不涉及外部。
  • 例子
    总金额 = sum('KEEPFILTERS'[销售金额])
    A商品销售 = CALCULATE([总金额],'KEEPFILTERS'[商品]="A")
    A商品销售keep = CALCULATE([总金额],KEEPFILTERS('KEEPFILTERS'[商品]="A"))
    A商品销售values = CALCULATE([总金额],'KEEPFILTERS'[商品]="A",VALUES('KEEPFILTERS'[商品]))
    
    在这里插入图片描述

3. crossFilter函数

  • 交叉筛选
  • 格式:CrossFilter(多端固定列名,一段固定列名,方向)
    • 必须是固定列名,不能是表达式生成的

      方向含义
      oneway单向筛选
      both双向筛选
      none无交叉筛选
  • 注意事项
    • 如果模型关系是一对一的情况,使用ONEWAY和BOTH没区别。
    • 如果多端列和一端列位置反了,函数本身会自我修正。
    • 此函数只能在接受筛选器作为参数的函数中使用
    • CROSSFILTER函数会覆盖任何现有筛选关系。
    • 如果两个参数没有任何链接关系,那么返回结果会报错。
    • 如果使用多个CROSSFILTER,最内层的会覆盖外面的。
  • 功能一:改变筛选方向
    数量 = COUNTROWS(RELATEDTABLE('商品表'))
    改变方向 = CALCULATE([数量],CROSSFILTER('销售表'[商品编码],'商品表'[商品编码],both))
    
    在这里插入图片描述
  • 功能二:
    • 使用模型关系筛选时,数量过大会导致模型运载变慢,可以使用crossfilter函数优化
    销售表数量 = COUNTROWS('销售表')
    改变方向1 = CALCULATE(countrows(RELATEDTABLE('销售表')),CROSSFILTER('销售表'[商品编码],'商品表'[商品编码],oneway))
    
    在这里插入图片描述

4. UseRelationShip函数

  • 用途
    • 用来激活指定的关系
    • 适用于做关联度分析
  • 案例一:处理订单数量与收货数量
    下单数量 = SUM ( '某宝'[销售数量] )
    送达数量 = CALCULATE([下单数量], USERELATIONSHIP ('某宝'[收货日期], '日期表'[Date]))
    
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荼靡~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值