QlikView - Inkrementelle Last
Mit zunehmendem Datenvolumen in der Datenquelle eines QlikView-Dokuments nimmt auch die zum Laden der Datei benötigte Zeit zu, was den Analyseprozess verlangsamt. Ein Ansatz zur Minimierung dieser Zeit zum Laden von Daten besteht darin, nur die Datensätze zu laden, die neu in der Quelle sind, oder die aktualisierten. Dieses Konzept, nur die neuen oder geänderten Datensätze aus der Quelle in das QlikView-Dokument zu laden, wird aufgerufenIncremental Load.
Um die neuen Datensätze aus der Quelle zu identifizieren, verwenden wir entweder einen sequentiellen eindeutigen Schlüssel oder einen Datums- / Zeitstempel für jede Zeile. Diese Werte des eindeutigen Schlüssel- oder Datenzeitfelds müssen von der Quelldatei zum QlikView-Dokument fließen.
Betrachten wir die folgende Quelldatei mit Produktdetails in einem Einzelhandelsgeschäft. Speichern Sie diese als CSV-Datei im lokalen System, auf das QlikView zugreifen kann. Im Laufe der Zeit werden einige weitere Produkte hinzugefügt und die Beschreibung einiger Produktänderungen.
Product_Id,Product_Line,Product_category,Product_Subcategory
1,Sporting Goods,Outdoor Recreation,Winter Sports & Activities
2,"Food, Beverages & Tobacco",Food Items,Fruits & Vegetables
3,Apparel & Accessories,Clothing,Uniforms
4,Sporting Goods,Athletics,Rugby
5,Health & Beauty,Personal Care
6,Arts & Entertainment,Hobbies & Creative Arts,Musical Instruments
7,Arts & Entertainment,Hobbies & Creative Arts,Orchestra Accessories
8,Arts & Entertainment,Hobbies & Creative Arts,Crafting Materials
9,Hardware,Tool Accessories,Power Tool Batteries
10,Home & Garden,Bathroom Accessories,Bath Caddies
11,"Food, Beverages & Tobacco",Food Items,Frozen Vegetables
12,Home & Garden,Lawn & Garden,Power Equipment
Laden der Daten in QlikView
Wir werden die obige CSV-Datei mit dem Skript-Editor (Strg + E) laden, indem wir die Option Tabellendateien wie unten gezeigt auswählen. Hier speichern wir die Daten auch in einer QVD-Datei im lokalen System. Speichern Sie das QlikView-Dokument als .qvw-Datei.
Überprüfen der geladenen Daten.
Wir können die in das QlikView-Dokument geladenen Daten überprüfen, indem wir ein Blattobjekt mit dem Namen erstellen Table Box. Dies ist im Layout-Menü und verfügbarNew Sheet Objects Untermenü.
Erstellen des Tabellenlayouts
Bei Auswahl der Table BoxBlattobjekt gelangen wir zum nächsten Bildschirm, in dem die Spalten und ihre Positionen in der zu erstellenden Tabelle ausgewählt werden. Wir wählen die folgenden Spalten und ihre Positionen aus und klicken auf Fertig stellen.
Anzeigen der vorhandenen Daten
Die folgende Tabelle mit den im vorherigen Schritt festgelegten Daten wird angezeigt.
Aktualisieren der Quelldaten
Fügen wir den Quelldaten die folgenden drei weiteren Datensätze hinzu. Hier sind die Produkt-IDs die eindeutigen Nummern, die neue Datensätze darstellen.
13,Office Supplies,Presentation Supplies,Display
14,Hardware,Tool Accessories,Jigs
15,Baby & Toddler,Diapering,Baby Wipes
Inkrementelles Ladeskript
Jetzt schreiben wir das Skript, um nur die neuen Datensätze aus der Quelle zu ziehen.
// Load the data from the stored qvd.
Stored_Products:
LOAD Product_Id,
Product_Line,
Product_category,
Product_Subcategory
FROM
[E:\Qlikview\data\products.qvd]
(qvd);
//Select the maximum value of Product ID.
Max_Product_ID:
Load max(Product_Id) as MaxId
resident Stored_Products;
//Store the Maximum value of product Id in a variable.
Let MaxId = peek('MaxId',-1);
drop table Stored_Products;
//Pull the rows that are new.
NewProducts:
LOAD Product_Id,Product_Line, Product_category,Product_Subcategory
from [E:\Qlikview\data\product_categories.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq)
where Product_Id > $(MaxId);
//Concatenate the new values with existing qvd.
Concatenate
LOAD Product_Id,Product_Line, Product_category,
Product_Subcategory
FROM [E:\Qlikview\data\products.qvd](qvd);
//Store the values in qvd.
store NewProducts into [E:\Qlikview\data\products.qvd](qvd);
Das obige Skript ruft nur die neuen Datensätze ab, die geladen und in der qvd-Datei gespeichert werden. Wie wir die Datensätze mit den neuen Produkt-IDs 13, 14 und 15 sehen.