SSIS の派生列の計算で正しい値が返されないという問題があります。背景を説明するために、オーバーフローの問題 (解決済み) のために計算の形式を変更する必要がありました。こちらを参照してください - SSIS - 派生列の計算エラー
現在、古い計算と新しい計算は、数学的には同じであり、.net、Excel、および SQL で実行されたときに同じ値を返しますが、SSIS では異なる値を返します。
.Netでは -
decimal test1 = Convert.ToDecimal((415 * 415 * 415) * 0.000000030940000);
decimal test2 = Convert.ToDecimal((0.000000030940000 * 415 * 415 * 415));
どちらも 2.2113862225 を返します
SSISでは -
test1 = ((415 * 415 * 415) * 0.000000030940000)
test2 = (0.000000030940000 * 415 * 415 * 415)
異なる値を返す (test1 = 2.2113862225 および test2 = 2.211535)
興味深いことに、SSIS は test1 を数値 (38,6) として認識し、test2 を数値 (27,15) として認識します。
以前にこの問題に遭遇した人はいますか?
.net計算を使用するためにパッケージ全体をリファクタリングする必要はありませんが、それが私の最後の手段になります。