目次

Search

  1. はじめに
  2. トランスフォーメーションに関する作業
  3. アグリゲータトランスフォーメーション
  4. カスタムトランスフォーメーション
  5. カスタムトランスフォーメーション関数
  6. データマスキングトランスフォーメーション
  7. データマスキングの例
  8. 式トランスフォーメーション
  9. エクスターナルプロシージャトランスフォーメーション
  10. フィルタトランスフォーメーション
  11. HTTPトランスフォーメーション
  12. ID解決トランスフォーメーション
  13. Javaトランスフォーメーション
  14. JavaトランスフォーメーションAPIのリファレンス
  15. Java式
  16. Javaトランスフォーメーションの例
  17. ジョイナトランスフォーメーション
  18. ルックアップトランスフォーメーション
  19. ルックアップキャッシュ
  20. 動的ルックアップキャッシュ
  21. ノーマライザトランスフォーメーション
  22. ランクトランスフォーメーション
  23. ルータトランスフォーメーション
  24. シーケンスジェネレータトランスフォーメーション
  25. ソータトランスフォーメーション
  26. ソース修飾子トランスフォーメーション
  27. SQLトランスフォーメーション
  28. マッピングにおけるSQLトランスフォーメーションの使用
  29. ストアドプロシージャトランスフォーメーション
  30. トランザクション制御トランスフォーメーション
  31. 共有体トランスフォーメーション
  32. 構造化されていないデータのトランスフォーメーション
  33. アップデートストラテジトランスフォーメーション
  34. XMLトランスフォーメーション

トランスフォーメーションガイド

トランスフォーメーションガイド

高精度10進演算の有効化

高精度10進演算の有効化

デフォルトでは、JavaトランスフォーメーションはDecimalタイプのポートをDoubleデータタイプ(精度15)に変換します。精度が15を超えるDecimalデータタイプを処理する場合は、[高精度10進演算を有効にする]を選択して、DecimalポートをJavaのBigDecimalクラスを使用して処理します。
高精度10進演算を有効化すると、DecimalポートをBigDecimalとして28までの精度で処理できます。Javaトランスフォーメーションは、精度が28より大きいDecimalデータをDoubleデータタイプに変換します。Javaトランスフォーメーション式で処理されるデータは、バイナリ、長整数、および文字列です。bigintデータはJavaトランスフォーメーション式では処理できません。
たとえば、Decimalタイプの入力ポートを持つJavaトランスフォーメーションがあるとします。このトランスフォーメーションは、40012030304957666903の値を受け取ります。高精度10進演算を有効化している場合、このポートの値は表示されたとおりに扱われます。高精度10進演算が有効化されていない場合、このポートの値は4.00120303049577 x 10^19になります。
Javaトランスフォーメーションの高精度10進演算を有効にすると、そのJavaトランスフォーメーションを含むセッションの高精度10進演算も有効になります。 Javaトランスフォーメーションで高精度10進演算が有効でも、それがセッションで有効になっていない場合、そのセッションは失敗し、次のエラーが表示される可能性があります。
[ERROR]Failed to bind column with index <index number> to datatype <datatype name>.