Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Viewing and transforming the data model

The data model viewer is an overview of the data structure of an app. You can view detailed metadata about the tables and fields. You can also create dimensions and measures from the data fields.

Click Data model viewer under the Prepare tab in the navigation bar to open the data model viewer.

Jede Datentabelle wird durch eine Box dargestellt, wobei der Tabellenname der Titel ist und alle Felder in der Tabelle aufgelistet werden. Tabellenzuordnungen werden mit Linien angezeigt, wobei eine gepunktete Linie auf einen Zirkelbezug verweist. Wenn Sie eine Tabelle oder ein Feld auswählen, erkennen Sie durch die Hervorhebung von Verknüpfungen sofort, welche Felder und Tabellen im Zusammenhang stehen. Sie können nach bestimmten Tabellen und Feldern suchen, indem Sie auf Datenmodell suchen klicken.

Das Datenmodell zeigt die Datenstruktur der App an.

Datenmodellansicht.

Sie können die Zoom-Einstellung verändern, indem Sie auf Vergrößern oder Verkleinern klicken oder den Schieberegler verwenden. Klicken Sie auf Startseite, um die Zoomeinstellung auf 1:1 zurückzusetzen.

In the preview pane, you can inspect the contents of a table or field. You can also add dimensions and measures to the app if you select a field. For more information, see Vorschau von Tabellen und Feldern in der Datenmodellansicht.

Moving tables

You can move tables by dragging them on the canvas. The table positions will be saved when the app is saved.

You can lock the table layout (positions and sizes), by clicking Locked in the right part of the canvas. To unlock the table layout, click Unlocked.

You can also arrange the layout automatically using the options under Grid View in the toolbar:

Options for moving tables
UI item Name Description
Grid View Grid layout To arrange the tables in a grid.
auto Auto layout To arrange the tables to fit in the window.
Time Restore layout To revert to the layout state present when the data model viewer was last opened.

Resizing tables

You can adjust the display size of a table with the arrow in the bottom right corner of the table. The display size will not be saved when the app is saved.

You can also use the automatic display size options in the toolbar:

Options for resizing tables
UI item Name Description
Collapse Collapse all To minimize all tables to show the table name only.
Reduce  Show linked fields To reduce the size of all tables to show the table name and all fields with associations to other tables.
Expand  Expand all To maximize all tables to show all fields in the table.

Data model performance

Diese Indikatoren können sich auf die Leistung des Datenmodells auswirken. Jeder ist eine Best Practice, die die Nutzbarkeit der App verbessert.

Best Practices für die Leistung des Datenmodells
Aktion Beschreibung

Synthetische Schlüssel entfernt

Qlik Sense erstellt synthetische Schlüssel, wenn zwei oder mehr Datentabellen zwei oder mehr gemeinsame Felder haben. Das kann bedeuten, dass ein Fehler im Skript oder im Datenmodell vorliegt. Informationen zur Diagnose von synthetischen Schlüsseln finden Sie unter Synthetische Schlüssel.

Zirkelbezüge aus Datenmodell entfernt

Zirkelbezüge treten auf, wenn zwei Felder mehr als eine Zuordnung aufweisen. Qlik Sense versucht, diese aufzulösen, indem die Verbindung zu einer der Tabellen geändert wird. Es sollten jedoch alle Zirkelbezugwarnungen gelöst werden, siehe Zirkelbezüge und Auflösen von Zirkelbezügen.

Geeignete Datengranularität

Sie sollten nur die benötigten Daten laden. Beispiel: Eine Gruppe von Benutzern benötigt nur Daten aufgeteilt nach Woche, Monat und Jahr. Sie können entweder die aggregierten Daten laden oder die Daten innerhalb des Ladeskripts aggregieren, um Arbeitsspeicher zu sparen. Wenn ein Benutzer Daten auf einer detaillierteren Granularitätsebene visualisieren muss, können Sie ODAG oder Dokumentverkettung verwenden.

QVDs nach Möglichkeit verwendet

Eine QVD-Datei enthält Datentabellen, die aus Qlik Sense exportiert wurden. Dieses Dateiformat ist für schnelles Einlesen von Daten aus einem Skript optimiert, aber dennoch sehr kompakt. Das Einlesen von Daten aus QVD-Dateien ist etwa 10-100 Mal schneller als das Einlesen aus anderen Datenquellen. Weitere Informationen finden Sie unter Working with QVD files.

Beim Laden optimierte QVD-Dateien

QVD-Dateien können in zwei Modi gelesen werden: Standard (schnell) und optimiert (schneller). Der ausgewählte Modus ergibt sich automatisch aus dem Skriptmodul.

Das optimierte Laden unterliegt bestimmten Einschränkungen. Es ist möglich, Felder umzubenennen, aber mit allen folgenden Vorgängen wird das Standardladen ausgeführt:

  • Alle Transformationen für geladene Felder.
  • Verwenden einer where-Klausel, die Qlik Sense veranlasst, die Datensätze zu entpacken.
  • Verwenden von Zuordnen für ein geladenes Feld.

Nutzen des inkrementellen Ladens

Wenn Ihre App eine Verbindung mit großen Datenmengen aus Datenbanken herstellt, die kontinuierlich aktualisiert werden, dann kann das erneute Laden des gesamten Datenbestands zeitaufwändig sein. Verwenden Sie stattdessen inkrementelles Laden, um neue oder geänderte Datensätze aus der Datenbank abzurufen. Weitere Informationen finden Sie unter Laden von neuen und aktualisierten Datensätzen mit inkrementellem Laden.

Konsolidiertes Snowflake -Modell

Wenn Sie mit einem Snowflake-Datenmodell arbeiten, können Sie möglicherweise die Anzahl der Datentabellen verringern, indem Sie einige von ihnen mit dem Präfix Join oder mit einer anderen Zuordnung verknüpfen. Dies ist besonders bei großen Faktentabellen von Bedeutung. Als generelle Regel sollte nur eine große Tabelle verwendet werden. Weitere Informationen finden Sie unter To Join or Not to Join (Verknüpfen oder nicht verknüpfen).

Tabellen mit einer kleinen Anzahl Felder sind denormalisiert

Wenn Sie zwei Tabellen mit wenigen Feldern haben, kann die Leistung besser werden, wenn Sie sie verknüpfen. Weitere Informationen finden Sie unter Nächste Schritte bei der Skripterstellung.

Denormalisierte Lookup-(Leaf-)Tabellen mit Zuordnungs-Ladevorgängen

Sie sollten den Zusatz Join nicht verwenden, wenn Sie nur ein Feld aus einer Tabelle in einer anderen Tabelle hinzufügen möchten. Dafür sollten Sie die Lookup-Funktion ApplyMap verwenden, siehe Don't join - use ApplyMap (Nicht verknüpfen - ApplyMap verwenden).

Entfernte oder vom Datumsfeld entkoppelte Zeitstempel

Datumsfelder können viel Platz belegen, wenn der Zeitstempel vorhanden ist, da die Zeichenfolgendarstellung und die Anzahl der distinkten Werte größer sind. Wenn die Präzision für Ihre Analyse nicht erforderlich ist, können Sie den Zeitstempel beispielsweise auf die nächste Stunde runden, indem Sie Timestamp(Floor(YourTimestamp,1/24)) verwenden, oder die Zeitkomponenten mit Date(Floor(YourTimestamp)) vollständig entfernen.

Wenn Sie den Zeitstempel verwenden möchten, können Sie ihn vom Datum entkoppeln. Verwenden Sie die gleiche Floor()-Funktion und erstellen Sie dann ein neues Feld mit der extrahierten Zeit, in etwa wie folgt: Time(Frac(YourTimestamp)).

Unnötige Felder aus dem Datenmodell entfernt

Laden Sie nur erforderliche Felder in Ihr Datenmodell. Vermeiden Sie die Verwendung von Load * und SELECT. Folgende Felder müssen Sie beibehalten:

  • Felder, die Sie für die Analyse benötigen.
  • Felder, die tatsächlich in der App genutzt werden.

Link-Tabellen bei Handhabung großer Datenmengen vermieden

Sie sollten sooft wie möglich Link-Tabellen verwenden. Bei großen Datenmengen können zusammengefasste Tabellen jedoch eine bessere Leistung als Link-Tabellen aufweisen.

Zusammengefasste Dimensionen in neue Felder aufgeteilt

Teilen Sie zusammengefasste Dimensionen in getrennte Felder auf. Dadurch wird die Anzahl der eindeutigen Vorkommen von Werten in Ihren Feldern reduziert. Das Verfahren ist ähnlich wie beim Optimieren von Zeitstempeln.

AutoNumber nach Möglichkeit verwendet

Sie können einen optimierten Ladevorgang erstellen, indem Sie die Daten zuerst aus einer QVD-Datei laden und dann den AutoNumber-Befehl verwenden, um die Werte in Symbolschlüssel zu konvertieren.Weitere Informationen finden Sie unter AutoNumber.

Dateninseln vermieden

Dateninseln können nützlich sein, beeinträchtigen aber meist die Leistung. Verwenden Sie Variablen, um Inseln für Auswahlwerte zu erstellen.

QVDs werden in inkrementellen Zeitrahmen gespeichert

Sie sollten QVDs in Segmenten speichern, z. B. monatlich. Diese kleineren monatlichen QVDs können dann viele verschiedene Apps unterstützen, die möglicherweise nicht alle Daten benötigen.

For more best practices, see Beste Praktiken für Datenmodelle.

Weitere Informationen

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!