Mobile-Menu-Trenner
Hamburgermenu_icon
Hamburger-X_icon Copy
Hamburger-X_icon Copy
Group

Db2 Tipp – SQL OLAP Funktionen

Sanduhr und DNA Strang

OLAP-Funktionen sind sehr praktische SQL-Funktionalitäten, die ich oft und gerne in Projekten verwende und deshalb hier einen Überblick geben will.

Während die „normalen“ Spaltenfunktionen im SQL – typischerweise – eine GROUP BY Klausel nach sich ziehen, kann man mit OLAP-Funktionen auf diese verzichten und alle benötigten Spalten einfach mit-selektieren.

Beispiel für Db2 SQL OLAP

Ein Beispiel ist an dieser Stelle sicherlich hilfreich:

Aufgabe:
Ermitteln Sie die Mitarbeiter der Abteilungen mit Ihrem Gehalt und den prozentualen Anteil dieses Gehalts am Gesamtgehalt der jeweiligen Abteilung
anhand der EMPLOYEE-Tabelle der Db2 SAMPLE Datenbank.

Abbildung: Klassische SQL-Lösung ohne OLAP-Funktionen
Abbildung: EMPLOYEE-Tabelle

Mit OLAP-Funktion wäre dafür folgendes SQL ausreichend:

Abbildung: Lösung mit OLAP-Funktion

Inzwischen gibt es viele verschiedene OLAP-Funktionen, die sich an so einigen Stellen unterscheiden, was schon mal zu Verwirrungen führen kann, auch wenn es eigentlich in der IBM-Dokumentation enthalten ist. Dort sind die interessanten Punkte aber über viele Fragmente des Syntaxdiagrams verteilt und es nicht leicht eine Übersicht zu bekommen. Deshalb habe ich dies aufbereitet und hoffe es schafft Klarheit über die Unterschiede.

Übersicht der OLAP-Funktionen

Abbildung: Übersicht OLAP-Funktionen

Die Aggregatsfunktionen beziehen sich auf die üblichen Funktionen wie z.B. max(), avg(), sum() wie es auch im obigen Beispiel zu sehen ist. Die vollständige Liste findet man in der  IBM Dokumentation.

 

Performance - immer ein Thema

Dem Vorurteil, das mir schon mehrfach begegnet ist, diese OLAP-Funktionen seinen nicht performant möchte ich hier klar widersprechen – im Gegenteil – diese sind meist die wesentlich performantere Lösung, was ich in vielen Praxiseinsätzen auch mit größten Datenmengen schon beweisen konnte.

 

Michael

Schreiben Sie mir gerne eine Mail an michael.tiefenbacher@mip.de, wenn Sie Interesse an Details von Db2 OLAP-Funktionen oder andere Db2 Themen haben, die Sie vertiefen wollen. Gerne nehme ich mit Ihnen Kontakt dazu auf und es hilft mir, meinen Ideenspeicher für neue Blogartikel zu füllen – bis dahin viel Erfolg.

Ihr Michael Tiefenbacher

Principal Consultant

 
 
 
 

Viele Informationen zu unseren Datenbank-Services finden Sie auch mit einem Klick auf unserer Kompetenzseite zum Thema Datenbanken, schauen Sie gerne vorbei.

Das könnte Sie auch noch interessieren

Eine Starke Marke

mip Flur
Die Marke mip steht für über 35 Jahre Erfahrung als Komplettanbieter für Analyselösungen zur optimalen Nutzung Ihres Datenpotentials.
mip Flur