从数据到信息
从信息到洞察

理解 REMOVEFILTERS

语法

移除指定表或列中的筛选器。

REMOVEFILTERS ( [<TableNameOrColumnName>], [ <ColumnName> [, <ColumnName> [, … ] ] ] )

REMOVEFILTERSALL 函数的别名,但它只能用作 CALCULATE 调节器,起到移除筛选器的作用,不能像 ALL 那样用作表表达式。

ALL 类型的有两种不同的语义,表表达式或 CALCULATE 调节器,这也使它们的作用在一些复杂公式中变的难以识别。为了使 ALL 函数的语义更为清晰,建议你在移除筛选器的时候始终使用 REMOVEFILTERS

实例

DEFINE
MEASURE FactInternetSales[TotalSales] = SUM(FactInternetSales[SalesAmount])
MEASURE FactInternetSales[%Sales] = DIVIDE([TotalSales], CALCULATE([TotalSales],REMOVEFILTERS()))

EVALUATE
    SUMMARIZECOLUMNS(
      ROLLUPADDISSUBTOTAL(DimProductCategory[EnglishProductCategoryName], "IsGrandTotal"),
      "TotalSales", [TotalSales],
      "%Sales", [%Sales]
    )
ORDER BY
  [IsGrandTotal] DESC, [TotalSales] DESC

REMOVEFILTERS 移除了外部的所有筛选器,使得[%Sales]的分母可以正确计算总计值

DimProductCategory[EnglishProductCategoryName] [IsGrandTotal] [TotalSales] [%Sales]
Row1 True 29358677.2207 1
Bikes False 28318144.6507 0.9645
Accessories False 700759.96 0.0238
Clothing False 339772.61 0.0116

2
说点什么

1000
 
鼓掌微笑开心憧憬爱你色并不觉得吃瓜doge二哈喵喵思考笑哭捂脸悲伤大哭抓狂汗偷笑打脸捂眼黑线问号晕拜拜闭嘴衰咒骂ok作揖
1 评论数
1 被回复的评论
2 订阅评论的人数
 
查看最近回复
查看最热评论
  订阅本文评论  
最新 最旧 得票最多
提醒
成员
做一名学霸

老师好,我看本文中的实例,REMOVEFILTERS函数后面没带参数,不带参数的话,是清除整个模型(所有表)的筛选器吗?

DAX 圣经

导读

初识 DAX

DAX 基础知识

DAX 原理

DAX 高级原理

基础函数类型

迭代函数

CALCULATE 函数

CALCULATE 调节器

基础表函数

条件判断函数

查找匹配函数

时间智能函数

统计类函数

投影函数

分组/连接函数

集合函数

其他函数