【问题标题】:Power BI: How to make a measure grouped off of another columnPower BI:如何将度量从另一列分组
【发布时间】:2016-09-02 00:51:43
【问题描述】:

我刚刚开始使用 Power BI,并且在尝试解决这个问题时遇到了最令人沮丧的事情。

这是我从 Excel 文件中提取的数据的一个非常小的示例。无法通过其他方式获得。

╔══════════════╦══════════════════╦═══════════════╦═══════════════════════╗ ║ Product Type ║ Product Name ║ Dollar Sales ║ Product Share of Type ║ ╠══════════════╬══════════════════╬═══════════════╬═══════════════════════╣ ║ Bagels ║ Client 1 Bagels ║ $15,521.09 ║ 2.42 ║ ║ Bagels ║ Client 2 Bagels ║ $112,059.11 ║ 17.46 ║ ║ Muffins ║ Client 1 Muffins ║ $141,417.84 ║ 3.25 ║ ║ Muffins ║ Client 2 Muffins ║ $1,483,643.52 ║ 34.11 ║ ║ Muffins ║ Client 3 Muffins ║ $19,008.64 ║ 0.44 ║ ║ Pies ║ Client 2 Pies ║ $1,718,242.24 ║ 43.90 ║ ║ Pies ║ Client 3 Pies ║ $39,883.20 ║ 1.02 ║ ║ Pies ║ Client 4 Pies ║ $282,140.64 ║ 7.21 ║ ╚══════════════╩══════════════════╩═══════════════╩═══════════════════════╝

我没有所有的百吉饼产品,只有我使用过的一些产品。此数据集中的其他产品也是如此。

因此,如果我想计算所有 Bagel Type 产品的总销售额,我可以非常接近我现有的产品。

我可以通过计算列 Dollar Sales/(Product Share of Type/100) 来计算 Type 的总美元销售额。示例结果:

╔══════════════╦══════════════════╦════════════════════╗ ║ Product Type ║ Product Name ║ Type Total Dollars ║ ╠══════════════╬══════════════════╬════════════════════╣ ║ Bagels ║ Client 1 Bagels ║ $641,367.36 ║ ║ Bagels ║ Client 2 Bagels ║ $641,804.75 ║ ║ Muffins ║ Client 1 Muffins ║ $4,351,318.15 ║ ║ Muffins ║ Client 2 Muffins ║ $4,349,585.22 ║ ║ Muffins ║ Client 3 Muffins ║ $4,320,145.45 ║ ║ Pies ║ Client 2 Pies ║ $3,913,991.44 ║ ║ Pies ║ Client 3 Pies ║ $3,910,117.65 ║ ║ Pies ║ Client 4 Pies ║ $3,913,185.02 ║ ╚══════════════╩══════════════════╩════════════════════╝

在百吉饼中,我们得到:

  • Client 1 Bagels 的总类型美元为 641,367.36 美元
  • Client 2 Bagels 的总类型美元为 641,804.75 美元
  • 这给出了 437.39 美元的非常小的差异。

细微的差别并不让我担心。

问题是计算每一行的结果(因为我使用了计算列,我不知道另一种方法)。如果我转身想要获得所有类型美元的总和,那么每个记录的值都会被计算在内。根据我的数据集中有多少产品项目,这将增加一倍、三倍、四倍等。

如果是百吉饼:

  • $1,283,172.11 总类型美元
  • 这基本上是双重计数

那么如何创建一个考虑到另一列的度量?

如果我对产品类型求和(美元销售额),对产品类型求和(产品份额类型),它会更准确,而且我不会重复计算最终值。

(我不需要将表格作为输出,我只需要一个度量,如果我要使用 Power PI 创建一个矩阵片段,它会给我提供与最后一列相同的结果):

╔══════════════╦═══════════════════╦════════════════════╦════════════════════╗ ║ Product Type ║ Sum(Dollar Sales) ║ Sum(Share of Type) ║ Type Total Dollars ║ ╠══════════════╬═══════════════════╬════════════════════╬════════════════════╣ ║ Bagels ║ $127,580.20 ║ 19.88 ║ $641,751.51 ║ ║ Muffins ║ $1,644,070.00 ║ 37.80 ║ $4,349,391.53 ║ ║ Pies ║ $2,040,266.08 ║ 52.13 ║ $3,990,535.35 ║ ╚══════════════╩═══════════════════╩════════════════════╩════════════════════╝

我已经尝试过CALCULATE()SUMX(),但在进行最终计算之前,我似乎仍然无法根据产品类型获得小计。

我确实尝试过创建一个 GROUPBY() 值表,但问题是我不能将这些结果与其他结果放在同一个表/图中,因为过滤器不适用(我基本上从这个一个数据集/表)。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: powerbi dax powerquery


    【解决方案1】:

    试试这个:

    TotalSales := CALCULATE(SUM(TableName[Dollar Sales]),
                            All(TableName[Product Name]
                           )
    

    您使用该公式所做的是忽略数据透视表对 产品名称 列施加的任何过滤器,因此它将为您提供放置在数据透视表中的任何其他字段的总数。因此,如果您在行标签中创建具有 产品类型产品名称 的数据透视表,它将按产品类型为您提供总计。

    希望这会有所帮助!

    【讨论】:

    • 有点。就像我说的,我对 Power BI 很陌生。因此,当您谈论创建数据透视表时,我是否需要在我的数据视图中执行此操作,以便在我的报表视图中获得正确的值来创建图表?如果是这样,我如何使两个数据表都过滤相同的信息?当我之前尝试过时,我无法将关系链接到喜欢的列并将它们视为过滤器。
    猜你喜欢
    • 2021-04-18
    • 2017-08-25
    • 1970-01-01
    • 2021-12-18
    • 2021-09-17
    • 2021-11-11
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多