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 klicken.
Sie können die Zoom-Einstellung verändern, indem Sie auf oder klicken oder den Schieberegler verwenden. Klicken Sie auf , 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 in the right part of the canvas. To unlock the table layout, click .
You can also arrange the layout automatically using the options under in the toolbar:
UI item | Name | Description |
---|---|---|
Grid layout | To arrange the tables in a grid. | |
Auto layout | To arrange the tables to fit in the window. | |
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:
UI item | Name | Description |
---|---|---|
Collapse all | To minimize all tables to show the table name only. | |
Show linked fields | To reduce the size of all tables to show the table name and all fields with associations to other tables. | |
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.
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:
|
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:
|
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.