QlikView - Hält
Der Befehl keep in QlikView wird verwendet, um Daten aus zwei Datensätzen zu kombinieren und beide Datensätze im Speicher verfügbar zu halten. Es ist den im vorherigen Kapitel behandelten Verknüpfungen sehr ähnlich, mit Ausnahme von zwei Hauptunterschieden. Der erste Unterschied ist - im Falle der Aufbewahrung; Beide Datensätze sind im Speicher von QlikView verfügbar, während beim Verbinden die load-Anweisungen nur einen Datensatz erzeugen, aus dem Sie die Spalten auswählen müssen. Der zweite Unterschied besteht darin, dass es kein Konzept für die äußere Aufbewahrung gibt, bei dem die äußere Verbindung für Verbindungen verfügbar ist.
Eingabedaten
Betrachten wir die folgenden zwei CSV-Datendateien, die als Eingabe für weitere Abbildungen verwendet werden.
Product List:
ProductID,ProductCategory
1,Outdoor Recreation
2,Clothing
3,Costumes & Accessories
4,Athletics
5,Personal Care
6,Hobbies & Creative Arts
Product Sales:
ProductID,ProductCategory,SaleAmount
4,Athletics,1212
5,Personal Care,5211
6,Hobbies & Creative Arts,1021
7,Display Board,2177
8,Game,1145
9,soap,1012
10,Beverages & Tobacco,2514
Innere Festung
Wir laden die obigen Eingabedaten mit dem Skripteditor, der durch Drücken von aufgerufen wird Control+E. Wählen Sie die OptionTable Filesund suchen Sie nach der Eingabedatei. Dann bearbeiten wir die Befehle im Skript, um einen inneren Keep zwischen den Tabellen zu erstellen.
Inner Keep ruft nur die Zeilen ab, die in beiden Tabellen vorhanden sind. In diesem Fall sind die Zeilen in verfügbarboth Product List and Product SalesTabelle werden abgerufen. Über das Menü erstellen wir eine TischboxLayout → New Sheet Objects → Table Box.
Zuerst wählen wir nur die productSales Tabelle, in der die Felder ProductID, ProductCategory und SaleAmount angezeigt werden.
Als nächstes wählen wir die ProductList Datensatz, der uns die Felder ProductID und ProductCategory gibt.
Schließlich wählen wir die All Tables Option und erhalten Sie alle verfügbaren Felder aus allen Tabellen.
Der folgende Bericht zeigt alle Tabellenfelder aus den oben angegebenen Schritten.
Linke Festung
Left Keep ähnelt dem Left Join, bei dem alle Zeilen aus der Tabelle links sowie beide Datensätze im Speicher von QlikView verfügbar bleiben.
Links Skript behalten
Das folgende Skript wird verwendet, um die resultierenden Datensätze mit dem Befehl left keep zu erstellen.
productsales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
left keep(productsales)
productlists:
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
Links Daten behalten
Wenn wir das Skript wie oben ändern und die Daten im Bericht mit aktualisieren Control+Rerhalten wir die folgenden Daten in den Blattobjekten.
Richtig halten
Right Keep ähnelt dem Left Join, bei dem alle Zeilen aus der Tabelle rechts zusammen mit den beiden im Speicher von QlikView verfügbaren Datensätzen beibehalten werden.
Richtig, Skript behalten
Das folgende Skript wird verwendet, um die resultierenden Datensätze mit dem Befehl left keep zu erstellen.
productsales:
LOAD ProductID,
ProductCategory,
SaleAmount
FROM
[C:\Qlikview\data\product_lists.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
right keep(productsales)
productlists:
LOAD ProductID,
ProductCategory
FROM
[C:\Qlikview\data\Productsales.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
Richtig Daten aufbewahren
Wenn wir das Skript wie oben ändern und die Daten im Bericht mit aktualisieren Control+Rerhalten wir die folgenden Daten in den Blattobjekten.