中間結果の保存 - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/uhh1512082756414.ditamap
dita:ditavalPath
ja-JP/uhh1512082756414.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

さらに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;