Qlik Sense hat im September 2020 Release native K-means Clustering Funktionen erhalten. Im Gegensatz zu vergangenen Versionen wird also nicht mehr zwingend eine Advanced Analytics Connection nach R/Python benötigt. Wie die K-means Clustering Funktionen korrekt angewendet werden und was der Benefit für Ihr Business ist, erfahren Sie in diesem Blogartikel.
Da die kMeans Funktionen nur eine Zahl (die Clusterklasse) zurück liefern, ist sie nicht ganz so intuitiv zu benutzen wie vielleicht erwartet. Um eine Punktfärbung mit bestimmten Wunschfarben zu erreichen, muss man ein paar Dinge wissen:
Ein alter Trick um in Qlik an Farben zu kommen ist die color() Funktion. In QlikView waren das die Default-Farben die in jedem Chart zu definieren waren. Die Funktion gibt es auch in Qlik Sense, wobei ich nicht weiß wo man die Defaultfarben overrulen könnte. Entsprechend nutzt das Beispiel oberhalb
color(
KMeans2D(5,sum(Frachtkosten),sum(Anzahl*Einzelpreis))+1
)-pow(2,30)
Der Trick mit pow(2,30) ist hier beschrieben. Er macht die Punkte ein wenig transparent um ihre Dichte anzudeuten. In der tabellarischen Darstellung kann man die Farbe ebenfalls als Hintergrundfarbe für die gewünschten Spalten nutzen.
Kniffliger wird es, wenn man für jeden Cluster eine eigene Farben definieren möchte. Da kommt die pick() Funktion zur Hilfe. Nachdem kMeans2D eine Zahl liefert, kann ich es als Input für pick() nutzen.
pick(
KMeans2D(5,sum(Frachtkosten),sum(Anzahl*Einzelpreis))+1,
red(),lightred(),DarkGray(),green(),LightBlue()
) - pow(2,30)
Und was ist nun mit QlikView May 2021 (QlikView 12.60)? Dort funktionieren diese Formeln genauso.
In QlikView kann man sogar bei der Auswahl der Cluster in einer Listbox die Farbe mitgeben. Die Listbox selbst muss mit aggr () definiert sein. Im Beispiel kann man zwischen Land und Artikelnamen hin und herschalten - deswegen eine Variable vDim.
=aggr('$(vDim)gruppe ' &
(5- ( KMeans2D(5,sum({1}Frachtkosten),sum({1}Anzahl*Einzelpreis))))
,$(vDim))
Als Expression dann die Formel als "Traffic Light Gauge" darstellen. Dann kann man dort über die Segments-Farben das pick() nachbauen.
Möchten sie mehr zu Datenintegration und -analyse mit Qlik erfahren? Hier finden Sie unsere Qlik Übersicht.
