具有页面级过滤器的 DAX ISFILTERED 功能

问题描述 投票:0回答:1

我正在使用页面级过滤器(用户看不到),我在其中过滤掉不相关的值:

page level filter

我还将此过滤器添加到用户的页面中:

user filter

我的页面上有很多过滤器,因此我使用书签来显示/隐藏过滤器窗格。但我仍然想显示用户选择的内容。所以我创建了以下措施来展示:

  • “选定的过滤器:全部”(如果选择了所有值)
  • “选定的过滤器:值 1”如果“值 1”是唯一选定的(其他值相同)
  • “选定的过滤器:多个”如果选择了多个值(但不是全部)

.

MyMeasure = 
SWITCH(
    TRUE(),
    NOT(ISFILTERED(Example[Filter])),"Selected filter: ALL",
    HASONEVALUE(Example[Filter]),"Selected filter: " & SELECTEDVALUE(Example[Filter]),
    "Selected filter: Multiple"
)

如果我删除页面级过滤器,效果就很好:

with filter pane removed

但我确实想删除过滤器窗格中的“(空白)”和“空”值。当我这样做时,它不起作用:

not working

我猜这是因为

ISFILTERED(Example[Filter])
仍然识别出它是在页面级过滤器上过滤的。

有什么办法可以克服这个问题吗?

powerbi dax data-analysis powerbi-desktop measure
1个回答
0
投票

ISFILTERED() 正在按设计工作。我会通过使用 COUNTROWS() 来解决这个问题。获取所有行的不同计数,获取所选行的计数,然后比较这两个计数,以了解您在页面过滤器中手动过滤的数字。

顺便说一句,如果您的维度中显示(空白),则表明需要进行一些重构和数据清理。

© www.soinside.com 2019 - 2024. All rights reserved.