QlikView-증분로드
QlikView 문서의 데이터 소스에있는 데이터의 양이 증가하면 파일을로드하는 데 걸리는 시간도 늘어나 분석 프로세스가 느려집니다. 데이터를로드하는 데 걸리는이 시간을 최소화하는 한 가지 방법은 소스 또는 업데이트 된 레코드의 새 레코드 만로드하는 것입니다. 새 레코드 또는 변경된 레코드 만 소스에서 QlikView 문서로로드하는이 개념을Incremental Load.
소스에서 새 레코드를 식별하기 위해 순차 고유 키 또는 각 행에 대한 날짜 타임 스탬프를 사용합니다. 이러한 고유 키 또는 데이터 시간 필드 값은 소스 파일에서 QlikView 문서로 이동해야합니다.
소매점의 제품 세부 정보가 포함 된 다음 소스 파일을 고려해 보겠습니다. 이 파일을 QlikView에서 액세스 할 수있는 로컬 시스템에 .csv 파일로 저장합니다. 일정 기간 동안 더 많은 제품이 추가되고 일부 제품에 대한 설명이 변경됩니다.
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에 데이터로드
아래와 같이 Table Files 옵션을 선택하여 스크립트 편집기 (Ctrl + E)를 사용하여 위의 CSV 파일을로드합니다. 여기에서 데이터를 로컬 시스템의 QVD 파일에 저장합니다. QlikView 문서를 .qvw 파일로 저장합니다.
로드 된 데이터 확인.
QlikView 문서에로드 된 데이터를 확인할 수 있습니다. Table Box. 이것은 레이아웃 메뉴에서 사용할 수 있으며New Sheet Objects 하위 메뉴.
테이블 레이아웃 생성
선택시 Table Box시트 개체를 만들면 생성 할 테이블에서 열과 해당 위치를 선택하는 데 사용되는 다음 화면으로 이동합니다. 다음 열과 해당 위치를 선택하고 마침을 클릭합니다.
기존 데이터보기
이전 단계에서 배치 한 데이터를 보여주는 다음 차트가 나타납니다.
소스 데이터 업데이트
다음 세 개의 레코드를 원본 데이터에 추가하겠습니다. 여기서 제품 ID는 새 레코드를 나타내는 고유 번호입니다.
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 파일에로드 및 저장되는 새 레코드 만 가져옵니다. 새 제품 ID가 13, 14 및 15 인 레코드를 볼 수 있습니다.