PERCENTILE
数値のグループ内で、与えられたパーセンタイルに入る値を計算します。
データ統合は、すべてのデータ行を読み取り、パーセンタイル計算を実行します。パフォーマンスは、使用するデータベース結合の種類によっても変わってきます。オプションとして、パーセンタイルを計算するために読み込む行を制限するフィルタを適用できます。
PERCENTILEには他の集計関数は1つしかネストできません。また、ネストされた関数は数値データ型を返す必要があります。詳細モードでは集計関数をネストできません。
マッピングタスクでのみ使用します。
構文
PERCENTILE( numeric_value, percentile [, filter_condition ] )
引数 | 必須/ オプション | 説明 |
---|
numeric_value | 必須 | 数値データタイプ。パーセンタイルを計算したい値を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。 |
percentile | 必須 | 0から100までの整数。計算したいパーセンタイルを渡します。有効なトランスフォーメーション式を必要に応じて入力できます。0~100の範囲外の数値を渡すと、データ統合ではエラーが表示され、行が書き込まれません。 |
filter_condition | オプション | 検索される行を制限します。フィルタ条件は数値であるか、TRUE、FALSE、またはNULLの値が求められなければなりません。有効なトランスフォーメーション式を必要に応じて入力できます。 |
戻り値
数値。
関数に渡された値がすべてNULLである場合、または行が1つも選択されていない場合(たとえば、フィルタ条件の値がすべての行に対してFALSEまたはNULLであった場合)には、NULLです。
NULL
値がNULLであると、PERCENTILEはその行を無視します。ただし、グループ内の値がすべてNULLである場合には、NULLを返します。
Group By
PERCENTILEは、トランスフォーメーションで定義したグループ化フィールドに基づいて値をグループ分けし、各グループについて1つの結果を返します。
グループ化フィールドがない場合には、PERCENTILEはすべての行を1つのグループとして扱い、1つの値を返します。
例
データ統合は、次のロジックを使用してパーセンタイルを計算します。
この方程式では、以下のガイドラインを使用します。
- •xは、パーセンタイルを計算している値グループにある要素の数です。
- •i < 1の場合、PERCENTILEはリスト内の最初の要素の値を返します。
- •iが整数値である場合、PERCENTILEはリスト内のi番目の要素の値を返します。
- •整数値でない場合、PERCENTILEは nの値を返します。
次の式は、$50,000を超える給与の75番目のパーセンタイルに入る給与を返します。
PERCENTILE( SALARY, 75, SALARY > 50000 )
SALARY |
---|
125000.0 |
27900.0 |
100000.0 |
NULL |
55000.0 |
9000.0 |
85000.0 |
86000.0 |
48000.0 |
99000.0 |
RETURN VALUE: 106250.0 |