rollup(TimeWeightSummary)

rollup(
tws TimeWeightSummary
) RETURNS TimeWeightSummary

An aggregate to compute a combined TimeWeightSummary from a series of non-overlapping TimeWeightSummaries. Overlapping TimeWeightSummaries causes errors.

For more information about time-weighted average functions, see the hyperfunctions documentation.

Required arguments

NameTypeDescription
twsTimeWeightSummaryThe input TimeWeightSummary from a previous time_weight call, often from a continuous aggregate

Returns

ColumnTypeDescription
time_weightTimeWeightSummaryA TimeWeightSummary object that can be passed to other functions within the time weighting API

Sample usage

WITH t as (
SELECT
date_trunc('day', ts) as dt,
time_weight('Linear', ts, val) AS tw -- get a time weight summary
FROM foo
WHERE measure_id = 10
GROUP BY date_trunc('day', ts)
), q as (
SELECT rollup(tw) AS full_tw -- do a second level of aggregation to get the full time weighted average
FROM t
)
SELECT
dt,
average(tw), -- extract the average from the time weight summary
average(tw) / (SELECT average(full_tw) FROM q LIMIT 1) as normalized -- get the normalized average
FROM t;

Found an issue on this page?

Report an issue!

Keywords

Related Content