PutTimeSeries 函数

PutTimeSeries 函数将第一个时间系列的每个元素放到第二个时间系列中。

语法

PutTimeSeries(ts1   TimeSeries, 
             ts2   TimeSeries,
             flags       integer default 0) 
returns TimeSeries;
ts1
要插入的时间系列。
ts2
第一个时间系列将插入到的时间系列。
flags
flags 参数值中描述了 flags 参数的有效值。缺省值为 0

描述

如果两个时间系列包含相同时间点的数据,那么会遵循 PutElem 的规则(请参阅 PutElem 函数),除非设置 flags 参数的 TS_PUTELEM_NO_DUPS 值。

两个时间系列必须具有相同的日历。此外,第一个参数指定的时间系列的原点必须晚于或等于第二个参数指定的时间系列的原点。

此函数可用于将常规时间系列转换为非常规时间系列。
重要: 将不规则时间系列转换为规则时间系列通常需要聚集信息,这些信息可由 AggregateBy 函数提供。

通过调用 ts_put_elem(),元素会添加到第二个时间系列(如果 flags 参数的 TS_PUTELEM_NO_DUPS 值未设置)。

此函数等效的 API 为 ts_put_ts()

返回结果

第一个时间系列插入到的第二个时间系列的版本。

示例

以下示例将常规时间系列转换为非常规时间系列。daily_stocks 表保留常规时间系列数据,且 activity_stocks 表保留非常规时间系列数据。此外,daily_stocks 时间系列中的元素从 stock_bar 转换为 stock_trade
update activity_stocks
    set activity_data = PutTimeSeries(activity_data, 'calendar(daycal),
irregular'::TimeSeries(stock_trade))
    where stock_id = 600;