1

我有一个包含 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])))

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

4

1 回答 1

2

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

  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表之间创建关系。你不想要那个。

于 2017-12-13T04:09:32.427 回答