스크립트 접두사
접두사는 해당되는 정규 문에는 적용할 수 있지만 제어 문에는 적용할 수 없습니다. 하지만 when 및 unless 접두사는 소수의 특정 제어 문 절에서 접미사로 사용할 수 있습니다.
모든 스크립트 키워드는 소문자와 대문자를 원하는 대로 조합하여 입력할 수 있습니다. 하지만 문에 사용되는 필드 및 변수 이름은 대/소문자가 구분됩니다.
각 함수에 대한 간단한 설명과 구문을 보려면 각 함수에서 드롭다운을 사용하십시오. 자세한 내용은 구문 설명에서 해당 함수 이름을 클릭하십시오.
QVD 파일은 buffer 접두사를 통해 자동으로 생성 및 유지 관리할 수 있습니다. 이 접두사는 스크립트에서 대부분의 LOAD 및 SELECT 문에 사용할 수 있습니다. 이 접두사는 해당 문의 결과를 캐시/버퍼링하는 데 QVD 파일을 사용하도록 지정합니다.
Buffer[(option [ , option])] ( loadstatement | selectstatement )
option::= incremental | stale [after] amount [(days | hours)]
서로 다른 필드 집합을 가진 두 테이블을 연결하는 경우 Concatenate 접두사를 사용하여 두 테이블의 연결을 강제로 적용할 수 있습니다.
concatenate[ (tablename ) ] ( loadstatement | selectstatement )
crosstable 로드 접두사는 "교차 표" 또는 "피벗 테이블" 구조화된 데이터를 바꾸는 데 사용됩니다. 이러한 방식으로 구조화된 데이터는 스프레드시트 소스로 작업할 때 일반적으로 발생합니다. crosstable 로드 접두사의 출력 및 목표는 이러한 구조를 일반 열 지향 테이블에 해당하는 것으로 바꾸는 것입니다. 이 구조는 일반적으로 Qlik Sense의 분석에 더 적합하기 때문입니다.
crosstable (attribute field name, data field name [ , n ] ) ( loadstatement | selectstatement )
LOAD 또는 SELECT (SQL) 문의 First 접두사는 데이터 소스 테이블에서 최대 수의 레코드 집합을 로드하는 데 사용됩니다.
First n( loadstatement | selectstatement )
Generic 로드 접두사는 엔터티-특성-값 모델링 데이터(EAV)를 기존의 정규화된 관계형 테이블 구조로 변환할 수 있도록 합니다. EAV 모델링은 "일반 데이터 모델링" 또는 "개방형 스키마"라고도 합니다.
Generic ( loadstatement | selectstatement )
hierarchy 접두사는 부모-자식 계층 구조 테이블을 Qlik Sense 데이터 모델에서 유용한 테이블로 변환하는 데 사용됩니다. 이 접두사는 LOAD 또는 SELECT 문 앞에 넣을 수 있으며 로드 문의 결과를 입력으로 사용하여 테이블 변환을 수행합니다.
Hierarchy (NodeID, ParentID, NodeName, [ParentName], [PathSource], [PathName], [PathDelimiter], [Depth])(loadstatement | selectstatement)
이 접두사는 부모-자식 계층 구조 테이블을 Qlik Sense 데이터 모델에서 유용한 테이블로 변환하는 데 사용됩니다. 이 접두사는 LOAD 또는 SELECT 문 앞에 넣을 수 있으며 로드 문의 결과를 입력으로 사용하여 테이블 변환을 수행합니다.
HierarchyBelongsTo (NodeID, ParentID, NodeName, AncestorID, AncestorName, [DepthDiff])(loadstatement | selectstatement)
join 및 keep 접두사 앞에 inner 접두사를 사용할 수 있습니다.
join 앞에 사용할 경우 내부 조인을 사용하도록 지정됩니다. 따라서 결과 테이블은 원시 데이터 테이블의 필드 값 조합을 포함하며 연결 필드 값은 두 테이블 모두에 표시됩니다. keep 앞에 사용할 경우 Qlik Sense에 저장되기 전에 두 원시 데이터 테이블을 공통 교집합으로 축소하도록 지정합니다.
.Inner ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
IntervalMatch 접두사는 불연속 숫자 값과 하나 이상의 숫자 간격을 연결하며, 선택적으로 하나 이상의 추가 키의 값을 연결하는 테이블을 만드는 데 사용됩니다.
IntervalMatch (matchfield)(loadstatement | selectstatement )
IntervalMatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )
join 접두사는 로드한 테이블을 기존의 명명된 테이블이나 마지막으로 생성한 데이터 테이블과 조인합니다.
[Inner | Outer | Left | Right ] Join [ (tablename ) ]( loadstatement | selectstatement )
keep 접두사는 join 접두사와 비슷합니다. join 접두사와 마찬가지로 로드된 테이블을 기존의 명명된 테이블이나 최근에 생성한 데이터 테이블과 비교합니다. 그러나 로드된 테이블을 기존 테이블과 조인하는 것이 아니라 Qlik Sense에 저장하기 전에 테이블 데이터의 교집합을 기준으로 둘 중 한 테이블 또는 두 테이블을 모두 축소하는 효과가 있습니다. 비교는 해당하는 조인을 수행할 때와 마찬가지로 모든 공통 필드에 대한 자연 조인과 동일하게 수행됩니다. 그러나 두 테이블은 조인되지 않으며 Qlik Sense에 별도의 명명된 두 테이블로 유지됩니다.
(Inner | Left | Right) Keep [(tablename ) ]( loadstatement | selectstatement )
Join 및 Keep 접두사 앞에 left 접두사를 사용할 수 있습니다.
join 앞에 사용할 경우 왼쪽 조인을 사용하도록 지정됩니다. 결과 테이블은 원시 데이터 테이블의 필드 값 조합만을 포함하며 연결 필드 값은 첫 번째 테이블에 표시됩니다. keep 앞에 사용할 경우 Qlik Sense에 저장되기 전에 두 번째 원시 데이터 테이블을 첫 번째 테이블과의 공통 교집합으로 축소하도록 지정됩니다.
Left ( Join | Keep) [ (tablename) ](loadstatement |selectstatement )
mapping 접두사는 스크립트 실행 중 필드 값과 필드 이름을 교체하는 등의 용도로 사용할 수 있는 매핑 테이블을 만드는 데 사용됩니다.
Mapping ( loadstatement | selectstatement )
Merge 접두사를 스크립트의 LOAD 또는 SELECT 문에 추가하여 로드된 테이블을 다른 테이블에 병합하도록 지정할 수 있습니다. 또한 이 문을 부분 로드에서 실행하도록 지정합니다.
Merge [only] [(SequenceNoField [, SequenceNoVar])] On ListOfKeys [Concatenate [(TableName)]] (loadstatement | selectstatement)
NoConcatenate 접두사를 사용하면 동일한 필드 집합을 포함한 두 개의 로드된 테이블이 두 개의 개별 내부 테이블로 처리됩니다. 그렇지 않은 경우 이 테이블은 자동으로 연결됩니다.
NoConcatenate( loadstatement | selectstatement )
명시적인 Join 접두사 앞에 Outer 접두사를 사용하여 외부 조인을 지정할 수 있습니다. 외부 조인 시 두 테이블 간의 모든 조합이 생성됩니다. 따라서 결과 테이블은 원시 데이터 테이블의 필드 값 조합을 포함하며 연결 필드 값은 한 테이블이나 두 테이블 모두에 표시됩니다. Outer 키워드는 옵션이며 join 접두사를 지정하지 않을 경우 사용되는 기본 조인 유형입니다.
Outer Join [ (tablename) ](loadstatement |selectstatement )
전체 로드는 항상 기존 데이터 모델의 모든 테이블을 삭제하여 시작한 다음 로드 스크립트를 실행합니다.
부분 로드는 이 작업을 수행하지 않습니다. 대신 데이터 모델의 모든 테이블을 유지한 다음 앞에 Add, Merge 또는 Replace 접두사가 붙은 Load 및 Select 문만 실행합니다. 다른 데이터 테이블은 명령의 영향을 받지 않습니다. only 인수는 문이 부분 로드 중에만 실행되어야 하며 전체 로드 중에는 무시되어야 함을 나타냅니다. 다음 테이블에는 부분 및 전체 로드에 대한 문 실행이 요약되어 있습니다.
Join 및 Keep 접두사 앞에 right 접두사를 사용할 수 있습니다.
join 앞에 사용할 경우 오른쪽 조인을 사용하도록 지정됩니다. 결과 테이블은 원시 데이터 테이블의 필드 값 조합만을 포함하며 연결 필드 값은 두 번째 테이블에 표시됩니다. keep 앞에 사용할 경우 Qlik Sense에 저장되기 전에 첫 번째 원시 데이터 테이블을 두 번째 테이블과의 공통 교집합으로 축소하도록 지정됩니다.
Right (Join | Keep) [(tablename)](loadstatement |selectstatement )
LOAD 또는 SELECT 문의 sample 접두사는 데이터 소스에서 무작위 레코드 샘플을 로드하는 데 사용됩니다.
Sample p ( loadstatement | selectstatement )
레코드 간의 관계가 포함된 테이블은 semantic 접두사를 통해 로드할 수 있습니다. 예를 들어, 테이블 내에서 자체 참조될 수 있으며, 한 레코드가 부모 등의 다른 레코드 또는 선행자를 가리키거나 속할 수 있습니다.
Semantic ( loadstatement | selectstatement)
unless 접두사 및 접미사는 문 또는 exit 절을 평가할지 여부를 결정하는 조건절을 만드는 데 사용됩니다. 전체 if..end if 문의 간단한 대체 옵션으로 사용되는 경우도 있습니다.
(Unless condition statement | exitstatement Unless condition )
when 접두사 및 접미사는 문 또는 exit 절을 실행할지 여부를 결정하는 조건절을 만드는 데 사용됩니다. 전체 if..end if 문의 간단한 대체 옵션으로 사용되는 경우도 있습니다.
( When condition statement | exitstatement when condition )