首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MAPE电源BI表中的不正确总计

MAPE电源BI表中的不正确总计
EN

Stack Overflow用户
提问于 2020-01-21 14:22:51
回答 3查看 2.7K关注 0票数 1

我对Power BI相当陌生,我一直在努力解决表中的总计问题。

我试图使用以下计算来计算平均百分比误差:/Actuals(Actuals-预测)

下面是我的数据集:

'MAPEX‘列中的总数实际上是'AbsErr’/ 'Actuals‘列中总数的总和:(1457.27 / 2786.27 = 0.52)。

我真正需要显示的是'MAPEX‘中的值之和,总数为5.88。

“MAPEX”列是具有以下定义的度量:

代码语言:javascript
运行
复制
MAPEX = DIVIDE([AbsErr], sum(CUBE_PeriodicData[Actuals]),0)

我不需要在表中的“总计”行中显示正确的总数,它可以作为一张卡片放在报表的其他地方,我只想知道DAX中是否有一个函数,我不知道列中的值是否垂直汇总?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-01-24 02:33:11

Seymour的回答看起来不错,但我想补充一点,在这个场景中,粒度很重要。

假设您有一个像这样的星型模式,您可以用下面的公式定义度量总量预测、总实际误差、绝对误差和绝对百分比误差。

代码语言:javascript
运行
复制
Total Forecast            = SUM ( Forecast[Forecast] )
Total Actual              = SUM ( Actual[Actual] )
Absolute Error            = ABS ( [Total Forecast] - [Total Actual] )
Absolute Percentage Error = DIVIDE ( [Absolute Error], [Total Actual] )

这是你到目前为止要做的事情。

在这里,您要问的是如何计算绝对百分比误差之和。

根据定义,绝对百分比误差表示绝对误差除以实际总的值,而不考虑钻取级别。因此,在总数中,它显示为0.52,即绝对误差(1,457.27)除以实际总数(2,786.27)。如果您希望它在总计级别上进行不同的计算,则需要显式地实现此逻辑。

您的要求将更明确地说明如下:

  1. 计算在每个ItemName、年份和月份粒度中的绝对百分比误差值。
  2. 将它们相加到中。

实现此逻辑所需的函数是SUMX。此外,您可以显式地使用SUMMARIZE来确保计算特定粒度中的绝对百分比错误。

代码语言:javascript
运行
复制
MAPEX = SUMX (
    SUMMARIZE (
        Forecast,
        'Product'[ItemName],
        'Calendar'[Year],
        'Calendar'[Month]
    ),
    [Absolute Percentage Error]
)

到目前为止,我一直在强调粒度。这是因为如果您没有意识到粒度,结果在某些情况下可能看起来很奇怪。

在上面的图像中,MAPEX看起来与绝对百分比误差相同,但总误差除外。然而,如果你按季度而不是按月进行向下钻,你会注意到这是完全不一样的。

绝对百分比误差在季度级别显示绝对误差和总实际值的商数,而MAPEX仍在汇总绝对百分比误差的值,尽管表中没有显示月份。

所以,我的最后一句话是,每当你发明像MAPEX这样的新方法时,你总是需要问自己,它是否对每一个可能的颗粒都有意义。

票数 1
EN

Stack Overflow用户

发布于 2020-01-21 16:22:32

解决这一问题的一种方法是使用一个名为MAPEX的自定义列,而不是用于计算的度量。如果有特殊的原因,你需要使用DAX,请随时让我知道,我可能会想出一些事情。

列=ABS((实际操作-预测)/Actuals)

编辑:以防万一,您创建新列的方式是在视图选项卡中使用此按钮。

或者,您可以在看来适合我的查询编辑器中创建自定义列。

票数 1
EN

Stack Overflow用户

发布于 2020-01-21 22:40:27

就这样吧

变量_mytable = SELECTCOLUMNS(FactTable,"MAPE",ABS(实际操作-预测)/Actuals)返回Sumx(_mytable,MAPE)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59843180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档