目次

Search

  1. はじめに
  2. トランスフォーメーション言語
  3. 定数
  4. 演算子
  5. 変数
  6. 日付
  7. 関数
  8. カスタム関数の作成
  9. カスタム関数APIリファレンス

トランスフォーメーション言語リファレンス

トランスフォーメーション言語リファレンス

SUM

SUM

選択したポート内のすべての値の合計を返します。 オプションとして、合計を計算するために読み込む行を制限するフィルタを適用できます。SUMには他の集計関数は1つしかネストできません。また、ネストされた関数は数値データ型を返さなければなりません。

構文

SUM(
numeric_value
[,
filter_condition
] )
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
numeric_value
必須
数値データ型。追加したい値を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。演算子を使って、複数のポートの値を加算することもできます。
filter_condition
オプション
検索される行を制限します。フィルタ条件は数値であるか、TRUE、FALSE、またはNULLの値が求められなければなりません。有効なトランスフォーメーション式を必要に応じて入力できます。

戻り値

数値。
関数に渡された値がすべてNULLである場合、または行が1つも選択されていない場合(たとえば、フィルタ条件の値がすべての行に対してFALSEまたはNULLであった場合)には、NULLです。
戻り値が15桁を超える精度を持つ10進値である場合は、高精度を有効にして、最大38桁までの10進精度を使用可能にできます。

NULL

値の1つがNULLであると、SUMはその値を無視します。ただし、ポートから渡された値がすべてNULLである場合には、NULLを返します。
デフォルトでは、
PowerCenter統合サービス
は集計関数においてNULL値をNULLとして処理します。 ポートまたはグループ全体のNULL値を渡すと、関数はNULLを返します。ただし、
PowerCenter統合サービス
を設定する場合、集計関数のNULL値の扱い方を選択できます。 集計関数においてNULL値を0として扱うか、またはNULLとして扱うかを指定できます。

Group By

SUMは、トランスフォーメーションで定義したGroup Byポートに基づいて値をグループ分けし、各グループについて1つの結果を返します。
Group Byポートがない場合には、SUMはすべての行を1つのグループとして扱い、1つの値を返します。

次の式は、Salesポート内で2000より大きいすべての値の合計を返します。
SUM( SALES, SALES > 2000 )
SALES
2500.0
1900.0
1200.0
NULL
3458.0
4519.0
RETURN VALUE:
10477.0

ヒント

SUM関数で合計を計算する前に、SUMに渡す値に算術演算を実行することができます。以下に例を示します。
SUM( QTY * PRICE - DISCOUNT )