目次

Search

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

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

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

PERCENTILE

PERCENTILE

数値のグループ内で、与えられたパーセンタイルに入る値を計算します。PERCENTILEには他の集計関数は1つしかネストできません。また、ネストされた関数は数値データ型を返さなければなりません。
PowerCenter統合サービス
は、データのすべての行を読み込み、パーセンタイル計算を行います。パフォーマンスは、使用するデータベース結合の種類によっても変わってきます。オプションとして、パーセンタイルを計算するために読み込む行を制限するフィルタを適用できます。

構文

PERCENTILE(
numeric_value
,
percentile
[,
filter_condition
] )
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
numeric_value
必須
数値データ型。パーセンタイルを計算したい値を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。
percentile
必須
0から100までの整数。計算したいパーセンタイルを渡します。有効なトランスフォーメーション式を必要に応じて入力できます。0-100の範囲外の数値を渡すと、
PowerCenter統合サービス
はエラーを表示し、行を書き込みません。
filter_condition
オプション
検索される行を制限します。フィルタ条件は数値であるか、TRUE、FALSE、またはNULLの値が求められなければなりません。有効なトランスフォーメーション式を必要に応じて入力できます。

戻り値

数値。
関数に渡された値がすべてNULLである場合、または行が1つも選択されていない場合(たとえば、フィルタ条件の値がすべての行に対してFALSEまたはNULLであった場合)には、NULLです。
戻り値が15桁を超える精度を持つ10進値である場合は、高精度を有効にして、最大38桁までの10進精度を使用可能にできます。

NULL

値がNULLであると、PERCENTILEはその行を無視します。ただし、グループ内の値がすべてNULLである場合には、NULLを返します。
デフォルトでは、
PowerCenter統合サービス
は集計関数においてNULL値をNULLとして処理します。 ポートまたはグループ全体のNULL値を渡すと、関数はNULLを返します。ただし、
PowerCenter統合サービス
を設定する場合、集計関数のNULL値の扱い方を選択できます。 集計関数においてNULL値を0として扱うか、またはNULLとして扱うかを指定できます。

Group By

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

PowerCenter統合サービス
は、次のロジックを使用してパーセンタイルを計算します。
この方程式では、以下のガイドラインを使用します。
  • 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