雪花:计算具有日期间隔的时间序列的滚动平均值

问题描述

雪花使我们能够基于当前值和两个先前值来计算滚动平均值。时间序列数据之间有什么差距?

例如在下面的示例中,我想计算三天移动平均线。对于7/30,以下查询在计算7/30的3天移动平均值时将使用7/25数据。有办法避免这种情况吗?

CREATE OR REPLACE TABLE STOCK_PRICE(TRADE_DATE DATE,SYMBOL STRING,CLOSE_PRICE float);
INSERT INTO STOCK_PRICE VALUES
('2020-07-25','AAPL','800.0'),('2020-07-25','AXP','90.0'),('2020-07-30','1010.0'),'112.0'),('2020-07-31','1025.0'),'105.0'),('2020-08-03','978.0'),'110.0'),('2020-08-04','970.0'),'115.0'),('2020-08-05','990.0'),'120.0'),('2020-08-06','995.0'),'125.0'),('2020-08-07','122.0'),('2020-08-10','998.0'),'124.0')

SELECT TRADE_DATE,SYMBOL,CLOSE_PRICE,AVG(CLOSE_PRICE) OVER  (PARTITION BY SYMBOL ORDER BY TRADE_DATE ROWS between 2 PRECEDING AND CURRENT ROW) AS MV_AVG_5DAY
FROM STOCK_PRICE

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)