Qlik Tipps,Tricks und Wissenswertes.
heldendaten ist Ihr Full-Service Provider für Fragen zum gesamten QlikView & Qlik Sense Produktlebenszyklus. Roland Vecera und sein Team vermitteln Ihnen das notwendige Wissen, damit Sie HeldenTaten mit Ihren Unternehmensdaten vollbringen können!
Selbst dem erfahrensten QlikView Entwickler passiert es manchmal: man baut ein Diagramm, das nicht und nicht zu rechnen aufhören will. Vermutlich hat man unabsichtlich ein kartesisches Produkt, oder irgendetwas Ähnliches produziert.
Der QlikView Developer ist äußerst gutmütig und versucht jedes Objekt "fertig" zu rechnen. Entweder kann man auf eine ausgedehnte Kaffeepause gehen, oder man verliert die Nerven und beendet die Qv.exe im Taskmanager. Besonders bitter wenn das letzte Speichern der .qvw Stunden zurückliegt ("Benutzereinstellungen|Speichern|Wiederherstellungsdatei anlegen" hilft doch manchmal).
Der QlikView Server kennt die Einstellung "Object Calculation Time Limit". Defaultmäßig gibt der Server das Berechnen eines Objektes nach 60 Sekunden auf. 60 Sekunden stimmt nicht ganz, denn meiner Meinung nach multiplizieren sich diese 60 Sekunden mit Anzahl der Cores am Server. Hat man also 8 Cores, versucht der Server 8 Minuten lang ein Objekt zu berechnen >> viel zu lange, weswegen wir dieses Setting gerne auf 5 oder 10 Sekunden stellen.
Der Screenshot zeigt einen QlikView Server mit "Object Calculation Time Limit" von 10Sek*4Cores = 40 Sek
Am QlikView Developer gibt es diese Einstellung ebenfalls --> allerdings nur versteckt mittels Eintrag "ObjectTimeLimitSec" in den QlikView Easter Eggs. Defaultmäßig ist der Wert auf -1 (unendlich), weswegen der QlkView Developer eben nie aufhört das Objekt zu rechnen. Gerade während der Entwicklung ist es jedoch sinnvoll, die Berechnung von fälschlicherweise definierten "Langläufern" nach einer gewissen Zeit abzubrechen. Unterhalb ein Video und ein Screenshot wie Sie den Wert ändern können.
Rechtsklick auf das QlikView Logo zeigt den Easter Egg Dialog.
Wer also vor sich selbst und seinen Entwicklungskünsten in Schutz genommen werden möchte, setzt den Wert "ObjectTimeLimitSec" zum Beispiel auf 10! Zum Testen können Sie diese .qvw herunterladen, die ein Tabellendiagramm mit kartesischen Produkt beinhaltet. --> Haben Sie "ObjectTimeLimitSec" korrekt gesetzt, sehen Sie die Fehlermeldung "Timeout bei Berechnung".
Auf den Versuch das fehlerhafte Chart zu rechnen....
... folgt die Fehlermeldung "Timeout bei der Berechnung"
PS: die meisten Einstellungen in den Easter Eggs lassen sich über den normalen Benutzereinstellungen-Dialog ändern. Einige "Versteckte" gibt es trotzdem. Einen zweiten Eintrag den ich gerne setze ist "DataPreviewSize" --> dann bekommt man mehr Zeilen in der Tabellen-Vorschau unter der CTRL+T "Tabellenstruktur" Ansicht.
1000 statt 100 Zeilen im Tabellenstruktur Preview
PPS: Support gibt es für diese Easter Eggs natürlich keine :)