Qlik 스크립트 프로세서
Qlik 스크립트를 사용하여 입력을 생성하거나 변환합니다.
Qlik 스크립트 프로세서를 사용하면 텍스트 편집기에 Qlik 스크립트를 직접 입력하여 데이터를 준비하거나 입력으로 사용할 때 데이터를 로드할 수 있습니다. 고급 사용자를 대상으로 하며, 테이블을 조작할 때 특정 작업을 수동으로 코딩하는 것을 선호하는 경우 전체 Qlik 구문의 이점을 누릴 수 있습니다.
사용법
-
데이터 흐름에서 스크립트 프로세서를 사용하려면 편집기에 추가하는 코드가 수신 데이터의 스키마 및 이 시점까지 수행된 준비 작업과 일치해야 합니다. 또한 스크립트는 특정 규칙을 따라야 합니다.
-
입력 흐름에서 오는 테이블을 사용하려면 스크립트에 resident 문이 포함되어야 합니다.
resident tablename자세한 내용은 Load를 참조하십시오.
-
NoConcatenate 문을 포함해야 합니다.
NoConcatenate LOAD A,B자세한 내용은 NoConcatenate를 참조하십시오.
-
수행하려는 특정 작업에 대한 스크립트를 추가한 후에는 수신 테이블을 삭제하고 생성된 출력만 유지하기 위해 끝에 drop table 문을 포함해야 합니다.
drop table tablename자세한 내용은 Drop table을 참조하십시오.
- 프로세서를 입력 노드로 사용할 때 두 개의 서로 다른 테이블을 로드하기 위해 최대 두 개의 출력 흐름을 가질 수 있습니다.
- 프로세서를 중간 노드로 사용할 때 여러 입력 흐름과 최대 두 개의 출력 흐름을 가질 수 있습니다.
- 데이터 흐름에서 최대 50개의 Qlik 스크립트 프로세서를 사용할 수 있습니다.
속성
| 속성 | 구성 |
|---|---|
| 스크립트 |
필수 문이 포함된 다음 자리 표시자가 있는 텍스트 편집기에 Qlik 스크립트를 입력합니다. 입력 테이블의 이름은 스크립트 편집기 위에 나열됩니다. 프로세서에 연결된 입력에 해당합니다. 테이블 이름을 클릭하여 스크립트에 직접 삽입합니다. |
프로세서의 이름을 바꾸거나 설명을 편집하려면 속성 패널에서 변경할 이름이나 설명 위로 마우스를 가져간 다음 편집 아이콘을 클릭합니다.
요약 보기 사용
오른쪽 패널에서 전체 편집기를 열지 않고도 프로세서를 빠르게 업데이트할 수 있습니다. 다음을 수행할 수 있습니다.
-
스크립트에 직접 텍스트를 입력합니다.
-
입력 테이블 아래에서 입력 테이블을 클릭하여 스크립트에 추가합니다.
더 많은 옵션과 고급 기능을 보려면 스크립트 편집기를 엽니다. 스크립트 편집기 사용를 참조하십시오.
스크립트 편집기 사용
구성 패널에서 편집기 열기 버튼을 클릭하면 Qlik 스크립트를 작성하는 데 도움이 되는 강력한 스크립트 편집기가 열립니다. 테이블, 필드 이름 또는 함수를 쉽게 삽입하고, 설명서를 열고, 스크립트를 삽입하고, 스크립트의 유효성을 확인할 수 있습니다.
왼쪽 패널에서는 현재 데이터 흐름에 로드된 테이블과 필드를 보고 다양한 Qlik 스크립트 함수를 찾아볼 수 있습니다. 이 패널은 세 개의 탭으로 구성됩니다.
-
흐름에 로드된 테이블이 나열되는 테이블. 테이블 이름 위로 마우스를 가져간 다음 +를 클릭하여 스크립트에 직접 삽입합니다.
-
흐름의 이 시점에서 사용할 수 있는 필드가 나열되는 필드. 필드 이름 위로 마우스를 가져간 다음 +를 클릭하여 표현식에 직접 삽입합니다.
-
Qlik 함수를 찾아볼 수 있는 함수. 검색 필드를 사용하여 특정 함수를 찾거나 함수 범주 드롭다운을 사용하여 필터링할 수 있습니다.
함수 위로 마우스를 가져간 다음 +를 클릭하여 표현식에 직접 삽입합니다.
-
설명 가이드 토글을 선택하면 함수를 클릭할 때 짧은 설명과 설명서에 대한 링크가 표시됩니다.
-
상단 패널에서는 스크립트를 작성하는 동안 도움을 주고 안내하는 세 가지 도구를 활성화 또는 비활성화하고, 바로 가기를 사용하여 다른 파일의 스크립트를 삽입하고, 실행 취소 및 다시 실행 버튼을 사용하여 잠재적인 실수를 수정할 수 있습니다.
-
특정 값을 자동으로 찾고 필요한 경우 바꾸는 검색 및 바꾸기.
-
스크립트에 작성한 모든 함수를 설명서로 이동하는 클릭 가능한 링크로 바꾸는 도움말 모드.
-
입력할 때 함수의 짧은 설명 및 예제와 함께 제안을 표시하는 자동 완성.
-
스크립트를 삽입하는 스크립트 포함. 로드 스크립트에 다른 스크립트 삽입를 참조하십시오.
하단 패널에는 잘못된 필드 이름이나 유효하지 않은 표현식과 같은 스크립트의 잠재적인 오류가 설명되어 있습니다.
상태 패널에 녹색 확인이 표시되면 스크립트가 유효한 것입니다. 확인을 클릭하여 Qlik 스크립트 프로세서에 이 스크립트를 사용하고 데이터 흐름 편집기로 돌아갑니다. 그런 다음 프로세서 구성의 유효성을 검사할 수 있습니다.
예
-
동일한 스키마를 가진 여러 테이블을 흐름의 하나의 입력으로 로드합니다. 이 예에서는 카탈로그에서 필드는 같지만 내용이 다른 두 개의 .txt 파일을 사용합니다. 또한 이 표현식은 어떤 데이터가 어떤 테이블에서 왔는지 추적하는 필드를 추가하고 정수를 ID 번호로 생성합니다.
[MyTable_1]: LOAD 'table1' as source_table, [firstname], [lastname], [nationality] FROM [lib://DataFiles/MyTable_1.txt] (txt, codepage is 28591, embedded labels, delimiter is ',', msq); [MyTable_2]: CONCATENATE (MyTable_1) LOAD 'table2' as source_table, [firstname], [lastname], [nationality] FROM [lib://DataFiles/MyTable_2.txt] (txt, codepage is 28591, embedded labels, delimiter is ',', msq); [NewTable]: LOAD recno() as id, * RESIDENT MyTable_1; drop table MyTable_1;자세한 내용은 Concatenate를 참조하십시오.
-
흐름의 입력으로 편집 가능한 데이터가 있는 인라인 테이블을 만듭니다.
MyTable: Load * Inline [ Country, Year, Sales Argentina, 2014, 66295.03 Argentina, 2015, 140037.89 Austria, 2014, 54166.09 Austria, 205,182739.87 ];자세한 내용은 Using inline loads to load data.를 참조하십시오.
-
폴더의 모든 파일을 흐름의 입력으로 로드합니다. 이 예에서는 폴더에서 지정된 확장자를 가진 모든 파일을 반복하고 단일 테이블로 로드합니다. 데이터 연결 이름과 폴더 경로를 고유한 값으로 바꾸고 필요에 따라 파일 확장자 및 형식 설정을 조정합니다.
SET vFolderPath = 'lib://YourDataConnection/FolderName'; FOR EACH vFile IN filelist('$(vFolderPath)/*.csv') LOAD * FROM [$(vFile)] (txt, utf8, embedded labels, delimiter is ','); NEXT자세한 내용은 For each..next를 참조하십시오.
스크립트 표현식의 더 많은 예는 Regular statements 및 Script and chart functions를 참조하십시오.