呈现时间序列中的累积平均值

时间:2018-09-04 05:19:05

标签: sql google-bigquery google-data-studio

我正在尝试提供分数的时间序列以查看趋势。

分数是表中第一个日期到年月末的所有分数的平均值。

即。 2018年1月=日期<2018年1月 2018年2月=日期<2018年2月

我想将其作为每个月(2017年12月,2018年1月)的月度得分呈现。

如果得分不是平均值,我可以在时间序列中使用“累积”选项,但是在引入Avg(Metric)时这不起作用。

我真的很head头。我们将不胜感激有关如何构建数据并将其呈现在Google Datastudio中的任何建议。

我有权访问数据库,我们正在利用Big查询来创建视图。

1 个答案:

答案 0 :(得分:2)

avg()应该可以工作。像这样:

select t.*,
       avg(val) over (partition by format_date('%Y%m', date))
from t;

糟糕,这是当前月份的平均值。如果您想要运行平均值:

select format_date('%Y%m', date) as yyyymm,
       (sum(sum(val)) over (order by min(date)) / 
        sum(count(*)) over (order by min(date))
       ) as running_avg
from t
group by yyyymm
order by yyyymm;