目次

Search

  1. はじめに
  2. パイプラインのパーティション化について
  3. パーティションポイント
  4. パーティションタイプ
  5. プッシュダウンの最適化
  6. プッシュダウンの最適化およびトランスフォーメーション
  7. リアルタイム処理
  8. コミットポイント
  9. 行エラーのロギング
  10. ワークフローリカバリ
  11. 停止と強制終了
  12. コンカレントワークフロー
  13. グリッド処理
  14. ロードバランサ
  15. ワークフロー変数
  16. セッションのパラメータおよび変数
  17. パラメータファイル
  18. FastExport
  19. 外部データのロード
  20. FTP
  21. セッションのキャッシュ
  22. 差分集計
  23. セッションログインタフェース
  24. バッファメモリについて
  25. 高精度データ

詳細ワークフローガイド

詳細ワークフローガイド

Bigint

Bigint

結果が10進値となる計算では、Integration ServiceはBigint値をDoubleタイプまたはDecimalタイプとして処理します。セッションに結果が10進値となる計算が含まれ、かつ実行に高精度を必要としない場合、Integration Serviceは計算を実行する前にBigint値をDoubleタイプに変換します。 トランスフォーメーションのDoubleデータタイプは最大15桁の精度をサポートし、Bigintデータタイプは最大19桁の精度をサポートします。 このため、精度が15桁より大きいBigint値となる計算では、精度の損失が発生することがあります。
例えば、式トランスフォーメーションには以下の計算が含まれています。
POWER( BIGINTVAL, EXPVAL )
Integration Serviceでは、計算を開始する前に、POWER関数への入力をDouble値に変換します。BIGINTVALポートにBigint値9223372036854775807が含まれている場合、Integration Serviceはこの値を9.22337203685478e+18に変換し、最後4桁の精度が失われます。EXPVALポートに値1.0が含まれており、結果ポートがBigintの場合、計算結果の9223372036854780000が最大bigint値を超えているため、行エラーが作成されます。
結果が10進値となる計算でBigint値を使用し、高精度でセッションを実行する場合、Integration ServiceはBigint値を10進値に変換します。トランスフォーメーションのDecimalデータタイプは最大28桁までの精度をサポートします。 このため、計算結果が、精度が28桁より大きい値にならない限り、精度の損失は発生しません。 この場合、Integration Serviceは結果をDouble値として保存します。