17.00 - 17.05 - 中間結果の保存 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

さらにUDFのAGR_INIT集約フェーズでは、引数によって渡される最初のデータ値セットを、中間集約記憶域に保存することも必要です。最初のデータ値セットは、そのグループで集約の対象となる最初の行のデータです。

その後、AGR_DETAIL集約フェーズで関数が呼び出されるごとに、関数は引数によって渡される行データを、その特定のグループに対応する中間集約記憶域に累積する必要があります。集約の対象となる各グループごとに、それぞれ別個の中間記憶域があります。

集約記憶域は、FNC_Context_t関数コンテキスト引数のinterim1によって参照されています。

標準偏差のサンプルのx入力引数は、標準偏差の計算の対象となる列です。標準偏差の計算において、この関数はxの値を使用して、次を計算します。
  • sum(X2)
  • sum(X)

列値を使用して必要な計算を実行し、その結果を中間記憶域に加算するための文は、次のようになります。

s1->n++;
s1->x_sq  += *x * *x;
s1->x_sum += *x;