Übersicht

Diese Lektion beschäftigt sich mit dem Import von Datenquellen und dem allgemeinen Verständnis von Datenstrukturen.

Datenquellen

In der heutigen Zeit gibt es eine Vielzahl von möglichen Datenquellen, die geladen und zusammengeführt werden sollen. Die gängigsten Formate hierbei sind:

  • SQL Datenbanken (MSSQL, MYSQL, Postgres SQL, …)
  • NOSQL Datenbanken (CouchDB, ElasticSearch, NoSQL, …)
  • REST – SOAP – XML Web-Interfaces
  • Excel, CSV, TXT Dateien

Diese Liste kann in der Praxis beliebig erweitert werden. Glücklicherweise liefert QlikView für jede Datenquelle eine „Lade“-Möglichkeit.

Anbei ein „Load-Skript“ für das Laden einer Excel-Datei:

Am einfachsten lässt sich dieser Syntax am Anfang durch die in QlikView befindlichen Wizards erzeugen. Erfahrene Benutzer arbeiten mit „Variablen“ als Referenz zum Dateinamen.

Sie haben die Möglichkeit mittels <Strg-T> oder dem Menüpunkt „Tabellenstruktur Anzeigen“ eine Vorschau auf die eingelesenen Daten zu bekommen. Nutzen Sie diese Funktion vor allem bei „neu“ einzubindenden Datenquellen um sich ein schnelleres Bild über Zusammenhänge verschaffen zu können.

Beim laden von Daten arbeitet QlikView in einer vorgegeben Reihenfolge. Dazu folgendes Beispiel mit Erläuterungen:

Prinzipiell arbeitet QlikView das Skript von „oben nach unten“ ab. Allerdings werden „Blöcke“ in umgekehrter Reihenfolge ausgeführt. So wird im „MeinZweiterBlock“ erst das „untere“ Skript ausgeführt und dann das Ergebnis als „Tabelle“ an den „oberen“ Block übergeben. Für SQL-Erfahrene Entwickler kann man sich das wie ein Sub-Select vorstellen, auf dessen Ergebnis dann im eigentlichen SQL zugegriffen wird.

Im Laufe der Schulung werden wir lernen „komplexere“ Datenquellen einzubinden.

Datenstrukturen

Datenstrukturen sind ein technischer Begriff, der rein technisch betrachtet das Ablegen und Speichern von Daten beschreibt. Hier beschreibe ich allerdings Datenstrukturen im Sinne von Datenmodellen, welche dazu dienen die Struktur für die in den Systemen zu verarbeitenden (im Besonderen für die zu speichernden) Daten zu finden und festzulegen. Ziel ist es, die Vorzüge der verschiedenen Datenmodelle zu kennen um dann bei der Datenmodellierung auf die entsprechenden Anforderungen einzugehen.

Sternen Schema

Das „Star Schema“ ist das einfachste und bekannteste Datenmodell.

Star-schema-example

Hier gibt es eine Bewegungstabelle (Measures), die mittels Fremdschlüssel eine Referenz zu den Stammtabellen (Dimensions) führt.

Dieses Datenmodell bietet Vorteile für Performance, einfache Abfragemöglichkeiten sowie das Schreiben von Aggregationsfunktionen (Pivotierungen) – allerdings bietet diese Art von Datenmodell keine ausreichenden Möglichkeiten zur Sicherstellung der Datenintegrität.

 Schneeflocken Schema

Das „Snowflake Schema“ ist das in der Praxis gängigste Format für das Management von Daten. es handelt sich um eine Kombination von mehreren Sternen Schemata welche verbunden werden.

Snowflake_schemaAuch hier gibt es eine Bewegungstabelle (Measures), die mittels Fremdschlüssel auf die Stammtabellen (Dimensions) verknüpft wird, welche dann allerdings auch wieder über Merkmale zu weiteren „Detailstammdaten“ verknüpft sind.

Entity Relationship Mapping

Hinter diesem „Zauberbegriff“ verbirgt sich die einfache aber auch sehr gefährliche „Fremdschlüssel-Erkennungs-Logik“ von QlikView, welche davon ausgeht, dass ein Feld mit gleichem Namen eine Beziehung zwischen 2 Datentabellen repräsentiert.

Bei der Bestimmung einer Relation zwischen 2 Tabellen gibt es die folgenden logischen Verbindungen:

  • 1:1 – für jeden Datensatz aus der Tabelle A existiert ein Datensatz in der Tabelle B
  • 1:n – für jeden Datensatz aus der Tabelle A existiert einer oder mehrere Datensätze in Tabelle B
  • m:n – für mehrere Datensätze aus Tabelle A existieren mehrere Datensätze aus Tabelle B

Praktische Beispiele für die Verarbeitung der jeweiligen Beziehung folgen zu einem späteren Zeitpunkt.

Schreibe einen Kommentar