Keep
keep 접두사는 join 접두사와 비슷합니다. join 접두사와 마찬가지로 로드한 테이블을 기존의 명명된 테이블이나 최근에 생성한 데이터 테이블과 비교합니다. 그러나 로드한 테이블을 기존 테이블과 조인하는 것이 아니라 QlikView에 저장하기 전에 테이블 데이터의 교집합을 기준으로 둘 중 한 테이블 또는 두 테이블을 모두 축소하는 효과가 있습니다. 비교는 해당하는 조인을 수행할 때와 마찬가지로 모든 공통 필드에 대한 자연 조인과 동일하게 수행됩니다. 그러나 두 테이블은 조인되지 않으며 QlikView에 별도의 명명된 두 테이블로 유지됩니다.
구문:
(inner | left | right) keep [(tablename ) ]( loadstatement | selectstatement )
keep 접두사 앞에는 inner, left 또는 right 접두사 중 하나가 와야 합니다.
QlikView 스크립트 언어에서 명시적인 join 접두사는 두 테이블의 완전 조인을 수행합니다. 결과는 한 테이블입니다. 이러한 조인의 결과로 매우 큰 테이블이 만들어지는 경우가 많습니다. QlikView의 주요 기능 중에는 여러 테이블을 조인하는 대신 테이블을 연결하여 메모리 사용량 대폭 축소, 처리 속도 향상, 그리고 엄청난 유연성 향상을 제공하는 기능이 있습니다. 따라서 명시적 조인은 QlikView 스크립트에서 일반적으로 피하는 것이 바람직합니다. keep 기능은 명시적 조인을 사용해야 하는 경우의 수를 줄이기 위해 설계되었습니다.
인수:
인수 | 설명 |
---|---|
tablename | 로드된 테이블과 비교할 명명된 테이블입니다. |
loadstatement 또는 selectstatement | 로드된 테이블의 LOAD 또는 SELECT 문. |
Inner Keep LOAD * from abc.csv;
Left Keep SELECT * from table1;
tab1:
LOAD * from file1.csv;
tab2:
LOAD * from file2.csv;
.. .. ..
Left Keep (tab1) LOAD * from file3.csv;