У меня есть следующие примеры данных, содержащие 4 столбца (qtrs, y, c1372, c5244), которые являются квартальными данными:
Я хотел бы преобразовать столбцы c1372 и c5244 в годичные значения роста существующих значений. Это требует деления текущей строки на текущую строку / текущую задержку строки 4 -1.
update temp_09.Y_PZZA
set C1372 = C1372 / LAG(C1372,4) - 1,
C5244 = C5244 / LAG(C5244,4) - 1,
Однако вышеприведенное решение не работает. Я получаю эту ошибку:
[42803] ERROR: cannot use aggregate function in UPDATE
Также я не уверен, является ли функция задержки самым простым или наиболее надежным решением. Также имейте в виду, что первые 4 строки не могут ссылаться на более ранние строки. Хорошо, если эти первые 4 значения строки не изменятся.