我希望将每个日期的值与所有先前日期的平均值进行比较,并计算百分比变化。例如,在下面的源表中,我希望将2022年12月的值100与11月、10月和9月的平均值((75+60+75)/3)进行比较,以恢复0.43的变化。
源表
| 日期|价值|
| - ------|- ------|
| 二〇二二年十二月|一百|
| 二〇二二年十一月|七十五|
| 二〇二二年十月|六十|
| 二〇二二年九月|七十五|
所需输出
| 日期|价值|比较|
| - ------|- ------|- ------|
| 二〇二二年十二月|一百|0.43|
| 二〇二二年十一月|七十五|0.11|
| 二〇二二年十月|六十| -0.20 |
| 二〇二二年九月|七十五|- -|
2条答案
按热度按时间tv6aics11#
您需要一个窗口化的
AVG
,它带有一个OVER
子句,并使用适当的行范围(ORDER BY [Date] ASC ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
):试验数据:
声明:
结果(未修约):
| 日期|价值|比较|
| - ------|- ------|- ------|
| 小行星2022|一百|0.4285714285714美元|
| 小行星2022|七十五|0.1194029850746|
| 小行星2022|六十|-0.2000000000000|
| 小行星2022|七十五|* 无效 *|
3wabscal2#
类似于这样。不过要注意0值