Kategorie: Fensterfunktionen

LAG

LAG liest den Wert einer früheren Zeile derselben Partition, ohne die Tabelle mit sich selbst zu joinen.

Syntax

LAG(expression [, offset [, default]]) OVER (PARTITION BY column ORDER BY column)

Besonderheiten in AMC

  • Der Offset ist standardmäßig 1, der Standardwert außerhalb der Partition NULL. Eine OVER-Klausel mit ORDER BY ist Pflicht.
  • LEAD funktioniert gleich, schaut aber auf die folgende Zeile.

Beispiel

Veränderung der Impressionen gegenüber dem Vortag je Kampagne.

WITH daily AS (
  SELECT
    campaign,
    DATE_TRUNC('DAY', event_dt_utc) AS day,
    SUM(impressions) AS impressions
  FROM
    sponsored_ads_traffic
  GROUP BY
    1,
    2
)
SELECT
  campaign,
  day,
  impressions,
  impressions - LAG(impressions, 1, 0) OVER (PARTITION BY campaign ORDER BY day) AS change_vs_previous_day
FROM
  daily

Gegen das AMC-Schema geprüft, nicht auf einer AMC-Instanz ausgeführt.

Verwandte Funktionen: ROW_NUMBER, DATE_TRUNC

Quelle: advertising.amazon.com (abgerufen am 2026-10-09)