Ein mächtiges Feature im Bereich “Reporting” ist das sogenannte Pivoting (http://de.wikipedia.org/wiki/Pivot-Tabelle). Was bisher ein schlagkräftiges Argument für Excel war, oder umständlich im Client programmiert werden musste ist nun erstmals als neue SQL Erweiterung in Oracle 11g integriert. Wie mächtig und praxistauglich die Funktion wirklich ist soll ein kleines Beispiel zeigen.
Artikel-Schlagworte: „Analytische Funktionen“
Pivoting in Oracle 11g
Donnerstag, 15. Januar 2009Pimp my SQL
Mittwoch, 7. Januar 2009“Form schlägt Inhalt!” ist eine Aussage, der ich mich leider viel zu häufig gegenüber sehe. Das wichtige an einem Report ist die korrekte Schriftart, Linienstärken und die pixelgenaue Ausrichtung der Spalten. Ob eine Zahl hier und dort “ein wenig” falsch ist, das bemerkt in der Regel niemand. Wenn aber die Überschrift nicht zentriert und nicht in Arial 12 ist, dann ist der Bericht wertlos!
Jedoch nicht jede grafische Aufbereitung eines Berichts ist verschwendete Mühe. Seitenlange Zahlenreihen schaut sich niemand an, und selbst wenn, bleibt die Aussagekraft der Zahlen durch die Menge an Informationen verborgen. Ein Mittelweg zwischen Layout/Grafik und Information muss also her. Mein Werkzeug erster Wahl: SQL*Plus.
Gewusst wie – Analytische Funktionen!
Freitag, 27. Juni 2008Heute morgen war ich mal wieder im Datenbankforum bei Tutorials.de unterwegs und bin (seit langem) wieder auf eine spannende und berechtigte Frage zu SQL gestoßen. Folgendes Problem liegt vor:
SELECT * FROM PRODUCTS; PRODUKT INHALT LAENGE ------------ -------- -------- Produkt1 Kabel 10 Produkt1 Draht 11 Produkt1 Kabel 15 Produkt2 Draht 12 Produkt3 Kabel 8 Produkt3 Kabel 5 Produkt4 Kabel 3 Produkt5 Draht 1
Die Datensätze sollen nun nach Produkt und Inhalt gruppiert werden. Ermittelt werden soll neben der Gesamtlänge des Inhalts pro Produkt ( SUM( LAENGE ) .. GROUP BY PRODUKT, INHALT ) auch der prozentuale Anteil des Inhalts am Produkt. Im Falle vom Produkt1 hieße dies, 25m Kabel im Verhältnis zu 11m Draht. (weiterlesen …)