例: 時系列でKURTOSISの使用 - 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

例: PTIテーブルおよび非PTIテーブルの尖度の計算

次の例は、Primary Time Index(PTI)テーブルと非PTIテーブルの両方でKurtosis関数を使用する方法を示しています。

この例では、時系列集約のテーブルとデータ定義の例のテーブルとデータ設定を使用します。

/*PTI Table*/
SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, KURTOSIS(TEMPERATURE)
FROM OCEAN_BUOYS
WHERE TD_TIMECODE BETWEEN TIMESTAMP '2014-01-06 08:00:00' AND TIMESTAMP '2014-01-06 10:30:00'
GROUP BY TIME (MINUTES(10) AND BUOYID)
ORDER BY 3,2,1;  

/*Non-PTI Table*/
SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, KURTOSIS(TEMPERATURE)
FROM OCEAN_BUOYS_NONPTI
WHERE TIMECODE BETWEEN TIMESTAMP '2014-01-06 08:00:00' AND TIMESTAMP '2014-01-06 10:30:00'
GROUP BY TIME (MINUTES(10) AND BUOYID)
USING TIMECODE(TIMECODE)
ORDER BY 3,2,1;

結果:

両方のクエリーの結果は同じであるため、1つの結果セットだけが表示されます。
TIMECODE_RANGE GROUP BY TIME (MINUTES(10)) BUOYID Kurtosis (TEMPERATURE)
('2014-01-06 08:00:00.000000+00:00', '2014-01-06 08:10:00.000000+00:00') 1 0 ?
('2014-01-06 08:10:00.000000+00:00', '2014-01-06 08:20:00.000000+00:00') 2 0 ?
('2014-01-06 09:00:00.000000+00:00', '2014-01-06 09:10:00.000000+00:00' 7 1 -2.75837669094693E 000
('2014-01-06 10:00:00.000000+00:00', '2014-01-06 10:10:00.000000+00:00') 13 44 -2.17645648488608E 000
('2014-01-06 10:10:00.000000+00:00', '2014-01-06 10:20:00.000000+00:00') 14 44 ?

例: HAVING句を使用してKurtosis関数のNULLの結果をフィルタ処理する

次の例は、Kurtosis関数をHAVING句とともに使用して結果をフィルタ処理する方法を示しています。

この例では、時系列集約のテーブルとデータ定義の例のテーブルとデータ設定を使用します。

/*PTI Table*/
SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, KURTOSIS(TEMPERATURE)
FROM OCEAN_BUOYS
WHERE TD_TIMECODE BETWEEN TIMESTAMP '2014-01-06 08:00:00' AND TIMESTAMP '2014-01-06 10:30:00'
GROUP BY TIME (MINUTES(10) AND BUOYID)
HAVING KURTOSIS(TEMPERATURE) IS NOT NULL
ORDER BY 3,2,1;

/*Non-PTI Table*/
SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, KURTOSIS(TEMPERATURE)
FROM OCEAN_BUOYS_NONPTI
WHERE TIMECODE BETWEEN TIMESTAMP '2014-01-06 08:00:00' AND TIMESTAMP '2014-01-06 10:30:00'
GROUP BY TIME (MINUTES(10) AND BUOYID)
USING TIMECODE(TIMECODE)
HAVING KURTOSIS(TEMPERATURE) IS NOT NULL
ORDER BY 3,2,1;

結果:

両方のクエリーの結果は同じであるため、1つの結果セットだけが表示されます。
TIMECODE_RANGE GROUP BY TIME (MINUTES(10)) BUOYID Kurtosis (TEMPERATURE)
('2014-01-06 09:00:00.000000+00:00', '2014-01-06 09:10:00.000000+00:00' 7 1 -2.75837669094693E 000
('2014-01-06 10:00:00.000000+00:00', '2014-01-06 10:10:00.000000+00:00') 13 44 -2.17645648488608E 000