首页 > 解决方案 > 按类别划分的 DAX 百分比

问题描述

我有两个相同的表格视觉效果和一个计算类别百分比的度量。

% = 
DIVIDE(
    [m_SalesValue]
    ,CALCULATE([m_SalesValue], ALLSELECTED('Table'[Category]))
    ,BLANK()
)

当我选择(突出显示)一个类别(例如香蕉)时,另一个视觉对象会显示该类别的意外百分比值。预期值为 0.25,但显示为 1.00。我应该如何修改度量以获得预期的结果。

在此处输入图像描述

将挑战提升到更高的水平,让我们假设这两种视觉效果最初都经过了一些未指定的维度(例如水果)的交叉过滤。这就是为什么我使用ALLSELECTED而不是ALL.

这是源表:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSiwoyElV0lEyVYrViVZKSswDQiDXAsxNzkgtKqoEcs3B3PLEktSi3NSc/DygkKGRUmwsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Category = _t, SalesValue = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Category", type text}, {"SalesValue", Int64.Type}})
in
    #"Changed Type"

标签: powerbidax

解决方案


您将需要使用 ALLEXCEPT 并确定仍要应用的交叉过滤器。您的示例建议使用“水果”,这就是我在下面包含的内容。

% = 
DIVIDE(
    [m_SalesValue]
    ,CALCULATE([m_SalesValue], ALLEXCEPT(Table, 'Table'[Fruits]))
    ,BLANK()
)

推荐阅读