PERCENTILE

PERCENTILEは、グループ内のすべてのレコードについて属性の値の指定した百分位数を計算します。

PERCENTILE関数の構文は次のとおりです。
PERCENTILE(<attribute>, <numeric_literal>)
ここで、
  • attributeは、単一割当ての数値属性です。属性のEQLデータ型は、mdex:longまたはmdex:doubleである必要があります。
  • numeric_literalは、計算する百分位数です。値は0から100の間(0以上100以下)である必要があります。値は整数(50など)またはdouble (50.5など)で指定できます。たとえば、75は式の第75百分位数を計算します。第50百分位数は中央値と同じであることに注意してください。

百分位数が2つの値の間になる場合、EQLは加重平均を計算します。たとえば、10と20の2つの値のみがあるとします。第20百分位数を求めると、10から20までの20%は12であるため、結果は12になります。

PERCENTILEは、最初の引数がNULLの行を無視します。グループ内のすべての行で最初の引数がNULLの場合、PERCENTILEはそのグループについてNULLを返します。

PERCENTILEの例

両方の例とも、SalesAmountは単一割当てのdoubleの属性です。

次の例では、グループ内のSalesAmount値の第90百分位数を返します。
RETURN Results AS
SELECT PERCENTILE(SalesAmount, 90) AS x90
FROM SalesState
GROUP
この例の結果は次のとおりです。
x90
----------
| 571.18 |
----------
次の例では、グループ内のSalesAmount値の第25、第50および第75百分位数を返します。
RETURN Results AS
SELECT 
  PERCENTILE(SalesAmount, 25) AS x25,
  PERCENTILE(SalesAmount, 50) AS x50,
  PERCENTILE(SalesAmount, 75) AS x75
GROUP
この例の結果は次のとおりです。
x25         x50     x75
-----------------------------
| 180.225 | 236.5 | 445.675 |
-----------------------------