ultimo_valore con IGNORE NULLS funziona bene in Oracle 10g:
select item, year, month, amount,
last_value(amount ignore nulls)
over(partition by item
order by year, month
rows between unbounded preceding and 1 preceding) from tab;
rows between unbounded preceding and 1 preceding
imposta la finestra per la funzione analitica.
In questo caso Oracle sta cercando LAST_VALUE all'interno del gruppo definito in PARTITION BY (lo stesso elemento) dall'inizio (UNBOUNDED PRECEDING) fino alla riga corrente - 1 (1 PRECEDING)
È un sostituto comune di LEAD/LAG con IGNORE NULLS in Oracle 10g
Tuttavia, se stai utilizzando Oracle 11g puoi utilizzare LAG dalla risposta di Gordon Linoff (c'è un piccolo errore di battitura con "ignora i valori nulli")