dax 处理矩阵报表中的汇总值

dax handling summary values in a matrix report

源数据列是 Store、Product、StoreSales 和 ProductSales

StoreSales 具有重复的值,即使在不同的商店中也是如此。

正在寻找一个 dax 度量来处理图中描述的 StoreSales。

这是目前为止最接近的,但不考虑商店之间的重复。

店铺销售额:= sumx(DISTINCT(_Sales[StoreSales], _Sales[StoreSales])

screenshot of source and pivot table

要直接回答你的问题,这个公式应该会给你想要的结果:

Desired Result for Store Sales = 
IF(ISFILTERED(_Sales[Store]), SUM(_Store[Store Sales]))

但是,我建议重新审视您的数据模型设计。这在概念上是不正确的(您将详细数据与相同数据的摘要混合在一起),并且您将遇到 DAX 的严重问题。一种更好的数据结构方式:

  • 删除列 "Store Sales"。它是多余的,不符合数据的详细程度。
  • 将列 "Product Sales" 重命名为 "Sale Amount"。这只是销售额,没有任何限定词。
  • 创建度量 "Total Sales" = SUM(_Sales[Sale Amount])。它将正确计算产品和商店级别的总销售额。

如果您需要对实体店销售采取特殊措施,请使用 SUMX:

Store-level sales = SUMX (VALUES(_Sales[Store]), [Total Sales])

如果您需要展示产品对实体店销售的贡献:

Product Contribution = `DIVIDE([Total Sales], [Store-Level Sales])