使用GENERATEDSERIES时在DAX中连接十进制列

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

我在Power BI中有两个表,一个生成表,一个来自带有计算列的原始数据,每个表都有一个十进制列格式化为1位小数。

生成表DAX:

Tenths = GENERATESERIES(0, 2000, 0.1)

计算列DAX:

RoundedTime = MROUND('LIVE Network'[Time], 0.1)

格式:

Formatting of both columns

尝试在关系中连接这两列时,生成的可视化只有非常稀疏的数据,表明连接不能按预期工作。

我认为这是由于“略微关闭”错误,其中列中包含的实际值不会被异常舍入到小数点后1位,实际上如果我从生成的表中删除格式,我可以看到大多数值实际上是类似于5.9999999999而不是6.0。如下所示:

general formatted column

actual output from generate series

在某些时候,数字正确显示1位小数值,在这些点我的视觉显示数据,所以我坚信这里的舍入问题是导致连接失败的原因。

将格式更改为常规时,另一个表中的计算列确实具有到小数点后1位的精确舍入。

这个问题是否有任何变通方法或实际解决方案?

powerbi relationship dax
1个回答
0
投票

将计算列添加到生成的表中解决了我的问题。注意到MROUND运行正常,我在生成的表上尝试了它,它解决了我的问题。

因此,使用生成的表创建:

Tenths = GENERATESERIES(0, 2000, 0.1)

我在该表中添加了一个计算列:

RoundedTenths = MROUND(Tenths[Tenth], 0.1)

简而言之,使用MROUND正确舍入小数。

© www.soinside.com 2019 - 2024. All rights reserved.