Word Cloud를 사용하기 위하여 다음 단계의 작업을 수행합니다.
l 문자열을 단어 단위로 분리한다.
l 분리된 단어에서 특수 문자 등 제거 대상의 문자 제거
l 제외할 단어 리스트를 선언하여 단어 제거
l 단어에서 '은는이가을를과' 등 제거
l Word Cloud 차트 생성
다음 예제는 2023년 윤석열 대통령의 국회 시정 연설문 일부입니다. 교육을 위하여 일부 가공했습니다.
정제 전 문자열 문장에 특수 문자가 포함되어 있습니다. 1, 2 라인을 확인합니다.
데이터 로드편집기에서 제거할 특수문자를 정의하고 정제 후 문자열을 작성합니다.
정제할 특수문자를 정제문자 테이블에 Mapping 테이블로 선언하고 MapSubString 함수를 이용하여 정제한 결과입니다.
MapSubstring 스크립트 함수는 이전에 로드된 매핑 테이블에 표현식의 일부를 매핑하는 데 사용됩니다. 매핑은 대/소문자가 구분되고 반복적이지 않으며, 부분 문자열은 왼쪽에서 오른쪽으로 매핑 됩니다.
정제 후 문자열을 단어 단위로 분리하여 Word cloud 차트를 생성합니다. 단어를 분리하는 기준은 스페이스를 기준으로 합니다. 로드 편집기에서 SubField 함수를 이용하면 단어를 분리할 수 있습니다.
결과를 Word Cloud 차트를 이용하여 생성합니다.
시트 -> 사용자 지정 개체 -> Word Cloud Chart를 생성합니다.
차원 : 단어
측정값 : 단어를 선택 후 Count(단어) 선택
차트가 생성됩니다.
전문을 Word Cloud 차트로 작성한 결과입니다.
전체 스크립트 문입니다.
시정 연설문 전체를 적재합니다. 본 교재는 상위 일부 라인만 표시하였습니다.
연설문 이전에 정제문자를 선언합니다. 실제 정제문자는 더 추가합니다.
최종 단계입니다.
문자열 함수 사용 예제
기본 예제 데이터 구조입니다.
PurgeChar()은 입력문자(예제문자)에서 두 번째 인수('제거문자')에 나타나는 문자를 제외한 문자열을 반환합니다.
예제에서는 특수문자를 제거합니다.
TextBetween()은 구분자 기호로 지정된 문자 사이에서 발견되는 입력 문자열을 반환합니다.
TextBetween(입력문자, 구분자1, 구분자2[, n])
n은 발생 위치를 정의합니다. 기본값은 첫번째
예제는 괄호안의 문자를 반환합니다.
SubField()는 입력 문자열에서 구분 기호로 분리된 문자열을 추출하는 데 사용됩니다.
예제는 '/' 문자를 구분하여 문자열을 반환합니다. 1은 위치로 첫번째입니다. 만약에 문자가 없으면 전체가 첫번째입니다.
스크립트 LOAD 문에서 옵션 field_no 파라메타를 생략하고 Subfield() 함수를 사용하면 각 부분 문자열에 대해 전체 레코드 하나가 생성됩니다. Subfield()를 사용하여 여러 필드를 로드하는 경우는 모든 조합의 카티션 곱이 생성됩니다.
전체 문장을 단어로 분리할 경우 SubField(연설문, ‘ ‘) 문으로 사용합니다. 옵션 field_no를 생략하였습니다. 스페이스를 기준으로 모든 단어를 각각의 필드로 생성합니다.
사용 예제입니다.
Replace()는 입력 문자열에서 첫번째 인수의 문자를 두번째 인수의 문자열로 변경합니다.
이 함수는 비재귀적이며 왼쪽에서 오른쪽으로 작동합니다.
예제는 2번째 라인에서 '/' 문자를 '+' 문자로 변경합니다.
KeepChar()은 입력문자열에서 두번째인수에 포함된 문자열을 반환합니다.
즉 나머지 문자는 제거합니다.
예제는 예제문자에서 숫자만 반환합니다.
Repeat()는 첫번째 문자를 두 번째 인수로 정의된 횟수 만큼 반복한 문자열을 만듭니다.
Chr()은 입력된 정수에 해당하는 Unicode 문자를 반환합니다.
예제 Repeat(Chr(8192), 5) 문에서 Chr(8192)는 스페이스를 의미합니다.
이외에 자주 사용하는 문자열 함수로 Left, Mid, Right, Trim, Ltrim, Rtrim, Upper, Lower , Index 등이 있습니다.
Chr() 함수 이용 예제
막대차트 가로형에서 차원의 이름 짤림 현상 발생할 수 있습니다.
차원 명칭에 Repeat함수를 이용하여 변경합니다.
=[본부] & Repeat(Chr(32), 5) 지정하여 해결함
테이블 차트 및 피벗 테이블에서 레이블을 줄바꿈을 할 수 있습니다.
='판매' & Chr(10) & '본부'
Chr(10)은 줄바꿈 유니코드입니다.
Unicode 예제
1. 테이블 차트 생성
2. 차원에 =ValueLoop(1,1000) 입력
3. 측정값에 chr(RowNo())
For more information
https://qliksense.tistory.com/
Qliker
'Qlik Sense 개발가이드' 카테고리의 다른 글
Qlik Sense에서 KMeans 적용사례 (0) | 2024.02.25 |
---|---|
데이터 관리자를 이용한 데이터 적재 (0) | 2023.11.30 |
클릭센스 데이터 정제 (중복 레코드 제거) (1) | 2023.11.29 |
클릭센스 피벗테이블에서 줄 바꿈 (0) | 2023.11.12 |
Qlik Sense IntervalMatch (날짜간격에 조인) (1) | 2023.11.04 |