Anzeigen und Umwandeln des Datenmodells
Die Datenmodellansicht ist eine Übersicht über die Datenstruktur einer App. Sie können detaillierte Metadaten zu den Tabellen und Feldern anzeigen. Sie können auch Dimensionen und Kennzahlen aus den Datenfeldern erstellen.
Klicken Sie im App-Navigationsmenü auf Datenmodellansicht, um die Datenmodellansicht zu öffnen.
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.
Im Vorschaufenster können Sie den Inhalt einer Tabelle oder eines Feldes prüfen. Wenn Sie ein Feld auswählen, können Sie der App auch Dimensionen und Kennzahlen hinzufügen. Weitere Informationen finden Sie unter Vorschau von Tabellen und Feldern in der Datenmodellansicht.
Verschieben von Tabellen
Sie können Tabellen durch Ziehen verschieben. Die Tabellenpositionen werden gespeichert, wenn die App gespeichert wird.
Sie können das Tabellenlayout (Position und Größe) sperren, indem Sie im rechten Bereich auf klicken. Klicken Sie zum Entsperren des Tabellenlayouts auf .
Sie können das Layout auch automatisch anordnen, indem Sie die Optionen unter in der Symbolleiste verwenden:
UI-Element | Name | Beschreibung |
---|---|---|
Gitternetz-Layout | Die Tabellen werden in einem Gitternetz angeordnet. | |
Auto-Layout | Die Tabellen werden an das Fenster angepasst. | |
Layout wiederherstellen | Das Layout wird auf den letzten Status zurückgesetzt, der in der Datenmodellansicht geöffnet war. |
Anpassen der Größe von Tabellen
Sie können die Anzeigegröße von Tabellen mithilfe des Pfeils rechts unten an einer Tabelle anpassen. Die Anzeigegröße wird nicht gespeichert, wenn die App gespeichert wird.
Sie können auch die Optionen für die automatische Anpassung der Anzeigegröße verwenden:
UI-Element | Name | Beschreibung |
---|---|---|
Nächste Ebene komplett ausblenden | Blendet alle Tabellen aus, damit nur der Tabellenname angezeigt wird. | |
Verlinkte Felder anzeigen | Verringert die Größe aller Tabellen, damit der Tabellenname und alle Felder mit Verknüpfungen mit anderen Tabellen angezeigt werden. | |
Alles erweitern | Blendet alle Tabellen ein, damit alle Felder in den Tabellen angezeigt werden. |
Leistung des Datenmodells
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 Arbeiten mit QVD-Dateien. |
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 Kombinieren von Tabellen mit Join und Keep. |
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. |
Weitere Best Practices finden Sie unter Beste Praktiken für Datenmodelle.