QlikView - Tải trọng gia tăng
Khi khối lượng dữ liệu trong nguồn dữ liệu của tài liệu QlikView tăng lên, thời gian tải tệp cũng tăng lên, điều này làm chậm quá trình phân tích. Một cách tiếp cận để giảm thiểu thời gian tải dữ liệu này là chỉ tải các bản ghi mới trong nguồn hoặc các bản cập nhật. Khái niệm chỉ tải các bản ghi mới hoặc đã thay đổi từ nguồn vào tài liệu QlikView được gọi làIncremental Load.
Để xác định các bản ghi mới từ nguồn, chúng tôi sử dụng khóa duy nhất tuần tự hoặc dấu thời gian ngày tháng cho mỗi hàng. Các giá trị này của khóa duy nhất hoặc trường thời gian dữ liệu phải truyền từ tệp nguồn sang tài liệu QlikView.
Chúng ta hãy xem xét tệp nguồn sau đây chứa thông tin chi tiết về sản phẩm trong một cửa hàng bán lẻ. Lưu tệp này dưới dạng tệp .csv trong hệ thống cục bộ nơi QlikView có thể truy cập tệp này. Trong một khoảng thời gian, một số sản phẩm khác được thêm vào và mô tả của một số sản phẩm thay đổi.
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
Tải dữ liệu vào QlikView
Chúng tôi sẽ tải tệp CSV ở trên bằng trình chỉnh sửa tập lệnh (Control + E) bằng cách chọn tùy chọn Tệp Bảng như hình dưới đây. Ở đây chúng tôi cũng lưu dữ liệu vào một tệp QVD trong hệ thống cục bộ. Lưu tài liệu QlikView dưới dạng tệp .qvw.
Xác minh dữ liệu đã tải.
Chúng tôi có thể kiểm tra dữ liệu được tải vào tài liệu QlikView bằng cách tạo một đối tượng trang tính có tên Table Box. Điều này có sẵn trong menu Bố cục vàNew Sheet Objects menu phụ.
Tạo bố cục bảng
Khi chọn Table Boxđối tượng trang tính, chúng ta đến màn hình tiếp theo, được sử dụng để chọn các cột và vị trí của chúng trong bảng sẽ được tạo. Chúng tôi chọn các cột sau và vị trí của chúng và nhấp vào Kết thúc.
Xem dữ liệu hiện có
Biểu đồ sau hiển thị dữ liệu như đã trình bày ở bước trước sẽ xuất hiện.
Cập nhật dữ liệu nguồn
Hãy để chúng tôi thêm ba bản ghi sau vào dữ liệu nguồn. Ở đây, ID sản phẩm là các số duy nhất, đại diện cho các bản ghi mới.
13,Office Supplies,Presentation Supplies,Display
14,Hardware,Tool Accessories,Jigs
15,Baby & Toddler,Diapering,Baby Wipes
Tập lệnh tải tăng dần
Bây giờ, chúng ta viết script để chỉ kéo các bản ghi mới tạo thành nguồn.
// 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);
Tập lệnh trên chỉ tìm nạp các bản ghi mới, được tải và lưu trữ vào tệp qvd. Như chúng ta thấy các bản ghi có ID sản phẩm mới 13, 14 và 15.