Posts mit dem Label QlikSense werden angezeigt. Alle Posts anzeigen
Posts mit dem Label QlikSense werden angezeigt. Alle Posts anzeigen

Bundesländer & Bezirke - Automatisch in Qlik Sense

In der öffentlichen Wahrnehmung sind Kartendarstellungen wohl die "großen Gewinner" des Jahres 2020. Im Jahr 2021 geht es nahtlos so weiter, denn es wurde gerade ein neues Impfdashboard vom Gesundheitsministerium gelauncht. Die Daten dazu wurden auch auf data.gv.at veröffentlicht.  Ein guter Zeitpunkt zu prüfen, wie Qlik Sense diese Geodaten automatisch in Gebietsebenen interpretiert.

Impfdashboard in Qlik Sense mit data.gv.at Daten




Das Impfdaten .csv von data.gv.at enthält die Bundesländer-Namen als Text. 





Qlik versucht für Kartendarstellungen diese Feldinhalten automatisch mit geonames.org abzugleichen. Das wird nicht online gemacht, sondern Qlik hat einen internen Lookup der mitinstalliert wird.

Bundesländer Österreich auf geonames.org


Das funktioniert bei den 9 Bundesländern in Österreich problemlos. Um Qlik bei der Flächenfärbung in der Gebietsebene zu unterstützen, sollte man auch immer die Einstellung Standort/Standorttyp erzwingen. Im Fall von Bundesländern ist das "Verwaltungsgebiet (Ebene 1)". Ein wenig Hintergrund zu dieser Einstellung findet sich in der Qlik Community am Beispiel der Stadt Springfield.




Für Bezirke (Verwaltungsgebiet (Ebene 2)) geht man ähnlich vor. Auch hier liefert data.gv.at etwa die "Anzahl Fälle pro Bezirk" für Corona-Daten. Leider passt die Schreibweise der Bezirksnamen hier nicht ganz so gut zu den Bezirksnamen auf geonames.org. Nach dem initialen Laden der Daten bekommen wir eine lückenhafte Gebietskarte in Qlik Sense.


Um das Problem zu lösen, muss man die Schreibweise von data.gv.at auf die Schreibweisen bei geonames.org anpassen. Statt Graz(Stadt) würde sich Qlik Sense etwa Graz Stadt erwarten.

Geonames.org über Feature Class sagen was man sucht



Zur Korrektur der Bezirksnamen muss man (einmalig) ein Mapping der falschen Bezirksnamen durchführen. Wir haben hierfür ein Excel erzeugt.

Mappe alle Einträge die auf der Karte noch lückenhaft waren.




Dieses Excel nutzen wir dann um ein neues Feld "BezirkClean" zu erzeugen.

GeoNames:
Mapping
LOAD
    Bezirk,
    Laut_GeoNames_org
FROM [lib://data_gv_at/BezirksnamenFürQlik.xlsx]
(ooxml, embedded labels, table is Sheet1) where len(trim(Laut_GeoNames_org)) > 0;




data:
LOAD
    Bezirk,
    applymap('GeoNames',Bezirk,Bezirk) as BezirkClean,
    Anzahl,
    Anzahl_Inzidenz,
    GKZ,
    "Timestamp"
FROM [lib://data_gv_at/Bezirke.csv]
(txt, utf8, embedded labels, delimiter is ';', msq)
;

Mit diesem Feld erzeugen wir wieder eine Gebietsebene. Als Standorttyp wählen wir "Verwaltungsgebiet (Ebene 2)".



Wien kommt leider als eine große Fläche. Will man Wien in seine Bezirke unterteilen, so muss man eine eigene .kml Karte in Qlik Sense laden, wie hier im Blog beschrieben. Postleitzahlen von Österreich werden leider auch nicht automatisch zu einer Gebietsebene. Qlik Sense malt hier nur eine Punktebene. Für eine Gebietsebene würde man ebenfalls eine eigene .kml benötigen. Siehe Details zur Qlik Sense Geo Coverage in der QlikCommunity.

Die .qvf und das Excelmapping findet sich hier zum Download.


Qlik Sense BBQ

Wer für den (österreichischen) Vatertag am Sonntag noch das passende Stück Fleisch zum Grillen sucht - hier die heldendaten Qlik Sense BBQ App!

Qlik Sense BBQ App
Qlik Sense BBQ

Über Kartendarstellungen habe ich hier, hier und hier schon öfter geschrieben. Ein Thema das ich selbst noch nie versucht hatte, war eine .kml-Datei aus einem Bild bzw. "Clipart" aufzubauen.

In der Qlik Community gibt es dazu eine gute Anleitung von Patric Nordström. Zur kleinen Berühmtheit schaffte es diese Feature mit diesem Qlik Sense Body Map Beispiel.

Bei uns sollen es nun eben die Teilstücke des Rindes sein. Das eignet sich vorzüglich für die Grün-Weiß-Grau Stärken von Qlik: jedes Stück kann unterschiedlich zubereitet werden (gegrillt, gekocht, geschmort) und kann unterschiedliche Verwendungen haben (Steak, Gulasch, Geschnetzeltes).

Ausgangspunkt war dieses Bild.

Bitmap Bild für interaktive Qlik Sense Karte
Bitmap Bild für interaktive Qlik Sense Karte

Beim ersten Erstellen einer .kml-Karte muss man sicherlich ein wenig Zusatzaufwand einrechnen, um alle Tools von Patric zum Laufen zu bekommen. Aber mit etwas Übung kann man ein entsprechendes Bild mit 1-2 Stunden Aufwand in Flächenpolygone umwandeln und nach .kml exportieren. Hier meine Screenshots mit den Schritten. Die größten Schwierigkeiten hatte ich mit dem Konvertieren von .shp File nach .kml. Da hat mir dann jedoch das Onlinetool mygeodata.cloud gut geholfen.

Das .kml wird dann ich Qlik Sense wie eine normale Geo-Datei eingelesen und im Kartenobjekt als Dimension benutzt.

[Rind]:
LOAD
 [rind.Name] as Teilstück,
        [rind.Name],
 [rind.Point],
 [rind.Area],
 [rind.Line]
 FROM [lib://shapefile_result/rind.kml]
(kml, Table is [rind/rind]);


Ansonsten habe ich mich mit eine paar Dingen beschäftigt, die ich in anderen Blogposts gefunden habe - und fertig ist das Qlik Sense BBQ :-)

1) Das Thumbprint Bild der Qlik Sense Applikation/Reiters kann ein animiertes .gif sein.
Eigentlich der pure .gif Horror, aber vielleicht ein gutes Feature um die Aufmerksamkeit von Anwendern auf einen bestimmten Reiter zu lenken :-)





2) Emojis in Tabellen einbauen
Qlik Sense Feb 2020 hat einige Improvments bei Table Indicators bekommen. Für Qlik Sense June 2020 erwarten wir Sparklines in Tabellen. In dieser Spaßapplikation haben wir Emojis für die Zubereitungsarten(Grillen ... 🔥) benutzt.


3) Hintergrundbild ohne Qlik Sense Theme

Qlik Sense Themes müssen als Extensions auf den Qlik Sense Server installiert werden. Manchmal will man nur eine Kleinigkeit - wie zum Beispiel ein Hintergrundbild für genau einen Reiter - ändern. Vielen Dank für diese kleine Zauberei an Dennis Jaskowiak von Qlik. Anstatt ein Qlik Sense Theme zu bauen, nutze ich am ersten Reiter das Multi KPI-Objekt um ein paar Styles zu setzen.

#grid-wrap { 
background: url("http://content.heldendaten.eu/glowing2.jpg");background-repeat: no-repeat;
background-attachment: fixed;
background-position: center;
background-size: cover;
position: absolute;
}
.qv-object-text-image {
background-color:  rgba( 1 , 1 , 1 , 0.55) !important;
}

div[tid=hnWD] {
opacity: 0;
}

div[tid=vQSHxMD]{
background-color:rgba(255,255,255,0.85);
}

}

Im Multi KPI Objekt hier die Styles eintragen.



Die Objekt-IDs findet man über Rechtsklick/Diagramm Einbetten. Um das Multi-KPI Objekt selbst zu verbergen, habe ich den Style opacity: 0; gesetzt.



Die Qlik Sense Applikation zum Download finden Sie hier. Am Reiter About finden Sie gesammelt alle Infos zu der Applikation.

Profit & Loss in Qlik

Profit & Loss Darstellungen haben in Qlik eine lange Historie. Beginnend in QlikView mit einer hübsch formatierten Tabelle bis zur Vizlib Finance oder IBCS Hichert-konformen TrueChart Darstellung in Qlik Sense soll dieser Blogpost die möglichen Visualisierungen beleuchten.

Eine P&L Darstellung ist keine Pivottabelle. Das wird jedem schnell klar der sich mit diesem Thema beschäftigt. Summenzeilen sind keine reinen Aggregationen, sondern ergeben sich aus bestimmten Rechenregeln, manche Zeilen sollen unterschiedlich formatiert sein, und am liebsten würden Endanwender jede Zelle kommentieren können.

Die Historie

Jahrelang war sicherlich der Nachbau  eines Dashboards von Stephen Few die beliebteste Finance Demo in QlikView.

Finance Controlling QlikView Demo nach Stephen Few

Das Dashboard war im Hintergrund der blanke QlikView-Wahnsinn und bestand aus mehreren Dutzenden Objekten. Und genaugenommen umschipperte es das Thema einer konkreten "Profit and Loss"-Darstellung ganz geschickt.

So viele Objekte sind es, wenn man es sich im Entwurfsmodus ansieht



Außerdem gab es für QlikView im Qlik Design Blog eine Vorlage für P&L, die weiterhin seine Gültigkeit hat. Wer dem Beispiel folgt, merkt aber, dass eine ganz normale QlikView Straight Table benutzt wird.

Profit & Loss Statement in QlikView
Profit & Loss Statement in QlikView

Der gleiche Ansatz funktioniert in allen Qlik Sense Versionen, ebenfalls mit einer normalen Tabelle.

Profit & Loss Statement in Qlik Sense
Mit dem Qlik Sense Februar 2019 Release wurde dann die öffentliche P&L Pivot Extension in das Qlik Visualization Bundle aufgenommen, welche eine freiere Formatierung der P&L Darstellung erlaubt.

P&L Pivot als Teil des Qlik Visualization Bundles



Die vollwertigsten Lösungen inklusive Kommentarfunktion direkt in Qlik sind jedoch sicherlich die kommerziellen Extensions Vizlib Finance und das IBCS Hichert-konforme TRUECHART4QLIKSENSE (bzw TRUECHART4QLIKVIEW).

Vizlib Finance Extension

Die Finance Extension wurde ursprünglich von Climber für Qlik Sense entwickelt, und dann von Vizlib übernommen. Die aktuelle Version hat nun eine Zellen-basierte Kommentar-Funktion, die sogar in den Excel-Export übernommen wird.

Vizlib Finance Extension


Der Entwickler kann pro Kennzahl erlauben ob Kommentare erlaubt sind. Dem Endanwender werden bestehende Kommentare durch kleine Kreise mit der Anzahl der Kommentare symbolisiert.

Kommentare auf Zellenebene



Die Eingabe der Kommentare erfolgt direkt im Browser.




Via "Export to Excel with Comments" werden die Kommentare mit exportiert.

Vizlib Finance mit Export nach Excel



TRUECHART

TRUECHART ist die IBCS-konforme Extension für Qlik schlechthin. Schon seit QlikView 10 gibt es diese Extension für den AJAX Client, und stellt auch dort bereits viele Hichert Konzepte zur Verfügung. In Qlik Sense  ist das Arbeiten mit Extensions natürlich weitaus komfortabler, weil direkt im Browser gearbeitet werden kann.

Am Screenshot unterhalb sieht man, dass nicht mehr viel von der "normalen" Qlik Sense Darstellung übrig bleibt. Selbst die Filter kann man sehr kompakt über die TRUECHART Menu Bar einstellen.

TRUECHART P&L Darstellung mit Kommentaren
Auf der Webseite findet sich aktuell auch ein interessantes COVID -19 Dashboard. Hier sieht man, dass die Darstellungen weit über P&L hinaus gehen, und ein gesamtes Dashboard mit TRUECHART gestaltet werden kann.







Die verfügbaren Demoapplikationen für QlikView und Qlik Sense finden sich unter diesem Link.

Volltextsuche & Wordcloud in Qlik

Qlik bietet eine Volltextsuche über alle Felder. Aber kann man Qlik auch nutzen, um zum Beispiel alle Supporttickets oder Kundenfeedbacks nach Keywords zu durchsuchen und die Häufigkeit in einer Wordcloud darstellen? Der Artikel unterhalb beschreibt wie es funktioniert.

Word Cloud Qlik
Wordcloud in Qlik 

Das Qlik auch die Häufigkeit von Millionen Wörter darstellen kann habe ich schon 2015 hier unter Qlik Sense Smart Data Compression beschrieben.

Aber wie bekommt man aus einem längeren Text die einzelnen Wörter extrahiert, um etwa zu zählen wie oft ein Wort in Supportcases vorkommt?

Die Inputdaten für das Beispiel



Hier ist die Subfield Funktion von Hilfe.

//load data
[Data]:
LOAD
 [Supportcase],
        //replace line breaks with blanks
 replace([Text],chr(10),' ') as Text 
    
 FROM [lib://data/supportcases.xlsx]
(ooxml, embedded labels, table is Tabelle1);

//Split into Words
TempAllWords:
Load
[Supportcase],
trim(subfield([Text],' ')) as Words
resident [Data];


Nach dem Splitten der Wörter kann man noch Satzzeichen entfernen. Zusätzlich kann man ungewünschte Füllwörter wie Pronomen, Artikel usw. entfernen, indem man ein Excel mit den irrelevanten Wörtern pflegt.

AllWords:
NoConcatenate
load 
[Supportcase],
upper(Words) as Words,
applymap('IrrelevantWords',upper(Words),'relevant') as Relevanz
where len (Words) > 0;
load
[Supportcase],

(if(match(right(Words,1),'.',',','!','?',';') > 0, left(Words,len(Words)-1),Words)) as Words  //cleanup 
resident TempAllWords;


Was dieser Ansatz nicht macht, sind Volltextsuchen-Features wie Stemming  um alle Wörter auf Ihren Wortstamm zu reduzieren. Hier könnte man die Server Side Extensions von QlikView und Qlik Sense nutzen, und die Wörter noch durch ein Python Skript für Stemming laufen lassen.

Die Wordcloud Darstellung selbst kommt mit dem Qlik Sense Visualization Bundle. Bitte auf die Sortierung und die Design|Orientation achten.

Qlik Sense Word Cloud nach Häufigkeit sortieren
Word Cloud nach Häufigkeit sortieren


Qlik Sense Word Cloud Orientations
Wordcloud Orientations auf 3


Als weiterführendes Thema kann man Sentiment Analyse betreiben. Viele Kunden haben automatisch die Qlik Sense WebConnectors lizensiert. Dort gibt es zwei Konnectoren die hier interessant sein können. Bei Gelegenheit werde ich dazu einen eigenen Blogpost schreiben.


Das komplette Beispiel zum Download findet sich hier

Qlik Sense Variance Waterfall für Bestände

Ab Qlik Sense Sept 2019 kommt im "Visualization Bundle" das Variance Waterfall Chart mitinstalliert. Die Darstellung ist viel dynamischer als das normale Wasserfalldiagramm, weil man nicht für jeden Balken eine eigene Expression schreiben muss.

Für normale YTD-Darstellungen in einer Vertriebsapplikation ist das Chart recht Straight Forward. Das Variance Waterfall Chart nutzt die gleichen Formeln wie das normale Wasserfalldiagramm, und läuft zusätzlich über das "Monat"-Feld. Im Beispiel unterhalb sieht man so auf einem Blick, dass die Monate Jänner, Februar und März noch besser als das Vorjahr waren, bevor sich dann in den Folgemonaten der Umsatz YTD schlechter entwickelt hat.

Qlik Sense Wasserfall Variance
Mit den YTD und YTD Vorjahr Formel zeigt das Variance Waterfall die Umsatzenwicklung nach Monaten aufgerissen!

Zuletzt hatten wir jedoch eine Anforderung mit diesem Charttyp die Veränderung von Beständen darzustellen. Beispiele dafür wären: Lagerbestände, Entwicklung Anzahl Kunden pro Monat, usw.

Für diese Anforderung scheint das Chart nicht unbedingt geschaffen, weil es das Konzept von Start-Bestand und End-Bestand nicht wirklich kennt, und es keine Differenz zum Vormonat bildet. Man sieht das ganz gut, wenn man sich den Javascript Code der Extension von Qlik  ansieht.

Wieder hilft uns aber ein Workaround den wir schon für die Sparklines im Climber KPI Objekt  (mittlerweile in das kommerzielle Vizlib aufgegangen) vorgestellt hatte. Mittels dimensionality(), below() und firstsortedvalue() kann man auch diese Anforderung darstellen. Die Formeln sind nur ein wenig komplizierter. Zum Test gibt es die Werte rechts als Tabelle.

Über zwei Jahre entwickelt sich der Lagerstand von 700.000 auf 670.000



STARTFORMEL:

rangesum(FirstSortedValue(distinct   aggr(nodistinct sum(Bestand),Monat), Monat,1),-0)



ENDFORMEL:
if (dimensionality() = 0,
 //Höhe Balken Zielmonat
 rangesum(FirstSortedValue( distinct   aggr(nodistinct sum(Bestand),Monat), -Monat,1))
,
 //Wert des Vormonats
    alt(
       below(
        rangesum(FirstSortedValue( distinct   aggr(nodistinct sum(Bestand),Monat), -Monat,1),-0)
        ,1)

     ,
 
        //im letzten Monate keinen Unterschied zeichnen
        rangesum(FirstSortedValue( distinct   aggr(nodistinct sum(Bestand ),Monat), -Monat,1))
    )

 )



Als Dimension nutzen wir ein eigenes Feld "MonatWasserfall" welches um ein Monat zum tatsächlichen Datum verschoben ist. Damit ist die Beschriftung dann schlüssiger.


Weil Bestände oft sehr hoch, und die Veränderungen verhältnismäßig klein sind können, haben wir auch noch die Funktion eingebaut, dass sich ein Anwender selbst den Skala-Start definieren kann. Gibt er in das Inputfeld 400.000 ein, sieht das Chart folgendermaßen aus, weil die Y-Achse nicht mehr bei 0 beginnt.


Variance Waterfall mit Y-Achse Start auf 400.000


Gibt der User gar keinen Wert ein, dann wählen wir mit der Formel =if(len(vSkala)=0, min (aggr(sum(Bestand),Datum)) * 0.95 ,vSkala) den Skalenwert dynamisch und geben ihn als Fußnote aus.



Dynamischer Y-Achse Startpunkt


Alternativ zur vorgestellten Lösung könnte ein As-Of-Ansatz im Datenmodell funktionieren wo immer das Vormonat "mitselektiert" wird. Das bleibt zu testen. Wer für unsere Lösung herausfindet wie man den letzten roten Balken im Jänner 2021 mit dem Wert 0 loswerden kann, darf sich gerne melden :-)

Der Download zum Qlik Sense Beispiel findet sich hier.

GetObjectDimension & GetObjectMeasure - undokumentierte Qlik Chart Funktionen

Qlik vergisst gerade gerne neue Funktionen in den Release Notes zu erwähnen. Barry Harmsen hat gerade das neue Autonumber Script Statement beschrieben. Die beiden Chart Funktionen getObjectDimension und getObjectMeasure werden zwar von der Qlik Code Completion vorgeschlagen, in der Dokumentation sind sie aber nur bei der Funktion "GetObjectField" angedeutet.

Die GetObject* Funktionen in der Qlik Auto Completion
Die GetObject* Funktionen in der Qlik Auto Completion


Seit einigen Versionen hat auch Qlik Sense die Funktionalität Spalten (Dimensionen und Kennzahlen) in Diagrammen dynamisch ein- und auszublenden.

Hier kann man sich die getObjectDimension und getObjectMeasure zu nutzen machen, um abzufragen was denn gerade der Titel der jeweiligen Spalte ist:

Ist die Spalte "Count" eingeblendet wird "Anteil der Firmen" angezeigt

Ist die Spalte "Revenue" eingeblendet wird "Anteil des Umsatzes" angezeigt

Die Funktionen können als Kennzahl genutzt werden


oder zur Definition der Hintergrund/Textfarben. Leider kann man momentan die Funktionen nicht für die Titelbeschreibung der Charts nutzen.



Die Funktionen liefern die Beschriftung der Spalten, und nicht deren Definition.  Fügt man also zb. das Feld "Region" als Spalte ein, ändert aber den Titel auf "State" so liefert GetObjectDimension(1) auch die Bezeichnung "State".


Ändert man die Spaltenreihenfolge mittels Drag&Drop ändern sich die Formelergebnisse ebenfalls nicht. Es scheint also so, als würden die beiden Funktionen auch interne Indexe zugreifen!


Mit GetObjectDimension() kann man auch auf Alternative Dimensionen zugreifen. Zum Beispiel könnte man sagen für "Kategoriename" macht man ein normales PieChart, wenn aber auf "Artikelname" geswitcht wird, nutzt man die Radius-Formel  für ein RoseChart. Damit kann man wieder einiges steuern, wo wir in QlikView die Zyklische Gruppe & getcurrentfield()-Funktion hatten.

GetObjectDimension für Alternative Dimensionen 1
PieChart mit "KategorieName" als Dimension und "Artikelname" als Alternative Dimension



GetObjectDimension für Alternative Dimensionen 2
Wenn man auf die Alternative Dimension "Artikelname" switcht, wird ein Rose Chart daraus.



GetObjectDimension in Formel nutzen
Hier die Radiusformel mit GetObjectDimension(0) um das Rose Chart zu generieren.




Die Beispiel .qvf finden Sie hier. Hier der Qlik Knowledge Base Artikel zu den Funktionen:
https://support.qlik.com/articles/000058438


Update 16.11.2020

Qlik nutzt in der Zwischenzeit die Expression GetObjectField() selbst gerne im "Modifier" Feature.

Aus

RangeSum(Above(If(Count([$(=Replace(GetObjectField(0),']',']]'))]) > 0,  ( sum(Anzahl*Einzelpreis) )  + 

Sum({1<[$(=Replace(GetObjectField(0),']',']]'))]={">=$(=Min([$(=Replace(GetObjectField(0),']',']]'))]))<=$(=Max([$(=Replace(GetObjectField(0),']',']]'))]))"}>}0), 0), 0, RowNo()))

wird zur Laufzeit für das Feld Bestelldatum dann

RangeSum(Above(If(Count([Bestelldatum]) > 0,  
( sum(Anzahl*Einzelpreis) )  + Sum({1<[Bestelldatum]={">=$(=Min([Bestelldatum]))<=$(=Max([Bestelldatum]))"}>}0), 0), 0, RowNo()))














"Qlik on Steroids" für Admins - QIX & Audit Log

Mit dem November 2018 Release hat auch QlikView den QIX-Log bekommen. Bisher war das Verhalten der Qlik Engine eine ziemliche Blackbox. Warum und wodurch wieviel RAM benutzt wird, war sehr schwer zu sehen. Mit dem neuen QIX-Log plus einem aktiven Audit Log können Qlik-Administratoren jetzt tief eintauchen und genau sehen was auf ihren Servern so vor sich geht!

Jedes Objekt und Dokument das bestimmte CPU- oder Memory-Grenzen übersteigt wird im QIX Log protokolliert. Auf Basis dieser Daten kann ein Dashboard gebaut werden, welches die teuren Dashboards & Objekte der gesamten Umgebung aufzeigt, und durch welche Userinteraktionen viel Leistung verbraucht wird.

Heldendaten Analyse QIX und Audit Log
Analyse Applikation zum QIX Log

Der QIX Log wird über die settings.ini des QlikView Servers aktiviert. Eine genaue Beschreibung der Felder und Einstellungsmöglichkeiten finden sich in der QIX Perfomance Log Hilfe

In unserem Beispiel haben wir sehr niedrige Grenzen gewählt. Ein QIX Logeintrag entsteht, wenn:

- Warning wenn Object Process Time > 2 Sekunden
- Error wenn Object Process Time > 4 Sekunden
- Warning Peak Memory wenn mehr als ~500 MB
- Error Peak Memory wenn mehr als ~1GB

Diese Parameter müssen Sie entsprechend Ihrer Umgebung anpassen. Bei 2 Sekunden bekommen Sie wahrscheinlich zu viele Warnings.

QlikView Server settings


Im Beispiel sehen wir, dass das Chart CH454 bis zu 763MB für die Berechnung benötigt.

Heldendaten QIX Analyse
Problemobjekte pro Qlik Anwendung


Das allein ist eine interessante Information, die ohne QIX Log am Server bisher nicht ersichtlich war. Noch spannender wird es, wenn man in der QMC den AuditLog aufgedreht hat. Audit Log und QÍX Log lassen sich nämlich über das gemeinsame Feld "SessionId" verschneiden.


Qlik Audit Log
Audit Log in der QMC


Somit sieht man welcher User in welcher Session mit welchen Selektionen das "teure" Chart verursacht hat. Im "QIX Warnings und Errors" Diagramm am Screenshot unterhalb sieht man, dass der User in der Session das Objekt dreimal aufgerufen hat, und es jedes Mal zu einem QIX-Error geführt hat.


Wählt man nun die betroffene SessionId, kann man sich den genauen Verlauf des Problems ansehen.
In unserem Fall sind die Einträge des QIX-Log rot, die Einträge des AuditLog blau.

Man sieht, dass der User  im Feld "Segment_Long_Name_Filter" "Austria" gewählt hat. Darauf hin rechnet das CH454 für 19 Sekunden und verbraucht 464MB RAM. Danach wählt der User im Feld "Month_Filter" den Wert "Jun", das Chart rechnet 34 Sekunden und verbraucht 763MB RAM.

QIX Audit Log Zeitverlauf einer Session
QIX und Audit Log im Zeitverlauf verschnitten

Im rechten Balkendiagramm sieht man auch, dass am Anfang der Session sehr viele Selektionen getroffen werden (Blaue Balken des Audit Logs). Dies sind wahrscheinlich viele initiale Selektionen die in der QlikView App definiert sind. Danach kommen viele QIX-Alarme (rote Balken). In der Applikation dürfte es also mehrere Objekte auf einem Dashboard geben, die viel Rechenleistung benötigen.

Das QlikView Dashboard finden Sie hier.



Für Qlik Sense existiert ein ähnliches Dashboard. Siehe Video unterhalb. Der Download findet sich auf Github.


QIX und Audit Log bilden eine neue Sicht auf die Performance des Qlik Servers. Mit der gewonnenen Information kann der Qlik Administrator gezieht auf die Entwickler des Dashboards zugehen und auf gewisse Objekte aufmerksam machen. Oft können durch einfache Anzeigebedingungen, oder Überarbeitung der Formeln die größten Performancefresser schnell beseitigt werden.

Zusätzliche Features mit der Qlik Sense Enterprise Lizenz

Die Qlik Sense Enterprise Lizenz schaltet mehr Features & Software Produkte frei als man glauben könnte: Erweiterte Geoanalysen, Webkonnektoren zu Anbietern wie Google Analytics, Microsoft Dynamics CRM  sowie das Qlik Datamarket Essentials Paket. Hier ein kleiner Überblick was man mit der Qlik Sense Lizenz alles machen kann.

Qlik Geo Analytics mit Qlik Sense Lizenz
Qlik Geo Analytics mit Fahrtzeiten. Freigeschalten mit der Qlik Sense Lizenz

Im Qlik Sense LEF File finden sich einige interessante Einträge mit dem Keyword "YES".  Wir  wollen hier Schritt für Schritt darauf eingehen was welcher Eintrag bedeutet.

Die markierten Einträge erlauben es, mit der gleichen Lizenz nicht nur Qlik Sense Enterprise zu aktivieren, sondern auch die Qlik Produkte GeoAnalytics, Webconnectors und Qlik Datamarket Essentials.

Diese Addons sind Akquisitionen die die Qlik in den vergangenen Jahren getätigt hat. Als Qlik Sense Kunde darf man diese nun "mitbenutzen". Die Download stehen auf der Qlik Downloadseite bereit, sofern Ihr Qlik Community User dafür korrekt freigeschalten ist. Ansonsten nehmen Sie bitte Kontakt mit uns auf.


Qlik Datamarket Essentials

Qlik hat Ende 2014 die Firma Datamarket.com gekauft. Mit dem Lizenzeintrag "QDM_ESSENTIALS" wird bei der Qlik Sense Installation ein zusätzliches Datenpaket "Essentials" freigeschalten, das folgende Dateninhalte im Qlik Sense Datamanager bereitstellt.

Qlik DataMarket Essentials Paket
Qlik DataMarket Essentials Paket

Wählt man zum Beispiel "Currency", kann man sich über einen Dialog die Währungsumrechnungen in den Daten ergänzen.

Qlik Datamanager bietet einen Wizard zum Hinzufügen der Daten

Das Paket ist ganz nett, aber gleichzeitig auch recht eingeschränkt. Es gibt weitere kommerzielle Pakete, oder man nutzt andere APIs um zum Beispiel detailliertere Wetterdaten zu bekommen.


Webconnectors

2016 hat Qlik die Firma Industrial Codebox gekauft. Diese hat sich auf die Entwicklung von Konnektoren zu Webservice wie Google Analytics, Facebook, Twitter, Microsoft Dynamics CRM konzentriert.

Die Qlik WebConnectors sind ein eigenes Setup, dass man als Windows Service laufen lassen kann. Das Qlik Ladescript greift dann auf die Daten via HTTP zu und übergibt die Parameter in der URL.

Die Standardkonnektoren kann jeder QlikView und Qlik Sense Kunde frei installieren. Mit der Lizenzzeile "WEBCONNECTORS" können Sie aber auch alle Premium Konnektoren nutzen, und unterliegen nicht dem halbjährlichen Upgradezwang der Standardkonnektoren.

Qlik Sense Lizenz einspielen um Premium Konnektoren zu aktivieren
Qlik Sense Lizenz einspielen um Premium Konnektoren zu aktivieren


Diese zusätzlichen Konnektoren sind nun freigeschalten




Geo Analytics

Qlik hat die skandinavische Geo Analytics Firma Idevio Maps im Jahr 2017 gekauft. Diese bot  kommerzielle Extensions für QlikView und Qlik Sense an. Seither wandern viele Features von Idevio in das Qlik Sense Standard-Kartenobjekt. Die Idevio Funktionalität existiert aber weiterhin und kann mit den Lizenzeinträge GEOPLUS und GEO ANALYTICS installiert & freigeschalten werden.

Unterhalb sieht man wie sich die Qlik Sense Extensions sogar noch als "Idevio" registrieren.



Die Extensions bieten einige interessante Darstellungen wie Fahrzeitanalysen zu Standorten an. Dafür werden jedoch Daten in die Cloud geschickt.

Weiters besteht natürlich das Risiko, dass diese Extensions langsam "sterben", wenn alle Features in das Qlik Sense Standardkartenobjekt wandern. Auch der Druck mit NPrinting und die Integration in Stories ist nicht möglich.

Qlik Geo Analytics Travel Time
Qlik Geo Analytics Travel Time

Catchment area
Qlik Geo Analytics Catchment Area


Qlik Geo Analytics - Potential for new location



Weiters kann man den Geo Analytics Connector Qlik GeoAnalytics Connector im Qlik Datamanager nutzen. Leider ist aber hier die Address Lookup Funktion nicht freigeschalten.

Qlik Geo Analytics Connector


Qlik Geo Analytics Connector - Operatoren



heldendaten GmbH,2020