SSIS派生列将小数转换为.00

时间:2017-05-12 16:41:44

标签: c# sql-server ssis percentage

我正在使用SSIS 2012并尝试获取派生列步骤来计算并输出准确的百分比。

例如,我有以下等式,包括小数点后的2位数:

(20177 * 100)/ 26032 = 77.50

(3703 * 100)/ 26032 = 14.22

在Derived Column中,我的表达式(@allRecords = 26032)如下:

(DT_NUMERIC,10,2)((填充* 100)/ @ [User :: allRecords])

enter image description here

但我无法弄清楚为什么SSIS会删除前面的数字并将其替换为0&#39>

enter image description here

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

此结果(20177 * 100) / 26032INT,因此为77。然后77转换为十进制变为77.00

(DT_NUMERIC,10,2)((DT_NUMERIC,10,2)(Populated * 100) / @[User::allRecords])

答案 1 :(得分:1)

注意100.0这样可以保持精度。毕竟INT / INT将返回INT。

(DT_NUMERIC,10,2)((Populated * 100.0) / @[User::allRecords])