선행 LOAD

선행 LOAD 기능을 사용하면 한 단계로 테이블을 로드할 수 있지만 여러 번의 연속된 변환을 정의해야 합니다. 일반적으로 사용하는 From 또는 Resident 등의 소스 한정자를 지정하지 않고 기본적으로 아래의 LOAD 또는 SELECT 문에서 로드하는 LOAD 문입니다. 이 방법으로 원하는 수만큼 LOAD 문을 누적할 수 있습니다. 맨 아래의 문을 처음으로 평가한 다음 그 위의 문을 평가하는 방식으로 맨 위의 문이 평가될 때까지 계속 진행됩니다.

Resident를 사용하여 동일한 결과를 얻을 수 있지만 대부분의 경우 선행 LOAD가 훨씬 빠릅니다.

선행 로드의 또 다른 장점은 한 곳에서 계산을 유지할 수 있으며, 위에 배치된 LOAD 문에서 재사용할 수 있습니다.

참고: Join, CrosstableIntervalmatch 접두사는 선행 LOAD와 연결하여 사용할 수 없습니다.

예 1: SELECT 문으로 로드한 데이터 변환

SELECT 문을 사용하여 데이터베이스에서 데이터를 로드하면 QlikView 함수를 사용하여 SELECT 문에서 데이터를 해석할 수 없습니다. 해결책은 LOAD 문을 추가하여 SELECT 문 위에서 데이터 변환을 수행하는 것입니다.

이 예에서는 LOAD 문에서 QlikView 함수 Date#를 사용하여 문자열로, 이전 SELECT 문을 사용하여 소스로 저장한 날짜를 해석합니다.

LOAD Date#(OrderDate,’YYYYMMDD’) as OrderDate;
SQL SELECT OrderDate FROM … ;

예 2: 계산을 재사용하여 스크립트 간소화

이 예의 경우, 스크립트에서 계산을 두 번 이상 사용합니다.

LOAD ..., Age( FromDate + IterNo() – 1, BirthDate ) as Age, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;

첫 번째 단계에서 계산을 도입하면 선행 LOAD의 Age 함수에서 재사용할 수 있습니다.

LOAD ..., ReferenceDate, Age( ReferenceDate, BirthDate ) as Age; LOAD *, Date( FromDate + IterNo() – 1 ) as ReferenceDate Resident Policies While IterNo() <= ToDate - FromDate + 1 ;