COUNT
グループ内でNULL以外の値を持つ行の数を返します。オプションで、アスタリスク(*)引数を指定すれば、トランスフォーメーション内のすべての入力値の数を数えることもできます。行数を数える前に、条件に基づいて行をフィルタリングすることができます。
COUNTの中にネストできる他の集計関数は1つだけです。詳細モードでは集計関数をネストできません。
マッピングタスクでのみ使用します。
構文
COUNT( value [, filter_condition] )
または
COUNT( * [, filter_condition] )
引数 | 必須/ オプション | 説明 |
---|
value | 必須 | Binary以外の任意のデータ型。数えたい値を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。 |
* | オプション | *を指定すると、トランスフォーメーション内のall rowsを数えられます。 |
filter_condition | オプション | 検索される行を制限します。フィルタ条件は数値であるか、TRUE、FALSE、またはNULLの値が求められなければなりません。有効なトランスフォーメーション式を必要に応じて入力できます。 |
戻り値
整数。
関数に渡された値がすべてNULLである場合は、0です(アスタリスク(*)引数を指定した場合は除きます)。
NULL
値がすべてNULLである場合、関数は0を返します。
アスタリスク引数を指定した場合には、関数は、行のカラムにNULL値があるかどうかに関係なく、すべての行を数えます。
value引数を指定した場合には、関数はNULL値の列を無視します。
Group By
COUNTは、トランスフォーメーションで定義したグループ化フィールドに基づいて値をグループ分けし、各グループについて1つの結果を返します。グループ化フィールドがない場合には、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 | |