タイムバケット内の欠落値の処理 - Teradata Database - Teradata Vantage NewSQL Engine

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

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

欠落値がタイムバケット内に存在する場合(例えば、時系列集約のテーブルとデータ定義の例のTEMPERATURE列に挿入されたNULL値)、値は無視され、集約結果の計算に含まれません。これはTeradata Databaseの既存の集約関数の動作と一致しています。

この例では、NULL値を持つAVERAGEの結果を示しています。

SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, AVG(TEMPERATURE), COUNT(*)
FROM OCEAN_BUOYS
WHERE TD_TIMECODE BETWEEN TIMESTAMP '2014-01-06 08:00:00' AND TIMESTAMP '2014-01-06 10:30:00'
AND BUOYID = 0
GROUP BY TIME (MINUTES(10) AND BUOYID)
ORDER BY 2,3;

結果:

TIMECODE_RANGE GROUP BY TIME(MINUTES(10)) BUOYID Average(TEMPERATURE) COUNT(*)
('2014-01-06 08:00:00.000000+00:00', '2014-01-06 08:10:00.000000+00:00') 1 0 54 3
('2014-01-06 08:10:00.000000+00:00', '2014-01-06 08:20:00.000000+00:00') 2 0 55 2

NULL値は、結果の計算から省略されています。

この動作を望んでいない場合の戦略としては、欠落値が削除されるかまたは別の値で更新されるように系列データを消去します。これらの戦略の詳細については、以下を参照してください。