dernière_valeur avec IGNORE NULLS fonctionne bien dans 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
définit la fenêtre pour la fonction analytique.
Dans ce cas, Oracle recherche LAST_VALUE dans le groupe défini dans PARTITION BY (le même élément) depuis le début (UNBOUNDED PRECEDING) jusqu'à la ligne actuelle - 1 (1 PRECEDING)
C'est un remplacement courant pour LEAD/LAG avec IGNORE NULLS dans Oracle 10g
Cependant, si vous utilisez Oracle 11g, vous pouvez utiliser LAG à partir de la réponse de Gordon Linoff (il y a une petite faute de frappe avec "ignorer les nulls")