QlikView - โหลดที่เพิ่มขึ้น
เมื่อปริมาณข้อมูลในแหล่งข้อมูลของเอกสาร QlikView เพิ่มขึ้นเวลาที่ใช้ในการโหลดไฟล์ก็จะเพิ่มขึ้นด้วยซึ่งจะทำให้กระบวนการวิเคราะห์ช้าลง แนวทางหนึ่งในการลดเวลาที่ใช้ในการโหลดข้อมูลนี้คือการโหลดเฉพาะระเบียนที่ใหม่ในแหล่งที่มาหรือรายการที่อัปเดต แนวคิดของการโหลดเฉพาะเรกคอร์ดใหม่หรือที่เปลี่ยนแปลงจากต้นทางลงในเอกสาร QlikView นี้เรียกว่าIncremental Load.
ในการระบุระเบียนใหม่จากแหล่งที่มาเราใช้คีย์ที่ไม่ซ้ำกันตามลำดับหรือการประทับวันที่สำหรับแต่ละแถว ค่าของคีย์ที่ไม่ซ้ำกันหรือฟิลด์เวลาข้อมูลเหล่านี้ต้องไหลจากไฟล์ต้นทางไปยังเอกสาร QlikView
ให้เราพิจารณาไฟล์ต้นฉบับต่อไปนี้ที่มีรายละเอียดผลิตภัณฑ์ในร้านค้าปลีก บันทึกเป็นไฟล์. csv ในระบบโลคัลที่ QlikView เข้าถึงได้ ในช่วงระยะเวลาหนึ่งมีการเพิ่มผลิตภัณฑ์เพิ่มเติมและรายละเอียดของการเปลี่ยนแปลงผลิตภัณฑ์บางอย่าง
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
กำลังโหลดข้อมูลลงใน QlikView
เราจะโหลดไฟล์ CSV ด้านบนโดยใช้โปรแกรมแก้ไขสคริปต์ (Control + E) โดยเลือกตัวเลือกไฟล์ตารางตามที่แสดงด้านล่าง ที่นี่เรายังบันทึกข้อมูลลงในไฟล์ QVD ในระบบโลคัล บันทึกเอกสาร QlikView เป็นไฟล์. qvw
การตรวจสอบข้อมูลที่โหลด
เราสามารถตรวจสอบข้อมูลที่โหลดไปยังเอกสาร QlikView โดยการสร้างวัตถุแผ่นที่เรียกว่า Table Box. มีอยู่ในเมนูเค้าโครงและNew Sheet Objects เมนูย่อย
การสร้างเค้าโครงตาราง
ในการเลือก Table Boxแผ่นงานเราไปที่หน้าจอถัดไปซึ่งใช้ในการเลือกคอลัมน์และตำแหน่งในตารางที่จะสร้าง เราเลือกคอลัมน์และตำแหน่งต่อไปนี้และคลิกเสร็จสิ้น
การดูข้อมูลที่มีอยู่
แผนภูมิต่อไปนี้แสดงข้อมูลตามที่วางไว้ในขั้นตอนก่อนหน้าจะปรากฏขึ้น
การอัปเดตแหล่งข้อมูล
ให้เราเพิ่มระเบียนอีกสามรายการต่อไปนี้ในแหล่งข้อมูล รหัสผลิตภัณฑ์คือตัวเลขที่ไม่ซ้ำกันซึ่งแสดงถึงระเบียนใหม่
13,Office Supplies,Presentation Supplies,Display
14,Hardware,Tool Accessories,Jigs
15,Baby & Toddler,Diapering,Baby Wipes
สคริปต์โหลดส่วนเพิ่ม
ตอนนี้เราเขียนสคริปต์เพื่อดึงเฉพาะระเบียนใหม่จากแหล่งที่มา
// 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);
สคริปต์ข้างต้นดึงเฉพาะระเบียนใหม่ซึ่งจะโหลดและเก็บไว้ในไฟล์ qvd ดังที่เราเห็นบันทึกที่มีรหัสผลิตภัณฑ์ใหม่ 13, 14 และ 15