Concatenate
Concatenate는 데이터 집합을 이미 존재하는 인 메모리 테이블에 추가할 수 있도록 하는 스크립트 로드 접두사입니다. 여러 트랜잭션 데이터 집합을 단일 중앙 팩트 테이블에 추가하거나 여러 소스에서 비롯된 특정 유형의 공통 참조 데이터 집합을 구축하는 데 자주 사용됩니다. 기능 면에서 SQL UNION 연산자와 유사합니다.
concatenate 작업의 결과 테이블에는 해당 테이블의 맨 아래에 추가된 새 데이터 행과 함께 원본 데이터 집합이 포함됩니다. 소스 및 대상 테이블에 다른 필드가 있을 수 있습니다. 필드가 다른 경우 결과 테이블은 소스 테이블과 대상 테이블에 있는 모든 필드의 결합된 결과를 나타내도록 확장됩니다.
구문:
Concatenate[ (tablename ) ] ( loadstatement | selectstatement )
인수 | 설명 |
---|---|
tablename | 기존 테이블의 이름입니다. 명명된 테이블이 Concatenate 작업의 대상이 되며 로드된 모든 데이터 레코드가 해당 테이블에 추가됩니다. tablename 매개 변수를 사용하지 않으면 대상 테이블은 이 명령문 이전에 마지막으로 로드된 테이블이 됩니다. |
loadstatement/selectstatement | tablename 인수 뒤에 오는 loadstatement/selectstatement 인수는 지정된 테이블에 연결됩니다. |
국가별 설정
달리 지정하지 않는 한 이 항목의 예에서는 다음 날짜 형식을 사용합니다. YYYY/MM/DD. 날짜 형식은 데이터 로드 스크립트의 SET DateFormat 문에 지정됩니다. 기본 날짜 형식은 지역 설정 및 기타 요인으로 인해 시스템에서 다를 수 있습니다. 아래 예의 형식을 요구 사항에 맞게 변경할 수 있습니다. 또는 이러한 예와 일치하도록 로드 스크립트의 형식을 변경할 수 있습니다.
앱의 기본 국가별 설정은 Qlik Sense가 설치된 컴퓨터 또는 서버의 국가별 시스템 설정을 기반으로 합니다. 액세스하는 Qlik Sense 서버가 스웨덴으로 설정된 경우 데이터 로드 편집기는 날짜, 시간 및 통화에 대해 스웨덴 지역 설정을 사용합니다. 이러한 국가별 형식 설정은 Qlik Sense 사용자 인터페이스에 표시되는 언어와 관련이 없습니다. Qlik Sense는 사용 중인 브라우저와 동일한 언어로 표시됩니다.
예 | 결과 |
---|---|
Concatenate(Transactions) Load …. ; | Concatenate 접두사 아래의 LOAD 문에 로드된 데이터는 Transactions라는 기존 인 메모리 테이블에 추가됩니다(로드 스크립트에서 이 지점 이전에 Transactions라는 테이블이 로드되었다고 가정). |
예 1 – Concatenate 로드 접두사를 사용하여 대상 테이블에 여러 데이터 집합 추가
개요
이 예에서는 두 개의 스크립트를 순차적으로 로드합니다.
-
첫 번째 로드 스크립트에는 Transactions라는 테이블로 전송되는 날짜와 금액이 포함된 초기 데이터 집합이 포함되어 있습니다.
-
두 번째 로드 스크립트에는 다음이 포함됩니다.
- Concatenate 접두사를 사용하여 초기 데이터 집합에 추가되는 두 번째 데이터 집합. 이 데이터 집합에는 초기 데이터 집합에 없는 추가 필드 type이 있습니다.
- Concatenate 접두사.
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
첫 번째 로드 스크립트
Transactions:
Load * Inline [
id, date, amount
3750, 08/30/2018, 23.56
3751, 09/07/2018, 556.31
3752, 09/16/2018, 5.75
3753, 09/22/2018, 125.00
3754, 09/22/2018, 484.21
3756, 09/22/2018, 59.18
3757, 09/23/2018, 177.42
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
-
id
-
date
-
amount
id | date | amount |
---|---|---|
3750 | 08/30/2018 | 23.56 |
3751 | 09/07/2018 | 556.31 |
3752 | 09/16/2018 | 5.75 |
3753 | 09/22/2018 | 125.00 |
3754 | 09/22/2018 | 484.21 |
3756 | 09/22/2018 | 59.18 |
3757 | 09/23/2018 | 177.42 |
테이블에서 초기 데이터 집합을 보여 줍니다.
두 번째 로드 스크립트
데이터 로드 편집기를 열고 아래에 로드 스크립트를 추가합니다.
Concatenate(Transactions)
Load * Inline [
id, date, amount, type
3758, 10/01/2018, 164.27, Internal
3759, 10/03/2018, 384.00, External
3760, 10/06/2018, 25.82, Internal
3761, 10/09/2018, 312.00, Internal
3762, 10/15/2018, 4.56, Internal
3763, 10/16/2018, 90.24, Internal
3764, 10/18/2018, 19.32, External
];
결과
데이터를 로드하고 시트로 이동합니다. 이 필드를 차원으로 만듭니다.
-
type
id | date | amount | type |
---|---|---|---|
3750 | 08/30/2018 | 23.56 | - |
3751 | 09/07/2018 | 556.31 | - |
3752 | 09/16/2018 | 5.75 | - |
3753 | 09/22/2018 | 125.00 | - |
3754 | 09/22/2018 | 484.21 | - |
3756 | 09/22/2018 | 59.18 | - |
3757 | 09/23/2018 | 177.42 | - |
3758 | 10/01/2018 | 164.27 | 내부 |
3759 | 10/03/2018 | 384.00 | 외부 |
3760 | 10/06/2018 | 25.82 | 내부 |
3761 | 10/09/2018 | 312.00 | 내부 |
3762 | 10/15/2018 | 4.56 | 내부 |
3763 | 10/16/2018 | 90.24 | 내부 |
3764 | 10/18/2018 | 19.32 | 외부 |
type이 정의되지 않고 로드된 처음 7개 레코드에 대한 type 필드의 null 값에 유의합니다.
예 2 – 암시적 연결을 사용하여 대상 테이블에 여러 데이터 집합 추가
개요
암시적으로 데이터를 추가하는 일반적인 사용 사례는 동일하게 구조화된 데이터의 여러 파일을 로드하고 대상 테이블에 모두 추가하려는 경우입니다.
예를 들어 다음과 같은 구문으로 파일 이름에 wildcards 사용:
myTable:
Load * from [myFile_*.qvd] (qvd);
또는 루프에서 다음과 같은 구조체 사용:
for each file in filelist('myFile_*.qvd')
myTable:
Load * from [$(file)] (qvd);
next file
이 예에서는 두 개의 스크립트를 순차적으로 로드합니다.
-
첫 번째 로드 스크립트에는 Transactions라는 테이블로 전송되는 4개의 필드가 있는 초기 데이터 집합이 포함되어 있습니다.
-
두 번째 로드 스크립트에는 첫 번째 데이터 집합과 동일한 필드가 있는 데이터 집합이 포함되어 있습니다.
데이터 로드 편집기를 열고 아래의 로드 스크립트를 새 탭에 추가합니다.
첫 번째 로드 스크립트
Transactions:
Load * Inline [
id, date, amount, type
3758, 10/01/2018, 164.27, Internal
3759, 10/03/2018, 384.00, External
3760, 10/06/2018, 25.82, Internal
3761, 10/09/2018, 312.00, Internal
3762, 10/15/2018, 4.56, Internal
3763, 10/16/2018, 90.24, Internal
3764, 10/18/2018, 19.32, External
];
결과
데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.
-
id
-
date
-
amount
-
type
id | date | type | amount |
---|---|---|---|
3758 | 10/01/2018 | 내부 | 164.27 |
3759 | 10/03/2018 | 외부 | 384.00 |
3760 | 10/06/2018 | 내부 | 25.82 |
3761 | 10/09/2018 | 내부 | 312.00 |
3762 | 10/15/2018 | 내부 | 4.56 |
3763 | 10/16/2018 | 내부 | 90.24 |
3764 | 10/18/2018 | 외부 | 19.32 |
테이블에서 초기 데이터 집합을 보여 줍니다.
두 번째 로드 스크립트
데이터 로드 편집기를 열고 아래에 로드 스크립트를 추가합니다.
Load * Inline [
id, date, amount, type
3765, 11/03/2018, 129.40, Internal
3766, 11/05/2018, 638.50, External
];
결과
데이터를 로드하고 시트로 이동합니다.
id | date | type | amount |
---|---|---|---|
3758 | 10/01/2018 | 내부 | 164.27 |
3759 | 10/03/2018 | 외부 | 384.00 |
3760 | 10/06/2018 | 내부 | 25.82 |
3761 | 10/09/2018 | 내부 | 312.00 |
3762 | 10/15/2018 | 내부 | 4.56 |
3763 | 10/16/2018 | 내부 | 90.24 |
3764 | 10/18/2018 | 외부 | 19.32 |
3765 | 11/03/2018 | 내부 | 129.40 |
3766 | 11/05/2018 | 외부 | 638.50 |
두 번째 데이터 집합은 동일한 필드를 가지고 있기 때문에 초기 데이터 집합에 암시적으로 연결되었습니다.