繁体   English   中英

Power BI DAX 中窗口化总数的百分比

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM