此上下文中不允许函数定义。_DAX函数---ALL家族

b32f9d05a1e7ba3b02bb4ac7a0eb2429.png

“ALL”系列函数对比

*备注:数据为处理后的数据,非实际商业数据

ALL函数(删除筛选器):

【正选】返回表中的所有行或者返回列中的所有值,同时忽略可能已应用的任何筛选器。此函数可用于清除筛选器并对表中的所有行创建计算。

备注:
①就像REMOVEFILTERS一样,此功能从过滤器上下文中删除相应的过滤器。直接在CALCULATE或CALCULATETABLE的过滤器参数中调用时,它不会具体化结果表。
②当ALL具有至少一个参数时,可以将其用作表表达式。
③不带参数的ALL只能用作CALCULATE或CALCULATETABLE修饰符,并从过滤器上下文中删除所有过滤器。

7ee9fa0d50825a9ac62439fc70a30c68.png

案例:

All就是删除省区筛选器,最总得到的是合计数据。

度量值:

完成单量:=CALCULATE(SUM('区域对照表'[完成单量]))

完成单量ALL:=CALCULATE(SUM('区域对照表'[完成单量]),ALL('区域对照表'[省区]))

结果:

6a2ec0416c890223a27dd23a53db5a0a.png

ALLEXCEPT函数(删除筛选器):

【反选】函数用于移除其他字段的所有过滤器,而保留参数指定的字段上的过滤器,与ALL()函数相反。

备注:此函数从过滤器上下文中删除相应的过滤器。直接在CALCULATE或CALCULATETABLE 的过滤器参数中调用时,它不会具体化结果表。

05ba55aab6b094367cf982caed0629d2.png

案例(区别ALL与ALLEXCEPT):

度量值:

All,删除区域和省区筛选器,结果是按照大区筛选计算的结果;ALLEXCEPT,删除“除大区”外的筛选器(保留大区筛选器),最终结果一致。

完成单量(ALL【省区】【区域】)=CALCULATE(SUM('区域对照表'[完成单量]),ALL('区域对照表'[区域],'区域对照表'[省区]));

完成单量(ALL【省区】【区域】):=CALCULATE(SUM('区域对照表'[完成单量]),ALLEXCEPT('区域对照表','区域对照表'[大区]))

结果:

14688ac484daa8797a3f818485191172.png

ALLSELECETED函数(删除筛选器):

【正选】从当前查询的上下文中移除的行和列的过滤(即忽略行和列的过滤),而保留当前查询除行和列之外的上下文过滤器或显式定义的过滤器(例如切片器等)。

备注:
①此函数从过滤器上下文中删除相应的过滤器,还原最后一个阴影过滤器上下文。直接在CALCULATE或CALCULATETABLE的过滤器参数中调用时,它不会具体化结果表。
②当它具有至少一个参数时,ALLSELECTED可以用作表表达式。
③不带参数的ALLSELECTED只能用作CALCULATE或CALCULATETABLE修饰符,并从过滤器上下文中删除所有过滤器。
④自2019年5月以来,ALLSELECTED支持多列作为参数。

案例:(区别ALL与ALLSELETED)

All,删除省区筛选器,得出的结果是全部省区合计的结果(不受任何切片器的影响);ALLSELETED,删除省区筛选器,在有切片器的情况下,得出切片器选择的区域合计结果。

度量值:

完成单量ALL:=CALCULATE(SUM('区域对照表'[完成单量]),ALL('区域对照表'[省区]))

完成单量ALLSELETED:=CALCULATE(SUM('区域对照表'[完成单量]),ALLSELETED('区域对照表'[省区]))

结果:

ad3c091e4348cf69be6fb67d3564d4c9.png

1429978bd26d676859d3904cbe70ad6c.png

ALLNOBLANKROW:

返回表中除空白行或列中的所有值以外的所有行,而忽略可能已应用的所有过滤器。

备注:此函数从过滤器上下文中删除相应的过滤器。直接在CALCULATE或CALCULATETABLE 的过滤器参数中调用时,它不会具体化结果表。

725f9c39642e947621a54f080b363ae7.png

案例:

ALLNOBLANKROW忽略现有的全部筛选器。

度量值:

完成单量ALL:=CALCULATE(SUM('区域对照表'[完成单量]),ALL('区域对照表'[省区]))

完成单量(ALLNOBLANKROW):=CALCULATE(SUM('区域对照表'[完成单量]),ALLNOBLANKROW('区域对照表'))

结果:

60c62a2f067a8c3f7e86f3bdc7dd7cc1.png

ALLCROSSFILTERED:

用于清除应用到表上的所有过滤器,该函数不返回任何值,仅仅用于清除表上的过滤器。

备注:

①ALLCROSSFILTERED只能用作CALCULATE修饰符,而不能用作表函数。
②ALLCROSSFILTERED删除在扩展表(如ALL)以及由于直接或间接连接到扩展表的关系上设置的双向交叉过滤器而被交叉过滤的列和表上的所有过滤器。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值