[英]Percent of Total Windowed in Power BI DAX
我有这两个表:
一个数据表...
ImaginaryData =
DATATABLE (
"Fruit", STRING,
"Colour", STRING,
"Amount", INTEGER,
{
{ "Apple", "Red", 10 },
{ "Apple", "Green", 5 },
{ "Pear", "Pink", 100 },
{ "Pear", "Blue", 65 },
{ "Orange", "Black", 12 },
{ "Orange", "White", 8 }
} )
一个查找表...
ImaginaryLookup =
DATATABLE (
"Fruit", STRING,
{
{ "Apple" },
{ "Pear" },
{ "Orange" }
} )
然后我创建了这个简单的一对多关系:
现在我正在尝试创建一个 Percent of Total 度量以添加到表格中 - 但我希望总数的百分比基于在 ImaginaryLookup 切片器中选择的水果总数:
这是我尝试过的:
%Total =
DIVIDE(
sum( ImaginaryData[Amount] ),
CALCULATE(
sum( ImaginaryData[Amount] ),
ALL(ImaginaryData)
)
)
如果在切片器中选择了所有水果,那么它可以正常工作:
但是如果我选择说“橙色”,那么结果不是我想要的,因为我希望 12 和 8 是 20 的百分比:
这也没有给我我想要的:
%Total =
DIVIDE(
sum( ImaginaryData[Amount] ),
CALCULATE(
sum( ImaginaryData[Amount] ),
ALLEXCEPT(ImaginaryData, ImaginaryData[Fruit])
)
)
因为现在如果我选择说梨子和橙子,那么它给我的是每个水果总数的百分比,而不是 185 的百分比:
给亚历克西斯的注意事项
如果我试试这个:
%Total =
DIVIDE(
sum( ImaginaryData[Amount] ),
CALCULATE(
sum( ImaginaryData[Amount] ),
ALLSELECTED( ImaginaryData[Fruit])
)
)
我明白了:
ALL
函数删除所有过滤器上下文。 尝试使用ALLSELECTED
代替。 这将保留您的切片器选择,同时删除表视觉对象的过滤器上下文。
如果你使用这个(注意我没有指定一列):
%Total =
DIVIDE(
SUM( ImaginaryData[Amount] ),
CALCULATE(
SUM( ImaginaryData[Amount] ),
ALLSELECTED( ImaginaryData )
)
)
那么你应该得到这个结果:
如果您执行ALLSELECTED(ImaginaryData[Fruit])
则它不起作用的原因是Colour
过滤器上下文仍然存在,因此您不会选择其他水果,因为它们的颜色都与您正在评估的行不同。
我使用了以下措施,它按预期工作:
%Total =
CALCULATE(DIVIDE(sum(ImaginaryData[Amount]),
CALCULATE(SUM(ImaginaryData[Amount]),ALLSELECTED(ImaginaryData))))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.