UNPIVOT (SQL)
Het omgekeerde van PIVOT: maakt van kolommen rijen. Zet een brede tabel (een kolom per maand: jan, feb, mrt …) om in een smalle met een rij per (maand, waarde). Handig om data in spreadsheetvorm te normaliseren tot iets waar goed op te querien valt.
Gebruik: iemand levert data in brede vorm (elke meting een eigen kolom), maar voor aggregatie, filtering en joins wil je de lange, genormaliseerde vorm. SQL Server en Oracle kennen de UNPIVOT-syntax. Een draagbaar patroon in PostgreSQL: SELECT id, 'jan' AS month, jan AS value FROM t UNION ALL SELECT id, 'feb', feb FROM t ..., of eleganter met LATERAL (VALUES (...)). PostgreSQL kan ook unnest() met arrays gebruiken. Vuistregel: het 'lange' (smalle) formaat is bijna altijd beter voor analyse en opslag dan het brede; UNPIVOT is het gereedschap om daar te komen. De tegenhanger van PIVOT, in omgekeerde richting.