【问题标题】:Total/Sum working incorrectly in Power BiPower Bi 中的 Total/Sum 工作不正确
【发布时间】:2017-08-08 06:56:17
【问题描述】:

我创建了一个报告,其中我创建了一些措施,例如 -

X = 
CALCULATE (
    DISTINCTCOUNT ( ActivityNew[Name] ),
    FILTER (
        ActivityNew,
        ActivityNew[Resource Owner Name] = MAX ( 'Resource Owners'[Manager Name] )
            && ActivityNew[LocationId] = 2
    )
)

当我在表中使用此度量时,列值不会相加。例如。如果此度量的值为 2,2,2,2,2,则表中的总计应为 10。但它显示为 2。

我注意到,无论我在哪里使用这个 MAX(),度量值都没有相加。

为什么会发生这种情况,他们有什么解决方案吗?

【问题讨论】:

标签: powerbi dax


【解决方案1】:

您使用的是DISTINCTCOUNT,它通常不可聚合。

假设你有下表Sales

+----------+------+-------+
| Customer | Item | Count |
+----------+------+-------+
| Albert   | Coke | 3     |
| Bertram  | Beer | 5     |
| Bertram  | Coke | 2     |
| Charlie  | Beer | 1     |
+----------+------+-------+

如果您想计算每个客户购买的不同商品的数量,您可以使用以下公式创建一个新度量:

[Distinct Items] := DISTINCTCOUNT(Sales[Item])

如果您在报告中包含[Customer] 列和[Distinct Items] 度量,它将输出以下内容:

+----------+----------------+
| Customer | Distinct Items |
+----------+----------------+
| Albert   | 1              |
| Bertram  | 2              |
| Charlie  | 1              |
+----------+----------------+
| Total    | 2              |
+----------+----------------+

如您所见,这并不能概括,因为总行的 上下文 是整个表格,没有被任何特定客户过滤。要改变这种行为,您必须明确告诉您的度量,它应该对在客户级别得出的值求和。为此,use the SUMX function。在我的示例中,度量公式应更改如下:

[Distinct Items] := SUMX(VALUES(Sales[Customer]), DISTINCTCOUNT(Sales[Item]))

因为我只想总结独特的客户,所以我使用VALUES(Sales[Customer])。如果您想对表格中的每一行求和,只需执行以下操作:SUMX(<table name>, <expression>)

进行此更改后,上述示例中的输出将是:

+----------+----------------+
| Customer | Distinct Items |
+----------+----------------+
| Albert   | 1              |
| Bertram  | 2              |
| Charlie  | 1              |
+----------+----------------+
| Total    | 4              |
+----------+----------------+

【讨论】:

  • 嘿,非常感谢您抽出宝贵时间回复此问题! ;)
猜你喜欢
  • 2018-11-28
  • 2023-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多