电源查询舍入不正确,不能正确向上或向下舍入

问题描述 投票:1回答:2

我在查询末尾有两个自定义列,名为“Total”和“GST”,“Total”列汇总了列“Storage”,“PltHire”,“Admin”,“InActivity”,“OutActivity”,“Add Activity” “,”运费“,”包装“和”其他“。虽然“GST”列是“总计”列的10%,但我在幂查询中使用了舍入函数并将其设置为2位小数,并且由于某种原因“GST”列未正确舍入。如果你查看图像,它会显示突出显示的行有154.25美元,其功率查询已经四舍五入到15.42美元,这实际上应该是15.43美元。我不确定我是否已经做了我需要的任何事情,所以如果有人能帮助我那将是伟大的,如果你需要更多的信息,请让我知道。

注意 - 我发现奇怪的是,当我为总列创建另一个自定义列时添加了总和gst([total] * 1.1而不是[total] * 0.1),该列能够正确舍入?

谢谢!

我试图通过使用以下内容来更改M代码,但无济于事。

  1. Number.Round(值为可空数字,数字为可空数字,roundingMode为可空数字)为可空的numberenter image description here
decimal powerbi rounding powerquery m
2个回答
2
投票

四舍五入没有统一的共识。实际上,舍入到偶数(Power Query默认值)比舍入更少偏差。幸运的是,Power Query Number.Round function允许使用不同的舍入样式作为可选的第3个参数。

您可能需要Number.Round([Custom],2,0)或等效的Number.Round([Custom],2,RoundingMode.Up),但您也有以下选项:

  • RoundingMode.Down(或1
  • RoundingMode.AwayFromZero(或2
  • RoundingMode.TowardsZero(或3
  • RoundingMode.ToEven(或4)[默认]

0
投票

Ken Puls discussed于2014年9月回归:

我不认为它已被修复,因此Ken的文章仍然有效。

如果要匹配Exel处理舍入的方式,您将需要使用RoundingMode.AwayFromZero:

=Number.Round([Value],2,RoundingMode.AwayFromZero)
© www.soinside.com 2019 - 2024. All rights reserved.