【问题标题】:PowerBI: Slicer to filter a table Only when more than 1 value is selectedPowerBI: Slicer to filter a table Only when more than 1 value is selected
【发布时间】:2017-12-12 20:28:37
【问题描述】:

我有一个表格,其中包含 5 个类别和单位,显示为 2 种类型,即实际和预算。

我想过滤这个表。仅当在切片器中选择了 2 个或更多值时。像这样的东西。

我想添加一个度量,但不知道如何准确地使用 if 语句。

Measure = IF(COUNTROWS(ALLSELECTED(Report[Shipment Group])) = 1, "Something which would not filter the units", SELECTEDVALUE(Report[Units], SUM(Report[Units])))

不确定这是否是正确的方法。想知道是否有任何其他方法是可能的。任何帮助都会有所帮助。提前谢谢你。

【问题讨论】:

    标签: filter powerbi slicers


    【解决方案1】:

    这有点奇怪,但我认为我有一些可行的方法。

    1. 首先,您需要为切片器值创建一个单独的表(否则您无法控制您想要的过滤方式)。您可以点击新建表格按钮并将其定义如下:

    Groups = VALUES(Report[Shipment Group])
    

    1. 将切片器设置为使用 Groups[Shipment Group] 而不是 Report[Shipment Group]

    2. 如下定义您的新度量:


    Measure = IF(COUNTROWS(ALLSELECTED(Groups[Shipment Group])) = 1,
                 SUM(Report[Units]),
                 SUMX(FILTER(Report,
                             Report[Shipment Group] IN VALUES(Groups[Shipment Group])),
                      Report[Units]))
    

    或等价的

    Measure = IF(COUNTROWS(ALLSELECTED(Groups[Shipment Group])) = 1,
                 SUM(Report[Units]),
                 CALCULATE(SUM(Report[Units]),
                           FILTER(Report,
                                  Report[Shipment Group] IN VALUES(Groups[Shipment Group]))))
    

    注意:仔细检查 Power BI 是否未自动在 GroupsReport 表之间创建关系。你不想这样。

    【讨论】:

    • 感谢您回答这个问题。是的,这确实有效,但不幸的是,我的切片器也与其他图表捆绑在一起。所以我需要使用 Reports 表中的 Shipment 组。有没有其他办法解决这个问题?
    • @NeilS 要获得您想要的行为,我认为它必须是一个单独的表。目前我能想到的唯一解决方法是调整其他图表中的度量。将其包装在类似的 CALCULATE(...,FILTER(...)) 中可能会起作用。
    猜你喜欢
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2016-02-01
    • 2015-01-03
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 2022-12-02
    相关资源
    最近更新 更多