Zu Hauptinhalt springen

Zusammenfassung von Tabellen

Bei der Zusammenfassung von Tabellen werden zwei Tabellen zu einer kombiniert.

Die beiden Tabellen werden mit einer Spalte für jeden distinkten Spaltennamen zusammengefügt. Die Daten werden nicht geändert und die entstehende Tabelle enthält genauso viele Datensätze wie die beiden ursprünglichen Tabellen zusammen. Es können auch mehr als zwei Tabellen zusammengefasst werden, indem der Zusammenfassungsvorgang mehrmals nacheinander ausgeführt wird.

Automatische Zusammenfassung

Stimmen bei zwei oder mehr Tabellen die Zahl der Felder und die Feldnamen genau überein, fasst Qlik Sense diese Tabellen automatisch zu einer Tabelle zusammen.

Die Anzahl und die Namen der Felder müssen exakt übereinstimmen, damit eine automatische Zusammenfassung stattfinden kann. Die Reihenfolge der zwei LOAD-Anweisungen ist beliebig, aber die Tabelle erhält den Namen der zuerst geladenen Tabelle.

  1. Öffnen Sie den Dateneditor in der Scripting Tutorial App.
  2. Klicken Sie auf die Registerkarte Dates.
  3. Klicken Sie auf Daten laden.
  4. Gestützt auf das bisher von Ihnen geschriebene Ladeskript lädt Qlik Sense 628 Zeilen aus der Datendatei Dates.xlsx in Table2.

    Fenster für Datenladefortschritt

    Fenster für Datenladefortschritt
  5. In einer neuen Zeile im Skript im Abschnitt Dates kopieren Sie die LOAD-Anweisung für Table2 und fügen Sie sie ein. Damit werden die Daten zweimal geladen. Nennen Sie die zweite Tabelle Table2a.
  6. Sie können das vorhandene Skript auch löschen und Folgendes kopieren und einfügen:

    Table2:
    LOAD
        "Date",
        Month (Date) as "Month",
        Quarter,
        "Week",
        "Year"
    FROM [lib://DataFiles/Dates.xlsx]
    (ooxml, embedded labels, table is Dates);
    
    Table2a:
    LOAD
        "Date",
        Month (Date) as "Month",
        Quarter,
        "Week",
        "Year"
    FROM [lib://DataFiles/Dates.xlsx]
    (ooxml, embedded labels, table is Dates);

    Ihr Skript sollte folgendermaßen aussehen:

    Ladeskript auf der Registerkarte Dates

    Ladeskript auf der Registerkarte „Dates“.
  7. Klicken Sie auf Daten laden.
  8. Qlik Sense lädt nicht Table2 und dann Table2a. Stattdessen wird erkannt, dass Table2a die gleichen Feldnamen und die gleiche Anzahl Felder wie Table2 hat. Dann werden die Daten von Table2a zu Table2 hinzugefügt und Tabelle Table2a gelöscht. Das Ergebnis ist, dass Table2 jetzt 1256 Zeilen umfasst.

    Zusammenfassung im Fenster für Datenladefortschritt

    Zusammenfassung im Fenster für Datenladefortschritt.
  9. Öffnen Sie die Datenmodellansicht.
  10. Klicken Sie auf Vorschau anzeigen.
  11. Nur Table2 wurde erstellt. Wählen Sie Table2 aus. Die Tabelle hat 256 Zeilen.

    Die Datenmodellansicht zeigt Table2

    Die Datenmodellansicht zeigt „Table2“.

Manuelle Zusammenfassung

Falls zwei oder mehr Tabellen nicht die gleichen Felder besitzen, kann eine Zusammenfassung der beiden Tabellen in Qlik Sense erzwungen werden. Dieser Vorgang erfolgt mithilfe des Zusatzes Concatenate im Skript. Er fasst eine Tabelle mit einer anderen benannten Tabelle oder der zuletzt erstellten Tabelle zusammen.

  1. Bearbeiten Sie die LOAD-Anweisung für Table2a, indem Sie Concatenate hinzufügen und Week auskommentieren.
  2. Ihr Skript sieht nun wie folgt aus:

    Table2a:
    Concatenate LOAD
        "Date",
        Month (Date) as "Month",
        Quarter,
        // "Week",
        "Year"
    FROM [lib://DataFiles/Dates.xlsx]
    (ooxml, embedded labels, table is Dates);

    Durch das Auskommentieren von Week wird sichergestellt, dass die Tabellen nicht identisch sind.

  3. Klicken Sie auf Daten laden.
  4. Öffnen Sie die Datenmodellansicht.
  5. Sie können nun sehen, dass Table2a nicht erstellt wurde.

  6. Klicken Sie in der Datenmodellansicht auf Table2 und dann auf Vorschau.
  7. Die Tabelle enthält die Felder Date, Month, Quarter, Week und Year. Das Feld Week wird weiterhin angezeigt, weil es aus Table2 geladen wurde.

  8. Klicken Sie auf Week in Table2. Die Vorschau zeigt jetzt, dass die Anzahl der Nicht-Null-Werte für das Feld 628 ist. Wenn Sie aber auf eines der anderen Felder klicken, sehen Sie, dass die Anzahl der Nicht-Null-Felder 1256 ist. Week wurde nur einmal geladen, und zwar aus Table2. Die Anzahl an Werten oder Datensätzen ist die Summe der Anzahl an Datensätzen in Table2 und Table2a.

Zusammenfassung von Tabellen verhindern

Stimmen bei zwei oder mehr Tabellen die Zahl der Felder und die Feldnamen genau überein, fasst Qlik Sense diese Tabellen automatisch zu einer Tabelle zusammen. Dies kann durch den Befehl NoConcatenate verhindert werden. Die mit der zugehörigen LOAD- oder SELECT-Anweisung geladene Tabelle wird dadurch nicht mit der bestehenden Tabelle zusammengefasst.

  1. Um den Inhalt der beiden Tabellen vollständig trennen zu können, fügen Sie NoConcatenate zur LOAD-Anweisung in Table2a hinzu und benennen Sie die Felder um, damit Qlik Sense keinen synthetischen Schlüssel basierend auf den übereinstimmenden Feldern erstellt. Kommentieren Sie Week in Table2 aus, damit die beiden Tabellen die gleichen Felder haben.
  2. Ihr Skript sieht nun wie folgt aus:

    Table2:
    LOAD
        "Date",
        Month (Date) as "Month",
        Quarter,
        "Week",
        "Year"
    FROM [lib://DataFiles/Dates.xlsx]
    (ooxml, embedded labels, table is Dates);
    
    Table2a:
    NoConcatenate LOAD
        "Date" as "Date2",
        Month (Date) as "Month2",
        Quarter as "Quarter2",
        "Week" as "Week2",
        "Year" as "Year2"
    FROM [lib://DataFiles/Dates.xlsx]
    (ooxml, embedded labels, table is Dates);			

  3. Klicken Sie auf Daten laden.
  4. Öffnen Sie die Datenmodellansicht.
  5. Jetzt sehen Sie, dass die beiden Tabellen vollständig getrennt sind.

    Die Datenmodellansicht zeigt Table2 und Table 2a

    Die Datenmodellansicht zeigt „Table2“ und „Table 2a“.
  6. Jetzt, da die Demonstration der Zusammenfassung abgeschlossen ist, wird Table2a nicht mehr benötigt. Löschen Sie alle Zeilen in der LOAD-Anweisung für Table2a und klicken Sie dann auf Daten laden.