分析関数は、一般的にデータセット内の行のセットを使用して計算を実行します。これは、データセット全体、あるいはグループ、パーティション、またはウインドウとして定義された特定の行のセットになります。
集約分析関数: 計算を実行するためにデータセット、グループ、パーティション、またはウィンドウにあるすべての行を使用して、単一値を返します。たとえば、sum は現在のスコープにあるすべての行の値を加算します。集約分析関数は、以下のために RAQL クエリの SELECT 句または HAVING 句で使用できます。
GROUP BY 句で定義された各グループに対する単一値を返します。
OVER 句で定義された各パーティションまたは各ウィンドウに対する単一値を返します。この単一値は、パーティションまたはウィンドウの各行に加算されます。また、集約分析関数を使用して、OVER 句で定義されたパーティションまたはウィンドウに対して実行する計算を返すこともできます。
グループやパーティションの定義が指定されていない場合、データセット全体に対する単一値を返します。
ウィンドウ分析関数: パーティションまたはウィンドウの行の一部を使用して計算を実行し、各行に対する値を返します。通常、これは、FIRST_VALUE や ROW_NUMBER など、現在の行と相対的な行を使用します。
ウィンドウ分析関数を使用するクエリには、OVER 句を含める必要があります。これは、関数が使用するパーティションまたはウィンドウを定義します。
プレーン関数と同様に、RAQL は SQL 標準で定義された分析関数と、RAQL 固有の拡張を提供します。
RAQL 固有の拡張は次のとおりです:
集約 |
ウィンドウ |
関数 |
説明 |
|
correlation(Number col-or-expr, Number col-or-expr) |
非推奨。代替策については、「3.8 の分析関数の更新」を参照してください。 |
|
|
covar_samp(Number col-or-expr, Number col-or-expr) |
2 つの指定された列の標本共分散 (見積もり) を返します。詳細については、分散を参照してください。 |
|
|
analytics.discretize(Number col-or-expr, int binCount) |
この関数は、列または式の値の連続範囲を、指定された瓶 (統計用語) の数に基づいた個別の瓶に分割します。値が
つまり、返り値が 0 以上 1 未満であれば第 1 瓶を、1 以上 2 未満であれば第 2 瓶…を表します。 この関数はウィンドウをサポートしないので注意してください。パーティション全体のみに適用できます。 |
|
|
gmean(Number col-or-expr) |
パーティション、またはパーティション内の現在のウィンドウ内の列または式の値の幾何平均を返します。 幾何平均は、通常、複数の特性が関与する、特に特性のスケールが異なる場合に平均を定義するために使用されます。 |
|
|
analytics.kmeans_clusters(Number col-or-expr1[,Number col-or-expr2,...Number col-or-exprN]; Integer k, Integer iterations, String measure) |
各クラスターの最小距離内の行をグループ化する、k として指定されるクラスター数の最適中心点を返します。各行のクラスターの包含は、列パラメーターの一覧 (セミコロンの前) で定義される特性で定義されます。クラスター中心点からの距離は、measure で指定される式によって測定されます。
|
|
|
analytics.kmeans_observations(Number col-or-expr1[,Number col-or-expr2,...Number col-or-exprN]; Integer k, Integer iterations, String measure) |
k で指定されたクラスター数に関して、各行が属するクラスターの ID を返します。各行のクラスターの包含は、列パラメーターの一覧 (セミコロンの前) で定義される特性で定義されます。クラスター中心点からの距離は、measure で指定される式によって測定されます。
|
|
|
analytics.ordinal(String col-or-expr) |
指定された列または式の、一意の各文字列値の指数を返します。通常、序数を割り当てると、文字列の列を使用した計算が可能になります。 |
|
|
skew(Number col-or-expr) |
現在のパーティション、またはパーティション内の現在のウィンドウ内の列または式の値の正規分布からの非対称度を返します。これは、調整済みフィッシャー・ピアソンの標準モーメント係数を使用します。 正の値は、平均の左側に多くの値がある傾向を示し、負の値はその逆を示唆します。 データセットに 3 行以上ない場合、これは 0 (ゼロ) を返します。この関数は、計算が未定義または数値でない場合に NaN を返す可能性があります。 |