Herzlich willkommmen zu Teil 2 meines QlikView-Einsteiger-Tutorial. Ihr habt Euch durch Teil 1 des QlikView-Tutorials für Einsteiger durchgekämpft. Dort ging es um das Datenmodell, genauer gesagt um das Einlesen der csv-Dateien mit den Vornamenhäufigkeiten in Bonn, welche wir von der Seite Offene Daten: Bonn heruntergeladen hatten.

Hier im zweiten Teil geht es also darum, die eingelesenen Daten zu visualisieren. Das geht mit QlikView ziemlich einfach, da man sich die Benutzeroberfläche zusammenklicken kann.

Filterboxen in QlikView

Als ersten bauen wir uns ein paar Filterboxen, d.h. sogenannte Listboxen, welche die Daten auf die entsprechende Auswahl einschränken. Wir bauen uns eine Box für die Jahresauswahl und eine für das Geschlecht. Das tolle daran ist, dass sich automatisch alle Diagramme und Tabellen anpassen, wenn eine Auswahl getroffen wird. Diese dynamische Filterung ist Segen und Fluch zugleich, mit den entsprechenden Set-Formeln kann man aber alle Filterungen ignorieren, wenn man das in einem bestimmten Chart nicht möchte. Doch dazu kommen wir ein einem fortgeschritteneren QlikView-Tutorial.

 

So, also schnell die zwei Boxen erstellt. Rechts auf die Arbeitsfläche klicken, dann neues Objekt auswählen, dann Listbox. Dort wählen wir das entsprechende Feld aus, in der ersten Listbox „Jahr“, in der zweiten „Geschlecht“. Alternativ geht es auch über „Felder hinzufügen“, welches übrigens direkt nach dem Laden eingeblendet wird.

 

Nun machen wir noch zwei Modifikationen. Zum einen stellen wir in der Jahresbox ein, dass wir mehr als eine Spalte zulassen. Das geht in dem Tab Präsentation. Zum anderen wollen wir den Radiergummi statt der Lupe in der Titelleiste anzeigen, also die Auswahl aufheben. Eine Suche (Lupe) ist bei den paar Auswahlmöglichkeiten nicht nötig. Das kann man im Tab Titelleiste einstellen.

Jetzt können wir schon eine Filterung vornehmen. Man sieht aber natürlich noch nichts, denn wir haben ja bisher gar kein Objekt, welches die Daten anzeigt.

Ein Balkendiagramm einfügen

Wir wollen endlich ein Chart sehen. Also schnell mit rechter Maustaste auf die Arbeitsfläche geklickt, Neues Objekt -> Diagramm auswählen.

Wir geben dem Objekt einen Titel, wählen „Diagrammtitel anzeigen“ ab und klicken auf weiter. Im nächsten Fenster wählen wir die Dimensionen aus. In unserem Fall ist das Vorname, der auf der x-Achse erscheinen soll. Übrigens kann man später über Eigenschaften alle Parameter anpassen und verändern.

Nun kommt die Formel, also was der y-Wert sein soll. Wir tippen sum(Anzahl), denn wir wollen die Anzahl darstellen. Summe deshalb, weil wir dem Chart sagen müssen, was es macht, wenn ein Vorname mehrfach auftaucht (z.B. wenn mehr als ein Jahr ausgewählt wurde). Im nächsten Fenster noch die Bezeichnung eingegeben und mit  „Fertig stellen“  beenden.

So richtig schön sieht das noch nicht aus:

Das Balkendiagramm schöner machen

Als ersten entfernen wir die Maximieren- und Minimieren-Icons. Dazu rechts auf das Diagramm klicken, Eigenschaften auswählen und im Tab Titelleiste das Häkchen bei Maximieren und Minimieren entfernen.

Wie wir den Titel benannt haben, wollen wir nur die 10 häufigsten Namen anzeigen, also im Tab „Beschränkungen“ das Häkchen bei „Anzeige beschränken auf“ setzen. Größte 10 ist schon als Standardwert gesetzt, müssen wir als nicht mehr ändern. Noch unten das Häkchen bei „Sonstige anzeigen“ entfernen, sonst würden alle anderen Namensanzahlen unter Sonstige aufsummiert. Könnt ihr aber mal ausprobieren, wie das aussieht.

Im Dimensionstab entferne ich noch die Anzeige der Bezeichnung und im Tab Achsen stelle ich die Breite der Achse auf 1pt, damit die Achsen überhaupt zu sehen sind.

Noch schnell die Farbe angepasst, das Menü erklärt sich eigentlich von selbst.

Und als letztes die Reihenfolge unter Sortierung auf y-Werte absteigend gestellt. Wir wollen ja mit dem häufigsten Vornamen beginnen.

So, geschafft. Nun sehen wir die Auswirkungen der Filter. Wir können auf ein oder mehrere Jahre und auf das Geschlecht filtern.

Einen zeitlicher Verlauf in QlikView anzeigen

Wir wollen noch einen zeitlichen Verlauf für einzelne Vornamen als Chart anzeigen. Dazu kopieren wir das vorhandene Arbeitsblatt, indem wir rechts auf die Arbeitsfläche (wo noch kein Objekt ist) klicken und „Arbeitsblatt kopieren“ auswählen. Wir wechseln zum neuen Arbeitsblatt und benennen es in „Verlauf“ um, was wir in den Eigenschaften des Arbeitsblatts machen können.

Wir erzeugen eine Listbox mit den Vornamen und fügen wieder den Radiergummi hinzu (Auswahl aufheben) und arrangieren diese so, dass es etwas hübscher aussieht.

Formeln in Listboxen

Wir wollen neben den Vornamen in der Listbox noch die Häufigkeit anzeigen. Dazu gehen wir in die Eigenschaften der Listbox, dort in den Reiter Formeln und auf „Einfügen“ klicken. Wir benutzen wieder die Formel sum(Anzahl). Leider reicht das noch nicht ganz, wie wir gleich sehen werden. Wird nämlich jetzt ein Name ausgewählt, dann erscheint bei allen anderen 0. Erstmal komisch, aber eigentlich ganz logisch, denn so arbeitet QlikView. Sobald eine Filterung gemacht wurde (hier also ein Vorname ausgewählt wurde), werden alle Daten auf die Filterung eingeschränkt.

Aber zum Glück können wir das leicht anpassen, nämlich mit Set-Formeln. Statt sum(Anzahl) benutzen wir nun sum({<Vorname=>} Anzahl). Damit sagen wir QlikView, dass wir nur für diese Formel einen etwaigen Filter auf Vorname wieder auflösen wollen. Set-Formeln sind nicht ganz einfach, aber mit ihnen lassen sich sehr viele tolle Dinge machen und wenn man tiefer in QlikView einsteigen möchte, kommt man nicht darum herum. Demnächst gibt es dazu von mir ein eigenes Set-Formel-Tutorial.

Statt der Standard-Sortierung wollen wir die Liste auch nach der Häufigkeit sortieren. Also im Reiter Sortierung nur Formel wählen und absteigend einstellen. Dort benutzen wir genau die gleiche Formel sum({<Vorname=>} Anzahl), so dass auch die Sortierung konsistent bleibt.

Liniendiagramm

Als letzten Schritt wandeln wir noch das Balkendiagramm in ein Linienchart um. Das geht wirklich ganz schnell. Einfach im ersten Reiter „Allgemein“ den Diagrammtyp auf Liniendiagramm umstellen. Dann im zweiten Reiter „Dimension“ Jahr und Vorname als Dimensionen. Wichtig ist die richtige Reihenfolge, also Jahr vor Vorname. Die Formel sum(Anzahl) bleibt bestehen. Bei der Sortierung noch schauen, dass das Jahr nach numerischem Wert sortiert wird.

Und dann sind wir fertig. Wenn wir nun einen oder mehrere Vornamen und kein oder mehrere Jahre ausgewählt haben, sehen wir die Entwicklung. Ein schickes Mouseover gibt es auch noch, den man übrigens auch anpassen kann, aber dazu ein anderes Mal mehr.

Korrekturen im Skript

Im Chart sehen wir, dass die Anzahlen für alle Vornamen 2017 deutlich niedriger sind als die Jahre davor. Anscheinend war unser Vorgehen, dass wir beim Einlesen nur die erste Position genommen haben, nicht so geschickt, denn anscheinend wurden in den Jahren zuvor einfach alle Positionen zusammengeworfen. Das machen wir im Ladeskript für 2017 jetzt auch durch folgende Änderung:

LOAD
vorname
,sum(anzahl) as anzahl
,geschlecht
//    ,position
,2017 as Jahr
FROM [..\..\Daten\Vornamen Bonn\Vornamen 2017.csv]
(txt, utf8, embedded labels, delimiter is ‚;‘, msq)
//where position=1;
group by vorname,geschlecht;

 

Wenn wir das Skript jetzt laufen lassen, sehen wir im Anschluss im Dashboard, dass nun alles passt.

 

 

Das war es erstmal. Ich hoffe, ihr konntet etwas für euch mitnehmen und habt Lust, selber weiter das Dashboard zu erweitern.

 

Happy Qliking,

Euer Holger