【问题标题】:Power BI: Losing precision by using SUMMARIZECOLUMN?Power BI:使用 SUMMARIZECOLUMN 会丢失精度?
【发布时间】:2020-10-12 14:39:20
【问题描述】:

我是 Power BI 的新手,我正在制作一个销售价值矩阵。由于我们使用各种货币并转换数字,每个销售数字最多可以有 15 个小数点。 NumericColumn 对应于未来的销售额。

有这个OriginalTable:

NumericColumn,
OtherColumn1,
... ,
OtherColumnN

这个 OriginalTable 是从 SQL Server 导入的,有大约 400K 行。 NumericColumn 的类型为 numeric(35,15)。

由于 OriginalTable 中有很多不重要的列,我按以下方式创建了一个新表,其中 M N:

NewTable = SUMMARIZECOLUMNS(
OriginalTable[NumericColumn],
OriginalTable[OtherColumn1],
... , 
OriginalTable[OtherColumnM]
)

OriginalTable 中“NumericColumn”的总和是 2,550,832.98 。通过将“NumericColumn”作为 Sum 在 Value 字段中而不在 Visualization -> Matrix 中设置任何行或列来查看此数字。

另一方面,NewTable 中的“NumericColumn”之和为 2,550,829.14(比 OriginalTable 小 3.84)。

创建新表时似乎丢失了精度。有人愿意看看吗?如果需要更多信息,请告诉我。

感谢和问候,

京都

【问题讨论】:

    标签: powerbi powerbi-desktop


    【解决方案1】:

    默认情况下,当您导入数据和应用更改类型时,M 查询转换最多保留 8 个小数点。正如您所说,您最多有 15 个小数点,您可以尝试以下步骤并检查它是否适合您。

    返回报告点击关闭并应用按钮。现在在报告中,选择您的十进制值列,配置列格式和小数点,如下所示-

    现在应用 SUMMARIZECOLUMNS 应该会得到预期的结果。

    【讨论】:

    • 嗨 R_R。非常感谢您的及时回复。看起来我的 Power BI Desktop 版本与您的不同,我仍在尝试找出相应的按钮。只是想先谢谢你。会告诉你进展如何。
    • 我使用的是 Power BI Desktop 2.69 版。我的 NumericColumn 被自动识别为小数数据类型,格式是小数点设置为“自动”的小数。恐怕更改格式中的小数点设置并没有改变结果。我仍然得到 OriginalTable 的正确双精度计算结果,但使用 SUMMARIZECOLUMNS 创建的 NewTable 的计算结果有点偏离。我从头开始尝试(即新的空 pbix 文件、导入数据等)。有没有人创建了包含双精度列的新表? R_R 有什么想法吗?
    • 自动更改为小数点后 15 位。只需检查它的研发基础。
    • R_R。谢谢。你说的对。很抱歉,我没有告诉我我尝试了你的建议。导入数据后,我将 OriginalTable 的 NumericColumn 十进制精度从 auto 更改为 15。然后使用 SUMMARIZECOLUMNS 创建了 NewTable。然后 OriginalTable 在每个 Matrix 视觉对象中显示 2,550,832.976907979200000 和 NewTable 仍然显示 2,550,982.46。我一定是错过了什么。
    • 您可以向我提供一份有问题的少量数据的报告。我可以检查。
    猜你喜欢
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多