qliq_titel

Ein Vertriebs-Dashboard

Einstieg in Qlik mit einem einfachen Vertriebs-Dashboard.

Für viele Unternehmer stehen Erkenntnisse aus dem Vertrieb an erster Stelle und das ist auch die Motivation für dieses kleine Projekt. In diesem Artikel stelle ich das Tool Qlik Sence vor und erstelle ein paar Kennzahlen aus einer kleinen Datenbank welche mit Vertriebsdaten gefüllt ist.

Das Ergebnis soll ein übersichtliches Dashbaord sein, mit KPIs wie Min/Max Umsatz für Produkte, einer ABC-Analyse, Umsätze nach Ländern usw. Das folgende Screenshot sollte einen Ausblick auf das Endergebnis verschaffen.


1

Die Datengrundlage für das Projekt ist eine Beispieldatenbank namens Nordwind.

Die Daten spiegeln den Verkauf von Lebensmitteln wieder und sind auf Deutsch.

Somit geht die Analyse der Datenbank etwas leichter von der Hand.

2

Los gehts!

Der Download von Qlik Sence von der Hersteller Homepage erfolgt nach einer erfolgreichen Registrierung. Sobald Qlik installiert ist und die Anmeldung erfolgreich war, kann man sofort loslegen. https://www.qlik.com/us/products/qlik-sense

Als erstes wird ein neues Dashboard angelegt und mit einem Namen versehen. Es öffnet sich ein Reiter und ein Dialog wird sichtbar. Hier kann eine Verbindung zu einer Datenquelle bestimmt werden. Die Auswahl ist groß und für viele Anbieter optimiert. Was hier benötigt wird, ist eine OLE DB Verbindung zu der Access Datenbank. Nach dem der Provider "Microsoft Jet 4.0 OLE DB Provider(32-bit)" ausgewählt und der Pfad der "Nordwind.mdb" eingetragen worden ist, kommt man mit einem Klick "Erstellen" weiter.

Im nächsten Reiter werden die zu importierenden Tabellen ausgewählt und auf Importieren geklickt. Nach einer gewissen Lade-Zeit geht ein Fenster auf und die importierten Tabellen schweben magisch als Kreise herum. Beim Anklicken und Halten eines Kreises werden einige entweder grün der orange umrandet. Das ist ein Hinweis auf die Schlüsselpaare und deren Kompatibilität. Die Kreise können miteinander verbunden werden per Drag & Drop.

3

Mit dem Button "Daten laden" wird ein Neues Arbeitsblatt erstellt, darin können jetzt Diagramme und Tabellen erzeugt werden.

Bevor die Arbeit losgeht, sollte ein Blick auf das Datenmodell geworfen werden. Dieses ist im Navigator zu finden und erlaubt eine Sicht auf verknüpfte Tabellen und die Schlüsselpaare.

4

Wenn man die Tabellenverknüpfungen betrachtet, dann stellt man schnell fest dass, die Tabellen sich um eine Haupttabelle gruppieren. Es ist die Faktentabelle "Bestellungen" und diese enthält alle Bestellvorgänge einer Periode. Die Werte einer Faktentabelle ändern sich häufig, genauer gesagt wächst der Inhalt an. Da dies nur eine Beispieldatenbank ist, werden die Bestellungen nur einen bestimmten Zeitraum (1996/1997/1998) umfassen. 

 

5

Die Struktur, nach Beladung und Verknüpfung in Qlik Sence, ist ein Snowflake-Schema. Die Dimensionstabellen, wie z.B. Personal oder Kunden, ändern Ihre Daten selten und werden daher über Schlüsselpaare um die Faktentabelle angeordnet.

Das wichtigste für die Modellierung sind Dimensionen und Kennzahlen. Im Bereich "Felder" befinden sich alle Tabellen und ihre Felder. Im Bereich "Master-Elemente" direkt darüber, können Kennzahlen und Dimensionen definiert werden.

6

Erstes Arbeitsblatt

Als erstes wird der "Bearbeiten" Modus aufgerufen und von links im Bereich "Diagramme", eine Pivot-Tabelle in den Arbeitsbereich geholt. Auf der rechten Seite befindet sich eine Eigenschaften Menübar. Dort können alle Parameter gesetzt werden die für die Darstellung und den Inhalt nötig sind.

7

Im Drop-Down Feldzeile, Daten hinzufügen, muss die Dimensionen "Kategoriename" aus der Tabelle "Kategorien" und "Artikelname" aus der Tabelle "Artikel", rausgesucht werden. Die Kennzahl "Umsatz" muss man jedoch selbst berechnen, da diese nicht in der Faktentabelle enthalten ist. Dazu geht man in den Bereich "Master-Elemente" und erstellt eine neue Kennzahl. Dem Formel-Editor muss folgendes hinzugefügt werden: sum(Anzahl*[Bestelldetails.Einzelpreis]).

8

Nun sollte das ganze ungefähr so aussehen:

Mit der Drill Funktion kann man genau sehen, welche Produkte bestellt und welcher Umsatz, entsprechend Aggregiert, erzielt worden ist. Natürlich ist diese Tabelle noch ausbaufähig, man könnte einen Filter für die Perioden bzw. Bestelldatum einbauen. Das aber kann man hier erstmal weglassen.

9

Mit diesem Grundgerüst kann man jetzt weiter arbeiten und zusätzliche Tabellen und Diagramme modellieren.

Interessant wäre auch eine Detailansicht der Bestellungen in einer Tabelle. Zuerst holt man sich die Tabelle aus dem Bereich "Diagramme" und zieht die Felder nacheinander in das Diagramm, wie im folgenden Abbild zu sehen ist. Außer die letzten drei.

10

hier das Resultat!

Die letzten drei Spalten bekommen eine Sonderbehandlung. Die Spalte Rabatt ist zwar vorhanden und wird angehänt aber sie muss als Zahl, in den Parameter Einstellung, formatiert werden. Die Spalten "Bestellsumme" und "Bestellsumme abzüglich Rabatt" erstellt man selbst, so wie die Kennzahl "Umsatz" zuvor. Die Formeln für die jeweilige Kennzahl sind wie folgt:

Kennzahl: "Bestellsumme" = (Anzahl * [Bestelldetails.Einzelpreis])

Kennzahl: "Bestellsumme abz. Rabatt" = (Anzahl*[Bestelldetails.Einzelpreis])-((Anzahl*[Bestelldetails.Einzelpreis])*Rabatt)

Das ist doch schon mal eine solide Grundlage um mit Qlik Sence zu arbeiten. Da aber eine Tabelle nicht besonders ins Auge sticht, hat man ja Diagramme, die viel aussagekräftiger sind. Daher wird ein weiteres Arbeitsblatt erstellt, bei dem Diagramme zum Einsatz kommen. Das wird im nächsten Abschnitt beschrieben.

Zweites Arbeitsblatt.

11

Um das Ziehl zu erreichen benötigt man Balkendiagramme, ein Kreisdiagramm und zwei KPI Felder.

Das obere Balkendiagramm enthält die Dimension "Artikelname" und die Kennzahl "Umsatz", diese wurden bereits erstellt. Die zwei KPI's "Max. Umsatz" und "Min. Umsatz" müsste noch gebastelt werden. Da eine KPI nichts anderes ist als eine Kennzahl, ist die Vorgehensweise nichts neues. Es werden zwei entsprechende Kennzahlen erstellt und mit folgenden Formeln versehen:

Kennzahl: "Max. Umsatz" =  max({1} TOTAL  Aggr(sum(Anzahl*[Bestelldetails.Einzelpreis]), [Artikel-Nr]))

Kennzahl: "Min. Umsatz" =  min( {1} TOTAL Aggr(sum(Anzahl*[Bestelldetails.Einzelpreis]), [Artikel-Nr]), 1)

Für die Top-Flop Analyse werden horizontale Balkendiagramme benötigt. Dazu wird zuerst ein normales Balkendiagramm eingefügt und im rechten Fenster verändert. Der Bereich "Darstellung" bietet viele Optionen und Möglichkeiten um Diagramme anzupassen. Man spielt einfach mit den Einstellungen solange, bis das gewünschte Ergebnis erreicht ist.

12

Um aber den Inhalt dieser Top-Flop Kennzahl anzuzeigen, muss diesmal nicht Kennzahlen modelliert werden sondern die Dimensionen. Die Kennzahl ist bereits vorhanden und das ist wieder "Umsatz". Die Dimensionen werden fast genauso wie die Kennzahlen behandelt, allerdings berechnet man nicht Beträge sondern setzt Regeln für die Aggregation bwz. Anzeige. Im Bereich "Master-Elemente" erstellt man erstmal Kennzahlen "Top3", "Flop3" und fügt jeweils folgende Formeln ein.

Dimension: "Top 3" = IF(Aggr(Rank(SUM(Anzahl*[Bestelldetails.Einzelpreis]),1),[Artikelname])<=3,[Artikelname])

Dimension: "Flop 3" =IF(Aggr(Rank(SUM(Anzahl*[Bestelldetails.Einzelpreis])),[Artikelname])<=3,[Artikelname])

Jetzt nur noch die Dimensionen im Bereich Daten, Rechts im Fenster, in das Diagramm hinzufügen und fertig. Ach ja und die Kennzahl "Umsatz" natürlich.

Das Kreisdiagramm enthält auch nur eine Dimension "Kategoriename" und eine Kennzahl "Umsatz". An der Darstellung sollte allerdings noch etwas geschraubt werden.

Drittes Arbeitsblatt.

13

 

Im dritten Arbeitsblatt wird eine Kundensegmentierung durchgeführt. Als erstes wird ein Balkendiagramm erstellt welches Umsätze nach Ländern anzeigt. Mit der Dimension "Bestimmungsland" und der Kennzahl "Umsatz" ist das sehr schnell umgesetzt. Bevor es komplexer wird,  wird noch eine Tabelle mit Dimension  "Kunden.Firma" und Kennzahl "Umsatz" eingefügt. Die Dimension ABC-Kunden muss selbst erstellt werden, wie das funktioniert wurde bereits beschrieben. Die Formel für die Segmentierung geht wie folgt:

 

Dimension: "ABC-Kunden" =Aggr( If((Rank(Sum(Anzahl*[Bestelldetails.Einzelpreis]),1)-1) / Count(distinct total  [Kunden.Firma])< 0.50, 'A', If((Rank(Sum(Anzahl*[Bestelldetails.Einzelpreis]),1)-1) / Count(distinct total [Kunden.Firma])< 0.75, 'B', 'C')),   [Kunden.Firma])

 

Die Tabelle zeigt nun die umsatzstärksten Kunden an. Die Segmentierung folgt der klassischen ABC-Analyse und das Kartendiagramm macht das ganze erst richtig interessant. Das schöne ist hier die Dynamik, sobald ein Land oder ein Kunden auswählt werden, bekommt man auf der Landkarte den genauen Standort. Zu guter letzt noch ein Donut-Chart welches den Umsatzanteil anzeigt. Mit "Kunden.Firma" und "Umsatz" wird nicht nur das dritte Arbeitsblatt abgeschlossen sondern auch das gesamte Projekt.

Mein Fazit!

Gefühlt ist Qlik Sence sehr modern. Es basiert auf JavaScript und vieles ist mit Node JS umgesetzt. Das Userhandling ist meiner Meinung nach sehr gut gelungen, obwohl die eine oder andere Menübezeichnung mehr Sinn gemacht hätte. Unter der Haube verbirgt sich die QIX "Quick Indexing Engine. Das ist eine In-Memory Datenverarbeitung und erlaubt die Datenhaltung komplett im Arbeitsspeicher. Das erfordert natürlich entsprechende Server-Ressourcen, macht allerdings auch umfangreiche Abfragen ungeheuer schnell. Besonderes Augenmerk der Engine sind die verknüpften Inhalte bzw. Filteroptionen, die für das Gesamt Arbeitsblatt greifen. Ob dafür ein Sternschema bzw. Snowflake Schema Voraussetzung ist, ist an dieser Stelle noch unklar. Sobald Details bei der Analyse in den Fokus rücken, spielt Qlik Sence seine volle Stärke aus. Beim anklicken eines Elementes z.B. Balken im Diagramm oder Feld in Tabelle werden die Daten auch auf anderen Diagrammen angepasst. Im "Dev Hub" lassen sich eigene Shapes, Erweiterungen usw. programmieren oder man wird findig auf der Entwickler Webseite http://branch.qlik.com

Die Open Source Entwickler Community beherbergt viele Projekte und selbst entwickelte Erweiterungen, die für Qlik Sence frei verfügbar sind. Das Anzeigen der Berichte und Analysen, auf unterschiedlichen Clients, läuft über die Cloud von Qlik. Stellt sich natürlich die Frage, wie ist es mit der Sicherheit der Daten? An dieser Stelle hat Qlik ein zweites Geschäftsmodell, "Qlik Sence Enterprise". Hier lässt sich der Hoster selbst aussuchen oder man macht alles komplett selbst. Hier eine Übersicht. https://community.qlik.com/servlet/JiveServlet/downloadBody/12259-102-10-27177/Cloud-Quick-Guide.pdf

______________

Viktor Schneider