Le cadre détermine les lignes incluses dans le calcul de la ligne d'entrée actuelle, en fonction de leur position relative sur la ligne actuelle.
Si vous utilisez une fonction d'agrégation au lieu de LEAD ou LAG, vous devez spécifier un cadre de fenêtre. LEAD et LAG font référence à des lignes individuelles et ignorent la spécification du cadre.
Les décalages de début et de fin décrivent le nombre de lignes qui s'affichent avant et après la ligne d'entrée actuelle. Un décalage de « 0 » représente la ligne d'entrée actuelle. Par exemple, un décalage de début de -3 et un décalage de fin de 0 décrit un cadre comprenant la ligne d'entrée actuelle et les trois lignes avant la ligne actuelle.
L'image suivante affiche un cadre avec un décalage de début de -1 et un décalage de fin de 1 :
Pour chaque ligne d'entrée, la fonction effectue une opération d'agrégation sur les lignes au sein du cadre Si vous configurez une expression d'agrégation telle que SUM avec le cadre précédent, l'expression calcule la somme des valeurs au sein du cadre et renvoie une valeur de 6 000 pour la ligne d'entrée.
Vous pouvez également spécifier un cadre qui n'inclut pas la ligne d'entrée actuelle. Par exemple, un décalage de début de 10 et un décalage de fin de 15 décrit un cadre qui comprend six lignes complètes, de la dixième à la quinzième ligne après la ligne actuelle.
Le décalage de début doit être inférieur ou égal au décalage de fin.
Les décalages
Toutes les lignes précédentes
et
Toutes les lignes suivantes
représentent la première et la dernière ligne de la partition. Par exemple, si le décalage de début est Toutes les lignes précédentes et que le décalage de fin est -1, le cadre inclut une ligne avant la ligne actuelle et toutes les lignes avant cela.
La figure suivante montre un cadre avec un décalage de début de 0 et un décalage de fin Toutes les lignes suivantes: