Ein Year to Date Vorjahresvergleiche in einer Tabelle? Das bekommt jeder versierte Qlik Entwickler mit ein wenig Set Analysis hin. Aber auf eine Landkarte? Da wird es kniffliger!
Das Kartenobjekt hat seit geraumer Zeit die Diagrammebene zur Darstellung von Kreis- und Balkendiagrammen auf Landkarten. Das Problem ist: Was soll hier als "Balken-Dimension" gewählt werden, wenn zwei Balken für den Vorjahresvergleich gezeichnet werden sollen?
Mit den richtigen Kalenderfeldern vielleicht eine Dimension Jahr. Wer mutig ist, versucht hier hingegen eine Valuelist() als synthetische Dimension.
Mit den richtigen Kalenderfeldern vielleicht eine Dimension Jahr. Wer mutig ist, versucht hier hingegen eine Valuelist() als synthetische Dimension.

Die Funktion Valuelist() gibt es schon immer, hat ihre Macken, ist syntaktisch nicht sehr elegant - aber zumindest kann sie nun auch selbst ein Masteritem sein und mit Masteritems rechnen. Sogar Bibliotheksfarben kann sie annehmen, um die Balken auf der Karte wie gewünscht zu färben.

Die eigentliche Kennzahlformel bezieht sich dann auf die Valuelist. Wir verwenden als die bestehenden Masteritems für den YTD-Vergleich wieder.
=if (
valuelist('YTD Vorjahr','YTD Aktuelles Jahr') = 'YTD Vorjahr',
[YTD Vorjahr],
[YTD Aktuelles Jahr]
)
Daneben noch eine normale Tabelle mit den YTD-Kennzahlen, dann sieht das Ergebnis folgendermaßen aus.
=if (
valuelist('YTD Vorjahr','YTD Aktuelles Jahr') = 'YTD Vorjahr',
[YTD Vorjahr],
[YTD Aktuelles Jahr]
)
Daneben noch eine normale Tabelle mit den YTD-Kennzahlen, dann sieht das Ergebnis folgendermaßen aus.

Richtig spannend wird es, wenn man nicht nur 2 Formeln, sondern beliebige KPIs auf die Landkarte bringen möchte. Da spielt die Valuelist() nun ihre ganze Stärke als synthetische Dimension aus. Man erfindet einfach die gewünschten Ausprägungen.
In unserem Beispiel wollen wir nicht nur YTD-Kennzahlen, sondern auch der aktuelle Monat (und Vergleichsmonat des Vorjahres) als Balken andrucken. Die Definition der Valuelist wird also länger.

Das Leerzeichen zwischen YTD Kennzahlen und dem Monatsvergleich sorgt für einen optischen Abstand zwischen den Balken. Via Bibliotheksfarben können wir zudem Kennzahlen farblich gruppieren. Unsere neuen Kennzahlen sollen grün sein. Der Platzhalter ist weiß.

Achtung beim Sortieren der Valuelist in der Diagrammebene! Damit die Balken in der angegebenen Reihenfolge kommen, muss man die Dimension ohne Sortierung definieren.

Die Kennzahl rechnet für jeden Valuelist-Eintrag die gewünschte Kennzahl. Damit haben wir nun 4 Balken.
=if(
valuelist('YTD Vorjahr','YTD Aktuelles Jahr',' ', 'Aktuelles Monat', 'Vorjahr Monat') = 'YTD Vorjahr',
[YTD Vorjahr],
if(
valuelist('YTD Vorjahr','YTD Aktuelles Jahr',' ', 'Aktuelles Monat', 'Vorjahr Monat') = 'YTD Aktuelles Jahr',
[YTD Aktuelles Jahr],
if(
valuelist('YTD Vorjahr','YTD Aktuelles Jahr',' ', 'Aktuelles Monat', 'Vorjahr Monat') = ' ',
0,
if(
valuelist('YTD Vorjahr','YTD Aktuelles Jahr',' ', 'Aktuelles Monat', 'Vorjahr Monat') = 'Aktuelles Monat',
[Aktueller Monat],
if(
valuelist('YTD Vorjahr','YTD Aktuelles Jahr',' ', 'Aktuelles Monat', 'Vorjahr Monat') = 'Vorjahr Monat',
[Aktueller Monat Vorjahr])))))
Kleiner Tipp am Rande: manchmal ziehe ich mit sqrt() die Wurzel aus der Kennzahlformel. Dann sind hohe Balken nicht mehr ganz so hoch. Zwar sind dann die absoluten Zahlen falsch - aber mehr als ein Indikator sind die Balken auf der Landkarte sowieso nicht.
Wer dann einen richtigen Tooltip haben will, muss diesen natürlich manuell überschreiben.
=if(
valuelist('YTD Vorjahr','YTD Aktuelles Jahr',' ', 'Aktuelles Monat', 'Vorjahr Monat') = 'YTD Vorjahr',
[YTD Vorjahr],
if(
valuelist('YTD Vorjahr','YTD Aktuelles Jahr',' ', 'Aktuelles Monat', 'Vorjahr Monat') = 'YTD Aktuelles Jahr',
[YTD Aktuelles Jahr],
if(
valuelist('YTD Vorjahr','YTD Aktuelles Jahr',' ', 'Aktuelles Monat', 'Vorjahr Monat') = ' ',
0,
if(
valuelist('YTD Vorjahr','YTD Aktuelles Jahr',' ', 'Aktuelles Monat', 'Vorjahr Monat') = 'Aktuelles Monat',
[Aktueller Monat],
if(
valuelist('YTD Vorjahr','YTD Aktuelles Jahr',' ', 'Aktuelles Monat', 'Vorjahr Monat') = 'Vorjahr Monat',
[Aktueller Monat Vorjahr])))))
Kleiner Tipp am Rande: manchmal ziehe ich mit sqrt() die Wurzel aus der Kennzahlformel. Dann sind hohe Balken nicht mehr ganz so hoch. Zwar sind dann die absoluten Zahlen falsch - aber mehr als ein Indikator sind die Balken auf der Landkarte sowieso nicht.
Wer dann einen richtigen Tooltip haben will, muss diesen natürlich manuell überschreiben.

Intelligente Datentransformation und -analyse
Qlik Plattform
Erkennen Sie den Wert Ihrer Daten und steigern Sie Ihr Geschäftswachstum.