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

SSIS Derived Column converting decimals to .00

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

例如,我有以下等式,其中包含小数点后 2 位数字:

(20177 * 100) / 26032 = 77.50

(3703 * 100) / 26032 = 14.22

在派生列中,我的表达式(@allRecords = 26032)如下:

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

但我不明白为什么 SSIS 会删除前面的数字并用 0 替换它们

非常感谢任何帮助!

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

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

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

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