はじめに

Vertica拡張SQLのTime Series Analyticsを使用すると、テーブル内に格納されているデータと異なる時間間隔でデータを抽出することができます。
例えば、株価が変動する度に書き込まれる取引明細テーブル内で、銘柄ごとの価格変動を比較したい場合、銘柄毎で同じ時間間隔にデータを補完してデータを抽出することができます。

コマンド構文



またTIMESIRES関数では、開始値を指定するTS_FIRST_VALUEおよびTS_LAST_VALUEがTIMESERIES集約関数として用意されています。



利用例

株価が変動する度に書き込まれる取引明細のテーブル内で、銘柄ごとの価格変動を比較したい場合の例を記載します。
本例では、ABC株とXYZ株のデータ整形を行い、同じ時間軸で比較できるようにします。

取引明細テーブル



定数補間

TS_FIRST_VALUE関数により入札価格列の最も古い時間(03:00:00)の値(ABC:7、XYZ:10)から、2秒間隔でデータを直前のデータと同じデータを補間します。


線形補間

TS_LAST_VALUE関数により入札価格列の最新(ABC:03:00:06、XYZ:03:00:05)の値(ABC:6.7、XYZ:10.5)から、2秒間隔でデータを線形値で補間しています。




検証バージョンについて

この記事の内容はVertica 8.0で確認しています。