Letzte Artikel von Gerhard Höll (Alle anzeigen)

Die Gruppierung von Daten ist eine wichtige Funktion der Datenanalyse. Attribute – wie z.B. “Preisklasse” – erleichtern oftmals die Gruppenbildung in einer BI-Anwendung. Manchmal muss ein BI-Nutzer jedoch seine Daten nach eigenen, neuen Gruppen zusammensetzen, für die keine Attribute in der Datenbank vorhanden sind.

Oracle Business Intelligence Suite (OBI) stellt hierfür die Bin-Case-Funktion zur Verfügung. Mit ihr können wir ohne tiefere SQL-Kenntnisse in wenigen Klicks Gruppierungen, sog. Bins, erstellen.

Es gibt sicher schönere und sinnvollere Möglichkeiten Gruppen zu erstellen, z.B. diese als Attribute in der Datenbank anzulegen. Aber die Bins sind eine schnelle und einfache Alternative für BI-Anwender.

Hier soll kurz für BI-Anwender die Bin-Case-Funktion des OBI erklärt werden.

Grundlage CASE-Statement

Die Bin-Case–Funktion repräsentiert nichts anderes als ein SQL-CASE-Statement. Für weiterführende Informationen zum Case-Statement findet sich ein Link am Ende des Artikels.

Im Case-Statement werden Attribute ausgewählt, deren Werte zu selbstdefinierten Gruppen bzw. den „Bins“ führen können. Jedes Bin repräsentiert dabei eine WHEN-Klausel bei der ein Attributwert auf eine vorgegebene Bedingung geprüft wird. Z.B. “WHEN Preis >= 100 …”.

Wenn ein Wert auf eine Bedingung zutrifft wird mit “THEN” diese Zeile der definierten Gruppe zugewiesen.
Z.B. “WHEN Preis >= 100 THEN ‘PREISGRUPPE_1′”.

Wie im CASE-Statement ist dabei die Reihenfolge zu beachten. Jede ausgewählte Zeile in einer BI-Auswertung wird genau einem Bin hinzugefügt. Es gilt: trifft der geprüfte Attributwert eine Gruppe, wird zugeteilt. Andere mögliche Bins werden dann nicht mehr berücksichtigt.

Beispiel

In diesem einfachen Beispiel sollen Fahrzeuge nach Hubraumbereichen ausgewertet werden. Hierfür haben wir eine BI-Analyse erstellt.

Ausgangslage: nicht gruppierte Ansicht in einer einfachen Analyse
einfache Analyse: Anzahl Fahrzeuge nach Hubraum

Die Analyse zeigt im Ausschnitt wie viele Fahrzeuge einen bestimmten Hubraumwert haben. Dabei gibt es viele, nah beieinander liegende Hubraumwerte mit nur einem Fahrzeug. Um diese Einzelzeilen zusammenzufassen, müssen wir den Hubraum gruppieren. Ein Attribut Hubraumklasse, o.ä., steht in diesen BI-Modell nicht zur Verfügung, d.h. wir erstellen nun die Bereiche anhand des vorhandenen Attributs.

Im Bereich Kriterien der BI-Analyse können wir per Rechtsklick auf die Spalte Hubraum die „Formel bearbeiten“. Im Register “Bins” können wir die Gruppen erstellen.

in der Spaltenformel können im Register Bins die WHEN-THEN Klauseln erstellt werden
Spaltenformel bearbeiten: Register Bins

Bei “Bin hinzufügen” können wir den Operator und den zu prüfenden Wert auswählen.

Erstellung eines Bin: Operator und Wert werden festgelegt
Erstellung Bin: Operator und Wert festlegen

Anschließend müssen wir noch einen Namen für das neue Bin auswählen.

Nachdem wir alle Bins bzw. Gruppen erstellt haben, können wir den Namen für “alle anderen Werte” festgelegen. “Alle anderen Werte” entspricht im Case-Statement dem ELSE-Zweig.

fertige Bins bei der Spaltenbearbeitung
fertige Bins

Hinweise zu Bins

Wichtig: wie bereits oben erwähnt werden im CASE-Statement die Bins der Reihenfolge nach abgearbeitet. Wenn ein Datensatz auf eine Bedingung zutrifft, wird er in diese Gruppe einsortiert. Selbst wenn der Datensatz noch auf andere Bins zutreffen kann.

Die Bin-Gruppen sollten vom Anwender daher trennscharf ausgewählt werden, sodass ein Wert nur einer Gruppe hinzugefügt werden kann. Die Anwender sollten zudem den ungefähren Wertebereich der Attribute kennen.

Die Option „Alle anderen Werte“ muss nicht erstellt werden. Jedoch werden dann alle restlichen Einzelwerte als eigene Zeile dargestellt.

Falls wir keine Bezeichnung für die Restgruppe erstellen, generiert das BI-System eine Gruppe ohne Namen.

Wenn die Checkbox „Ergebnis als numerischen Wert behandeln“ ausgewählt wird, kann nach der Gruppespalte numerisch sortiert werden. Zudem können wir mit dem Ergebnis Berechnungen durchführen.

Wenn wir wieder das Register “Spaltenformel” auswählen, sehen wir das neu generierte CASE-Statement.

CASE-Statement aus Bin-Gruppierung
generiertes CASE-Statement aus den Bins

Ergebnis

Wenn wir zurück auf die Ergebnissicht der Analyse gehen, sehen wir wie die Fahrzeuge nach den von uns festgelegten Hubraumgruppen aufgeteilt sind.

neue Ansicht mit eigener Bin-Gruppierung
neue Ansicht mit Gruppierung

Im Ergebnis sind also schnelle und einfache Gruppierungen mit Bins möglich. Bei komplexeren Gruppierungen empfiehlt sich jedoch dies über vorgelagerte Attribute in der Datenbank oder im Repository von Oracle BI zu lösen.

www.oracletutorial.com/oracle-basics/oracle-case/

https://docs.oracle.com/en/cloud/paas/bi-cloud/bilug/conditional-expressions.html