QlikView - Artımlı Yükleme

QlikView belgesinin veri kaynağındaki veri hacmi arttıkça, dosyanın yüklenmesi için geçen süre de artar ve bu da analiz sürecini yavaşlatır. Veri yüklemek için harcanan bu süreyi en aza indirmeye yönelik bir yaklaşım, yalnızca kaynakta yeni olan veya güncellenmiş olanları yüklemektir. Bu, kaynaktan yalnızca yeni veya değiştirilmiş kayıtların QlikView belgesine yüklenmesi kavramı olarak adlandırılır.Incremental Load.

Yeni kayıtları kaynaktan tanımlamak için, her satır için sıralı benzersiz bir anahtar veya bir tarih zaman damgası kullanırız. Benzersiz anahtar veya veri zaman alanının bu değerleri, kaynak dosyadan QlikView belgesine akmalıdır.

Bir perakende mağazasındaki ürün ayrıntılarını içeren aşağıdaki kaynak dosyayı ele alalım. Bunu, QlikView tarafından erişilebildiği yerel sistemde bir .csv dosyası olarak kaydedin. Belirli bir süre içinde, daha fazla ürün eklenir ve bazı ürün açıklamaları değişir.

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

Verileri QlikView'e Yükleme

Yukarıdaki CSV dosyasını, aşağıda gösterildiği gibi Tablo Dosyaları seçeneğini seçerek komut dosyası düzenleyicisini (Control + E) kullanarak yükleyeceğiz. Burada ayrıca verileri yerel sistemdeki bir QVD dosyasına kaydediyoruz. QlikView belgesini .qvw dosyası olarak kaydedin.

Yüklenen Verilerin Doğrulanması.

QlikView belgesine yüklenen verileri, adı verilen bir sayfa nesnesi oluşturarak kontrol edebiliriz. Table Box. Bu, Düzen menüsünde bulunur veNew Sheet Objects alt menü.

Tablo Düzenini Oluşturmak

Seçildiğinde Table BoxSayfa nesnesi, oluşturulacak tablodaki sütunları ve konumlarını seçmek için kullanılan sonraki ekrana geçiyoruz. Aşağıdaki sütunları ve konumlarını seçip Bitir'e tıklıyoruz.

Mevcut Verileri Görüntüleme

Verileri önceki adımda gösterildiği gibi gösteren aşağıdaki grafik görüntülenir.

Kaynak Verileri Güncelleme

Kaynak verilere aşağıdaki üç kaydı daha ekleyelim. Burada, Ürün Kimlikleri, yeni kayıtları temsil eden benzersiz sayılardır.

13,Office Supplies,Presentation Supplies,Display
14,Hardware,Tool Accessories,Jigs
15,Baby & Toddler,Diapering,Baby Wipes

Artımlı kod dosyası

Şimdi, sadece kaynaktan yeni kayıtları çekecek betiği yazıyoruz.

// 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);

Yukarıdaki komut dosyası yalnızca qvd dosyasına yüklenen ve depolanan yeni kayıtları getirir. Yeni Ürün Kimlikleri 13, 14 ve 15 ile kayıtları gördüğümüz gibi.