Я пытаюсь создать кумулятивное значение с чем-то вроде этого
KEY1 Date_ VAL1 CUMU_VAL2
K1 D1 1 0
K1 D2 1 1
K1 D3 0 2
K1 D4 1 0
K1 D5 1 1
Итак, проблема в том, чтобы продолжать добавлять значение на 1 в столбце CUMU_VAL2 на основе предыдущей строки в VAL1, ноэта сумма сбрасывается, когда предыдущее значение в столбце VAL1 равно нулю.В основном, если вы делаете это в Excel, формула, скажем, Cell (D3) будет
D3 = IF(C2>0, D2+1, 0)
. Я полагаю, что я должен быть в состоянии что-то вроде этого, но как мне добавить в случае, когда предыдущее значение равно нулю, тосбросить сумму?
SELECT
a1.*,
SUM(a1.VAL1) OVER (PARTITION BY a1.KEY1 ORDER BY a1.Date_ ) AS CUMU_VAL2
FROM source_table a1