16.20 - PERCENTILE - Teradata Vantage NewSQL Engine

Teradata Vantage™ 時系列テーブルおよび操作

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1208-162K-JPN

目的

各グループから目的のパーセンタイルを表わす値を返します。PERCENTILEは単一スレッド関数です。

この関数の時系列バージョンを呼び出すには、GROUP BY TIME句を使用します。詳細は、GROUP BY TIME句を参照してください。

構文



構文要素

ALL
計算の、重複を含むすべての非NULL value_expressions
DISTINCT
value_expressionで指定された重複を計算から除外します。
value_expression
連続する値に対して一連の集約関数が計算されるリテラルまたは列式。

value_expressionは、関数によって得られたビュー列に対する参照にはできません。また、順序付き分析関数や集約関数を含めることはできません。

percentile
目的のパーセンタイルを表わすTeradata DatabaseリテラルFLOAT値。
LINEAR

目的の結果が2つのデータ ポイントの間にある場合は、線形補間を使用して結果値を補間します。

このパラメータは大文字小文字を区別しません。

LOW

目的の結果が2つのデータ ポイントの間にある場合、低値の補間スキーマを使用して結果値を補間します。

このパラメータは大文字小文字を区別しません。

HIGH
目的の結果が2つのデータ ポイントの間にある場合は、高い値の補間スキーマを使用して結果値を補間します。
このパラメータは大文字小文字を区別しません。
NEAREST
目的の結果が2つのデータ ポイントの間にある場合は、最近似値の補間スキーマを使用して結果値を補間します。
このパラメータは大文字小文字を区別しません。
MIDPOINT
目的の結果が2つのデータ ポイントの間にある場合、中間値の補間スキーマを使用して結果値を補間します。
このパラメータは大文字小文字を区別しません。

戻り値

この関数は、REALデータ型を返します。

結果の計算にはNULLは含められません。

結果の値は、値の順序付きリストでの目的のインデックス(di)によって決定されます。次の式は、diのためのものです。

di = (number of values in group - 1) * percentile/100

diが整数の場合、その値が返される結果になります。diはまた、2つのデータポイントijの間に存在させることができます(その場合にはi<jです)。この場合、結果は次のスキーマのいずれかに従って補間されます。
  • 線形補間。結果の値は、次の式を使用して計算されます。

    result = i + (j - i) * (di/100)MOD 1

    オプションの補間パラメータに値LINEARを使用して指定します。LINEARは補間のデフォルトのスキーマです。

  • 低い値。結果値はiと等しくなります。オプションの補間パラメータに値LOWを使用して指定します。
  • 高い値。結果値はjと等しくなります。オプションの補間パラメータに値HIGHを使用して指定します。
  • 最近似値。結果値は(di/100)MOD 1 <= .5の場合、iです。そうでない場合、jです。オプションの補間パラメータに値NEARESTを使用して指定します。
  • 中間値。結果値は(i+j)/2と等しくなります。オプションの補間パラメータに値MIDPOINTを使用して指定します。

使用上の注意

PERCENTILEは、数値データに対してのみ有効です。