我正在使用SSIS 2012并尝试获取派生列步骤来计算并输出准确的百分比。
例如,我有以下等式,包括小数点后的2位数:
(20177 * 100)/ 26032 = 77.50
(3703 * 100)/ 26032 = 14.22
在Derived Column中,我的表达式(@allRecords = 26032)如下:
(DT_NUMERIC,10,2)((填充* 100)/ @ [User :: allRecords])
但我无法弄清楚为什么SSIS会删除前面的数字并将其替换为0&#39>
非常感谢任何帮助!
答案 0 :(得分:2)
此结果(20177 * 100) / 26032
为INT
,因此为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])