Lektion 6 – Skript Tips und Tricks

Übersicht

Diese Kurzlektion beschäftigt sich mit typischen Fragestellungen aus der Praxis und deren Lösungsvorschläge.

Markieren von Dubletten

Oft kommt es in der Praxis vor, dass „Dubletten“ für eine Information existieren und Sie allerdings nur den „neuesten“ Datensatz berücksichtigen wollen. Für diese Problemstellung bietet QlikView im Skript so genannte „Interrecord-Funktionen“ zur Verfügung. Diese erlauben während des Ladens einer Quelle auf vorgehende oder nachfolgende Datensätze zuzugreifen. Die Lösung für unser Problem sähe wie folgt aus:

 Auflösen von „multiplen“ Schlüsseln

In der Praxis kommt es oft vor, dass eine Beziehung zwischen 2 Tabellen auf mehr als nur einem Feld besteht. Um die Performance zu  verbessern und das Datenmodell „sauber“ zu halten, lohnt es sich in diesen Fällen mit einem einfachen Trick die Schlüssel zu kombinieren.

 Klassifizieren von Daten

ApplyMap Funktion

Informationen auf Basis einer „Karte“ zuordnen. Dabei gelten die folgenden Anforderungen an die Karte:

  • Die Zuordnungstabelle besteht aus 2 Spalten, in der Ersten steht der Vergleichswert, in der Zweiten der spätere „Klassenwert“.
  • Die 2 Spalten müssen benannt sein, wobei die Benennung später keine Relevanz hat. Vergessen Sie die Benennung bei z.B. einer Inline-Tabelle, wird der erste Wert nie einen Treffer liefern.
  • Beim Gebrauch der Zuordnungstabelle werden die Werte eines bestimmten Feldes verglichen, bei einem Treffer wird der Zuordnungswert „ersetzt“ ansonsten bleibt der ursprüngliche Wert bestehen.

Wenn Sie sich Fragen, wieso wir diese Daten nicht mittels Join ins Datenmodell ziehen, so liegt der Grund in Punkt 3 der gerade aufgeführten Punkte. Ein JOIN würde uns die Tabelle immer erweitern und ein „behalten“ der Originalwertes ist nicht möglich.

Folgendes Bsp. mit der Verwendung von Inline-Tabellen:

IntervallMatch Funktion

Klassifizieren von Werten auf Basis eines Unter- und Oberwertes. Diese Funktion kann allerdings auch für komplexere Fragestellungen wie z.B. eine Zeitreihenanalyse genutzt werden. Um das Prinzip hinter der Funktion zu verstehen, ist es allerdings viel einfacher wir nehmen das Beispiel einer Immobilienagentur, die auf Basis der Größe von Wohnungsflächen eine Klassifizierung festlegen möchte.

Dies kann auch auf Ereignisse angewendet werden und führt im Hintergrund zu folgenden Datenmodel:

Intervalmatch

 Performance – Verketten von Bewegungstabellen

Das Verketten von Bewegungstabellen – auch unterschiedlicher Spaltenanzahl und Felder – bringt, solange alle Schlüsselfelder „überlappen“ einen großen performance Vorteil. Solange alle Schlüsselfelder enthalten sind, ist dies auch unbedenklich für das spätere Drillen ins Detail. Sollten allerdings nicht alle Schlüsselfelder überlappen, so geht dies zwar auch, aber beim Drillen kann es zu „Detailbrüchen“ kommen, für die man sich dann unter Umständen „erklären“ darf.

Achtung: QlikView fasst Tabellen mit der gleichen Struktur automatisch zusammen. Dies kann zu erheblichen Problemen führen, bietet allerdings auch viele Chancen. Wie Sie das Verhalten bewusst steuern zeige ich Ihnen im folgenden Beispiel!

Im letzten Fall sollten Sie mit der Tabelle weiterarbeiten und verändern, da die hohe Gefahr besteht, dass Ihr Datenmodel „platzt“.

Ausführen einer Funktion für jede Zeile einer Tabelle

QlikView erlaubt Ihnen auch im Skript bestimmte Funktionen selbst zu erstellen und diese auch mit Parametern aufzurufen. Das einfachste Beispiel ist, dabei das Schreiben einer Nachricht in eine Log-Datei. (Geht nur um die Technik, nicht den Sinn!)

 

Eine Antwort auf „Lektion 6 – Skript Tips und Tricks“

Schreibe einen Kommentar