我有一个数据表“DF”,有两列:“国家/地区”和“销售额”。我一直在尝试创建一种可以显示树形图(或饼图)的度量,其中,从切片器(在本例中为德国)中选择一个或多个分类值时,除了所述选定值之外的所有值都会聚合为具有相同颜色的一类(“其他”),如下所示:
不幸的是,我的 DAX 技能并不像我希望的那么敏锐。我认为适当的逻辑是首先创建以下 VAR:
VAR SelectedCountries = VALUES('DF'[Country])
VAR Sales_SelectedCountries =
CALCULATE(
SUM('DF'[Sales]),
'DF'[Country] IN SelectedCountries
)
VAR Sales_OtherCountries =
CALCULATE(
SUM('DF'[Sales]),
NOT('DF'[Country] IN SelectedCountries)
)
现在我想剩下的就是引入 RETURN 并创建一个自定义表格,在其中添加 Sales_SelectedCountries 和 Sales_OtherCountries 作为适当标签和颜色下的列,并将它们放入视觉效果中;但我似乎无法弄清楚下一段代码背后的逻辑。
您可以创建一个包含两列的新表。如果在切片器中选择了一个国家/地区,则会显示该国家/地区的实际名称和销售额;所有未选择的国家/地区将汇总到标记为“其他”的一行中:
Selected Countries =
VAR SelectedCountries = VALUES('DF'[Country])
RETURN
UNION(
SELECTCOLUMNS(
FILTER('DF', 'DF'[Country] IN SelectedCountries),
"Country", 'DF'[Country],
"Sales", 'DF'[Sales]
),
SELECTCOLUMNS(
FILTER('DF', NOT('DF'[Country] IN SelectedCountries)),
"Country", "Others",
"Sales", SUMX(FILTER('DF', NOT('DF'[Country] IN SelectedCountries)), 'DF'[Sales])
)
)