目次

Search

  1. はじめに
  2. Designerの使用
  3. ソースに関する作業
  4. フラットファイルに関する作業
  5. ターゲットに関する作業
  6. マッピング
  7. マップレット
  8. マッピングパラメータおよび変数
  9. ユーザー定義関数に関する作業
  10. デバッガの使用
  11. データリネージの表示
  12. オブジェクトの比較
  13. ビジネスコンポーネントの管理
  14. キューブと次元の作成
  15. マッピングウィザードの使用
  16. データタイプリファレンス
  17. Webブラウザの設定

Designerガイド

Designerガイド

計算における整数値

計算における整数値

計算に整数値を使用する場合、PowerCenter統合サービスでは、計算の前に整数値が浮動小数点数に変換されることがあります。 例えば、MOD(12.00, 5)を評価する場合、PowerCenter統合サービスは、除算を実行する前に整数値「5」を浮動少数点数に変換します。 PowerCenter統合サービスでは、高精度が有効にされているかどうかに応じて、整数値がDouble値またはDecimal値に変換されます。
計算に整数値を使用する場合、データ統合サービスでは、計算の前に整数値が浮動小数点数に変換されることがあります。 例えば、MOD(12.00, 5)を評価する場合、データ統合サービスは、除算を実行する前に整数値「5」を浮動少数点数に変換します。 データ統合サービスでは、高精度が有効にされているかどうかに応じて、整数値がDouble値またはDecimal値に変換されます。
計算に整数値を使用する場合、データ統合サービスでは、計算の前に整数値が浮動小数点数に変換されることがあります。 例えば、MOD(12.00, 5)を評価する場合、データ統合サービスは、除算を実行する前に整数値「5」を浮動少数点数に変換します。 データ統合サービスでは、高精度が有効にされているかどうかに応じて、整数値がDouble値またはDecimal値に変換されます。
PowerCenter統合サービスは、次の算術演算の整数値を変換します。
データ統合サービスは、次の算術演算の整数値を変換します。
データ統合サービスは、次の算術演算の整数値を変換します。
算術演算
高精度の無効
高精度の有効
小数点を使用できない関数と計算。
たとえば、整数の加算、減算、乗算、およびCUME、MOVINGSUM、SUMなどの関数。
変換なし1
Decimal
小数点を使用できる非科学関数と計算。
たとえば、整数の除算、およびAVG、MEDIAN、PERCENTILEなどの関数。
Double
Decimal
すべての科学関数、EXP関数、LN関数、LOG関数、POWER関数、およびSQRT関数。
Double
ダブル
トランスフォーメーションのDoubleデータ型は最大15桁の精度をサポートし、Bigintデータ型は最大19桁の精度をサポートします。 このため、精度が15桁より大きいBigint値となる計算では、精度の損失が発生することがあります。
例えば、式トランスフォーメーションには以下の計算が含まれています。
POWER( BIGINTVAL, EXPVAL )
PowerCenter統合サービスでは、計算を開始する前に、POWER関数への入力をDouble値に変換します。 BIGINTVALポートにBigint値9223372036854775807が含まれている場合、PowerCenter統合サービスはこの値を9.22337203685478e+18に変換し、最後の4桁の精度が失われます。 EXPVALポートに値1.0が含まれており、結果ポートがBigintの場合、計算結果の9223372036854780000が最大Bigint値を超えているため、行エラーが作成されます。
結果がDecimal値となる計算でIntegerデータ型を使用し、高精度を有効にする場合、PowerCenter統合サービスでは、整数値がDecimal値に変換されます。
データ統合サービスでは、計算を開始する前に、POWER関数への入力をDouble値に変換します。 BIGINTVALポートにBigint値9223372036854775807が含まれている場合、データ統合サービスはこの値を9.22337203685478e+18に変換し、最後の4桁の精度が失われます。 EXPVALポートに値1.0が含まれており、結果ポートがBigintの場合、計算結果の9223372036854780000が最大Bigint値を超えているため、行エラーが作成されます。
結果がDecimal値となる計算でIntegerデータ型を使用し、高精度を有効にする場合、データ統合サービスでは、整数値がDecimal値に変換されます。
データ統合サービスでは、計算を開始する前に、POWER関数への入力をDouble値に変換します。 BIGINTVALポートにBigint値9223372036854775807が含まれている場合、データ統合サービスはこの値を9.22337203685478e+18に変換し、最後の4桁の精度が失われます。 EXPVALポートに値1.0が含まれており、結果ポートがBigintの場合、計算結果の9223372036854780000が最大Bigint値を超えているため、行エラーが作成されます。
結果がDecimal値となる計算でIntegerデータ型を使用し、高精度を有効にする場合、データ統合サービスでは、整数値がDecimal値に変換されます。
最大28桁精度のDecimalデータ型をサポートするトランスフォーメーションの場合、結果で高精度モードの28桁を超える値が出ない限り計算の精度は失われません。 この場合、PowerCenter統合サービスはDouble型で結果を保存します。ポート精度が28桁以下で、結果が高精度モードの28桁より大きい場合、PowerCenter統合サービスは行を拒否します。
最大28桁精度のDecimalデータ型をサポートするトランスフォーメーションの場合、結果で高精度モードの28桁を超える値が出ない限り計算の精度は失われません。 この場合、データ統合サービスは結果をDouble型として保存します。ポート精度が28桁以下で、結果が高精度モードの28桁より大きい場合、データ統合サービスは行を拒否します。
最大38桁精度のDecimalデータ型をサポートするトランスフォーメーションの場合、結果で高精度モードの38桁を超える値が出ない限り計算の精度は失われません。 この場合、データ統合サービスは結果をDouble型として保存します。ポート精度が38桁以下で、結果が高精度モードの38桁より大きい場合、データ統合サービスは行を拒否します。
最大38桁精度のDecimalデータ型をサポートするトランスフォーメーションの場合、結果で高精度モードの38桁を超える値が出ない限り計算の精度は失われません。 この場合、データ統合サービスは結果をDouble型として保存します。ポート精度が38桁以下で、結果が高精度モードの38桁より大きい場合、データ統合サービスは行を拒否します。