Sql 在时间序列中呈现累积平均值
我试图展示一个分数的时间序列来观察趋势 分数是从表中的第一个日期到本月末的所有分数的平均值 即2018年1月=其中日期<2018年1月 2018年2月=其中日期<2018年2月 我想将此作为每年每月(2017年12月、2018年1月)的月度得分 如果分数不是平均值,我可以在时间序列中使用累积选项,但是在引入平均值(Metric)时这不起作用 这件事真让我抓狂。如果您能就如何构建数据以及如何在Google Datastudio中呈现这些数据提供任何建议,我们将不胜感激 我可以访问数据库,我们正在利用大查询创建视图。Sql 在时间序列中呈现累积平均值,sql,google-bigquery,google-data-studio,Sql,Google Bigquery,Google Data Studio,我试图展示一个分数的时间序列来观察趋势 分数是从表中的第一个日期到本月末的所有分数的平均值 即2018年1月=其中日期
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;
请在您的问题中以表格形式包含一些示例数据,然后显示预期的输出是什么。我已经发布了另一个问题作为后续问题。我正在尝试通过添加一个附加组。