我正在从基于Excel的旧报表系统迁移到PowerBI,但发现了一些差异。
当我在PowerBI中采用相同的所列百分比并在excel中计算平均值时,情况就不同了(见下文):
我不知道这是怎么回事...我以为这是一个四舍五入的问题,但对我来说这没有意义。
当我从表中导出PowerBI数据,然后在excel中对其求平均值时,它是一个不同的数字。
这不应该发生,对吧?
我在这里疯吗?
当我手动计算时,我得到99.828%
,该值应四舍五入为99.83%
,如Excel所示。
在我看来,PowerBI平均值完全不正确。
编辑:
应用RADO的答案后,这是我的结果(我放弃了本轮比赛,而且似乎可行-我认为这可能是我的数据问题-而不是他的方法):
答案 0 :(得分:6)
Excel和DAX计算平均值之间存在严重差异。
Excel将每一行的舍入数字取平均值。
DAX(Power BI)独立地计算每个单元格中的平均值。意味着单元格“总计”不是作为四舍五入的分数的平均值计算的,而是作为整个数据集的非四舍五入的基础值的平均值计算的,然后将其四舍五入。这就是DAX在概念上的工作方式-每次计算始终独立于表中的其他计算。
解决方法: 在Power BI中,重写您的DAX公式以使用AVERAGEX而不是AVERAGE。例如:
Correctly Averaged Scores =
AVERAGEX(
VALUES(TableName[Submitter]),
ROUND(CALCULATE(AVERAGE(TableName[OrbScore])),2)
)
在这里,我们首先创建一个不同的“提交者”列表。然后,我们遍历该列表,并为每个提交者计算其平均值并将其四舍五入为两位数。最后,我们计算四舍五入平均值的平均值,从本质上复制了Excel的行为。