让决策更智能
新一代智能数据分析平台

整数相除结果仍为整数的解决办法

观小远发表于:2020年12月28日 22:46:54

背景:有些数据库,例如Presto,整数型字段int或者long型字段做了除法计算后,结果仍然显示为整数。除法得出的结果是<1的,即0.xxxxxx,即使设置格式为百分比或者小数,结果也显示为0.00%,0.00,这在计算百分比占比、同环比或者其他指标的时候造成了极大的不便。

0015fe9efbb7e835b60443b8eea1d3a

解决方法:以presto直连数据集为例

方案一:数值直接乘以1.0。分子或者分母任一个乘以1.0即可以把整数转换为浮点数,但要注意,小数点后位数直接影响数据精度,小数点后位数最好按需确定。观远BI最多支持小数点后保留6位,所以即使乘以1.00000000000也只会保留前6位。

0015fe9edd9e3d134c2e558c658ccb30015fe9edd9e50302336e7aa96f83ad0015fe9edda1e3d95b437b64ba1e530

方案二:先把分子或者分母任一字段转换成double类型,然后再用round( )函数,或者cast(xxxxx as decimal())来指定小数点后保留位数。

0015fe9edd9f29a2e4599b52ea8bb6e0015fe9edd9e65a4ad9afff684a89360015fe9edda1903f7b9ed293c899a5a        



    您需要登录后才可以回复