首页 文章

以时间序列呈现累积平均值

提问于
浏览
2

我试图提出一个时间序列的分数来查看趋势 .

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

即 . 2018年1月=其中日期<2018年2月2018年2月=其中日期<2018年2月

我想将此作为每个月的月度分数(2017年12月,2018年1月)

如果得分不是平均值,我可以使用时间序列中的累积选项,但是在引入平均值(公制)时这不起作用 .

我真的在这个问题上摸不着头脑 . 有关如何构建数据并在Google Datastudio中呈现此内容的任何建议将不胜感激 .

我可以访问数据库,我们正在利用Big查询来创建视图 .

1 回答

  • 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;
    

相关问题