capypad
0 Tage Serie
sql / expert
Snippet

Relationale Transformation durch aggregierte CASE-Ausdrücke

Simuliert eine Pivot-Operation durch die Kombination von CASE-Logik mit Aggregatfunktionen. Dies transformiert zeilenbasierte Daten in ein spaltenbasiertes Matrixformat für Kreuztabellen-Berichte.

snippet.sql
sql
1
2
3
4
5
6
7
8
SELECT
store_id,
SUM(CASE WHEN quarter = 1 THEN revenue ELSE 0 END) AS Q1_Revenue,
SUM(CASE WHEN quarter = 2 THEN revenue ELSE 0 END) AS Q2_Revenue,
SUM(CASE WHEN quarter = 3 THEN revenue ELSE 0 END) AS Q3_Revenue,
SUM(CASE WHEN quarter = 4 THEN revenue ELSE 0 END) AS Q4_Revenue
FROM sales_data
GROUP BY store_id;
Erklärung
1
SUM(CASE WHEN quarter = 1 THEN revenue ELSE 0 END)
Bedingte Aggregation, die den Umsatz nur dann zur Summe addiert, wenn die Zeile zum ersten Quartal gehört.
2
GROUP BY store_id
Fasst alle Quartalszeilen zu einer einzigen Zeile pro Filiale zusammen.