在时间序列中呈现累积平均值
Presenting cumulative average in time series
我正在尝试呈现分数的时间序列以查看趋势。
分数是从 table 中的第一个日期到年月末的所有分数的平均值。
即。 2018 年 1 月 = 其中日期 < 2018 年 1 月
2018 年 2 月 = 其中日期 < 2018 年 2 月
我想将其呈现为每个年月(2017 年 12 月、2018 年 1 月)的月度分数
如果分数不是平均值,我可以使用时间序列中的累积选项,但是在引入平均(度量)时这不起作用。
这个问题我真是摸不着头脑。任何关于如何构建数据并将其呈现在 Google Datastudio 中的建议将不胜感激。
我可以访问数据库,我们正在利用大查询来创建视图。
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;
我正在尝试呈现分数的时间序列以查看趋势。
分数是从 table 中的第一个日期到年月末的所有分数的平均值。
即。 2018 年 1 月 = 其中日期 < 2018 年 1 月 2018 年 2 月 = 其中日期 < 2018 年 2 月
我想将其呈现为每个年月(2017 年 12 月、2018 年 1 月)的月度分数
如果分数不是平均值,我可以使用时间序列中的累积选项,但是在引入平均(度量)时这不起作用。
这个问题我真是摸不着头脑。任何关于如何构建数据并将其呈现在 Google Datastudio 中的建议将不胜感激。
我可以访问数据库,我们正在利用大查询来创建视图。
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;