TIPP Pivotieren von Tabellen

Useful code snippets and help for problems with Velocity-/Java-Script Code

TIPP Pivotieren von Tabellen

Postby KaiBaechle » 16 Sep 2013, 17:29

Manche RDBMS haben die Möglichkeit Daten zu pivotieren, d. h. vertikale Daten (Werte einer Spalte) in die Horizontale (Aufspannen von Spalten ) zu bringen. Oracle kennt dafür beispielsweise den Befehl PIVOT und MS Access TRANSFORM.

Für RDBMS, welche keine PIVOT-Funktion unterstützen kann folgende exemplarische Lösung nützlich sein. Sie basiert auf der Tabelle DEMO_CURRENCY_RATES aus dem RapidRep "Currency DWH" Beispiel und setzt dementsprechend ein Skript voraus, welches eine entsprechende Connection verwendet.


Code: Select all

## ermitteln der sortieren Liste aller Währungen
#set($currencyList = $RR.getResultSetColumn("SELECT DISTINCT ISO_CODE FROM RAPIDREP.DEMO_CURRENCY_RATES ORDER BY ISO_CODE", 1))
SELECT FIXING_DATE
#foreach($currency in $currencyList)
## anlegen einer Spalte pro Währung
  , MIN(CASE WHEN ISO_CODE = '$currency' THEN RATE ELSE NULL END) AS "$currency"
#next
FROM   RAPIDREP.DEMO_CURRENCY_RATES
GROUP BY FIXING_DATE
ORDER BY FIXING_DATE
 
KaiBaechle
 
Posts: 33
Joined: 24 May 2013, 21:20

Return to Developers Corner



Who is online

Users browsing this forum: No registered users and 1 guest

cron