Ken*_*ssa 0 dax powerbi powerbi-datasource
假设我有一个带有字段Field1的表“ Table1”,一个带有Field2的表“ Table2”。我在“ Table1”,“ CField”中有另一个具有公式的计算列:
CField = ROUND(Table1 [Field1] * RELATED(Table2 [Field2]); 2)
该公式总体上运作良好,但有时无法提供正确的值。例如 :
在计算器中计算得出3.26495。四舍五入到小数点后两位应为3.26,但在这种情况下,PowerBI为3.27。
我最好的假设是Field1 * Field2的结果计算为CURRENCY,因此在四舍五入为3.27之前四舍五入为3.265。
我在这里的问题是:是否有一种方法可以强制Power BI保持所需的精度并获得我想要的3.26结果?
编辑:3.27不仅仅是显示问题。如果我在显示的值上加上小数,则得出3.27000。
我以某种方式能够通过有关数据类型的特定设置来重现这种情况。您可以检查是否与您的情况相同。
如您所说,这与Format(显示问题)无关。问题出在Data type。当所有三列都设置Decimal Number为时,Power BI返回3.26。
但是,当Field1更改Fixed decimal number为时,Power BI返回3.27。
根据Power BI文档:
固定的十进制数 –十进制分隔符的位置固定。小数点分隔符始终在其右边有四位数字,并允许19位有效数字。它可以代表的最大值是922,337,203,685,477.5807(正或负)。在四舍五入可能导致错误的情况下,“固定十进制数”类型很有用。
因此,对此的一种解释是将结果3.26495舍入为3.2650(小数点后四位),然后舍入为3.27(通过DAX函数舍入)。
结论:
将所有更改Data type为Decimal Number应解决舍入误差问题。
尽管我仍然不清楚为什么在Field1有数据类型时会发生这种情况Fixed decimal number,但是没有CField。欢迎任何补充意见。
| 归档时间: |
|
| 查看次数: |
17792 次 |
| 最近记录: |