如何在Power BI的可视表中显示子组总计?

时间:2019-04-12 14:59:07

标签: powerbi dax

我需要在Power BI中的可视表中显示子组总计。但是,Power BI向我显示了不正确的总计。如何创建一个度量来显示这一点?

我当前的表格外观是:

enter image description here

我的表关系是:

enter image description here

我需要的是

SiteName          LiftName           Amount
Site 1            Lift 1             668.00
Site 1            Lift 2             668.00
Site 2            Lift 3             604.00
Site 3            Lift 4             9.54
Site 4            Lift 6             9622.50
Site 4            Lift 8             9622.50
Site 4            Lift 9             9622.50

我尝试添加非活动关系并将其与USERELATIONSHIP函数一起使用,但是它给了我与已有的相同的感觉:

  

SiteAmount =计算(sum(Sales [Amount]),USERELATIONSHIP(Sales [SiteID],Sites [SiteID]))

有什么办法让此表根据需要显示?我无法修改模型中的关系以直接将Sales表与Sites表链接。如果需要,请参见下面的PBIX:

https://1drv.ms/u/s!AuiIgc_S9J5JhbYbCO2jbeQPfpzmXw

欢呼

1 个答案:

答案 0 :(得分:1)

在我看来,您想要的是[金额]的总和,除了网站以外,没有任何过滤条件。 DAX提供ALLEXCEPT函数来执行这种过滤。

不幸的是,我们试图忽略其影响的字段是与视觉表之间关系的一部分。所以我们有些怪异,我认为这是不可避免的。我们可以要求DAX隐藏这些行作为第二步。

SiteAmount = 
Var Amount = CALCULATE(
    SUM(Sales[Amount])
    , ALLEXCEPT(Sales,Sites[SiteName]
))
RETURN IF(ISBLANK(SUM(Sales[Amount])),BLANK(), Amount)