Skip to content

rollup()

Combine multiple timevectors into a single timevector for re-aggregation

Early access 1.3.0

Combine multiple pre-constructed timevectors into a single timevector. This is useful for re-aggregating timevectors that were created separately, such as when grouping by different dimensions or combining data from multiple sources.

Aggregate per-device timevectors into a single combined timevector:

CREATE TABLE samples(time TIMESTAMPTZ, batch INT, data DOUBLE PRECISION);
-- Create timevectors per batch
CREATE VIEW batch_series AS
SELECT batch, timevector(time, data) AS batch_series
FROM samples
GROUP BY batch;
-- Combine all batches into one timevector
SELECT rollup(batch_series)
FROM batch_series;

Combine timevectors from different time ranges:

CREATE VIEW daily_series AS
SELECT
date_trunc('day', time) AS day,
timevector(time, temperature) AS series
FROM sensor_data
GROUP BY 1;
-- Get weekly timevector from daily timevectors
SELECT
date_trunc('week', day) AS week,
rollup(series) AS weekly_series
FROM daily_series
GROUP BY 1;

The syntax is:

rollup(
series Timevector
) RETURNS Timevector
NameTypeDefaultRequiredDescription
seriesTimevector-Previously constructed timevector objects to combine
ColumnTypeDescription
rollupTimevectorA timevector combining all the underlying series