目次

Search

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

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

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

COUNT

COUNT

グループ内でNULL以外の値を持つ行の数を返します。オプションで、アスタリスク(*)引数を指定すれば、トランスフォーメーション内のすべての入力値の数を数えることもできます。COUNTの中にネストできる他の集計関数は1つだけです。行数を数える前に、条件に基づいて行をフィルタリングすることができます。

構文

COUNT(
value
[,
filter_condition
] )
または
COUNT(
*
[,
filter_condition
] )
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
value
必須
任意のデータ型(Binaryを除く)。数えたい値を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。
*
オプション
*を指定すると、トランスフォーメーション内の<>すべての行</>を数えられます。
filter_condition
オプション
検索される行を制限します。フィルタ条件は数値であるか、TRUE、FALSE、またはNULLの値が求められなければなりません。有効なトランスフォーメーション式を必要に応じて入力できます。

戻り値

整数。
関数に渡された値がすべてNULLである場合は、0です(アスタリスク(*)引数を指定した場合は除きます)。

NULL

値がすべてNULLである場合、関数は0を返します。
アスタリスク引数を指定した場合には、関数は、行のカラムにNULL値があるかどうかに関係なく、すべての行を数えます。
value
引数を指定した場合には、関数はNULL値の列を無視します。
デフォルトでは、
PowerCenter統合サービス
は集計関数においてNULL値をNULLとして処理します。 ポートまたはグループ全体のNULL値を渡すと、関数はNULLを返します。ただし、
PowerCenter統合サービス
を設定する場合、集計関数のNULL値の扱い方を選択できます。 集計関数においてNULL値を0として扱うか、またはNULLとして扱うかを指定できます。

Group By

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

次の式は、在庫が5個未満(NULLを除く)の品物がいくつあるかを数えます。
COUNT( ITEM_NAME, IN_STOCK < 5 )
ITEM_NAME
IN_STOCK
Flashlight
10
NULL
2
Compass
NULL
Regulator System
5
Safety Knife
8
Halogen Flashlight
1
RETURN VALUE:
1
この例では、「Halogen flashlight」は数えられますが、NULLの項目は数えられません。次の例の場合は、NULL値を含めてトランスフォーメーション内のすべての行数を数えます。
COUNT( *, QTY < 5 )
ITEM_NAME
QTY
Flashlight
10
NULL
2
Compass
NULL
Regulator System
5
Safety Knife
8
Halogen Flashlight
1
RETURN VALUE:
2
この例では、NULL項目と「Halogen flashlight」が数えられます。アスタリスク引数を指定して、フィルタを使用しない場合は、トランスフォーメーションに渡される行がすべて数えられます。以下に例を示します。
COUNT( * )
ITEM_NAME
QTY
Flashlight
10
NULL
2
Compass
NULL
Regulator System
5
Safety Knife
8
Halogen Flashlight
1
RETURN VALUE:
6