0

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計算を使用するためにパッケージ全体をリファクタリングする必要はありませんが、それが私の最後の手段になります。

4

1 に答える 1