欠損値があるタイムバケットには、FILL句を使用して欠損値を定数値に置き換えます。定数のデータ型は、集約されるデータのデータ型と互換性がある必要があります。
例: 無効なケース: 互換性のない定数値の入力
この例では、定数のデータ型は、集約されるデータのデータ型と互換性がありません。この場合、TEMPERATUREです。
SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, AVG(TEMPERATURE) FROM OCEAN_BUOYS WHERE TD_TIMECODE BETWEEN TIMESTAMP '2014-01-06 09:45:00' AND TIMESTAMP '2014-01-06 11:45:00' AND BUOYID=44 GROUP BY TIME (MINUTES(15) AND BUOYID) FILL('a') ORDER BY 2,3; *** Failure 3706 Data type specified in FILL clause is incompatible with input data types to some aggregate functions.
例: 定数値の入力
この例では、互換性のあるデータ型を持つ定数値でFILL句を使用した場合のクエリーを示します。
SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, AVG(TEMPERATURE) FROM OCEAN_BUOYS WHERE TD_TIMECODE BETWEEN TIMESTAMP '2014-01-06 09:45:00' AND TIMESTAMP '2014-01-06 11:45:00' AND BUOYID=44 GROUP BY TIME (MINUTES(15) AND BUOYID) FILL(45) ORDER BY 2,3;
結果: 値のないタイムバケットは、欠損値の代わりに指定された定数値を挿入して、結果セットに含まれます。
TIMECODE_RANGE | GROUP BY TIME(MINUTES(15)) | BUOYID | AVG(TEMPERATURE) |
---|---|---|---|
('2014-01-06 09:45:00.000000+00:00', '2014-01-06 10:00:00.000000+00:00') | 1 | 44 | 45 |
('2014-01-06 10:00:00.000000+00:00', '2014-01-06 10:15:00.000000+00:00') | 2 | 44 | 49 |
('2014-01-06 10:15:00.000000+00:00', '2014-01-06 10:30:00.000000+00:00') | 3 | 44 | 45 |
('2014-01-06 10:30:00.000000+00:00', '2014-01-06 10:45:00.000000+00:00') | 4 | 44 | 43 |
('2014-01-06 10:45:00.000000+00:00', '2014-01-06 11:00:00.000000+00:00') | 5 | 44 | 43 |
('2014-01-06 11:00:00.000000+00:00', '2014-01-06 11:15:00.000000+00:00') | 6 | 44 | 45 |
('2014-01-06 11:15:00.000000+00:00', '2014-01-06 11:30:00.000000+00:00') | 7 | 44 | 45 |
('2014-01-06 11:30:00.000000+00:00', '2014-01-06 11:45:00.000000+00:00') | 8 | 44 | 45 |