match - 스크립트 및 차트 함수
match 함수는 첫 번째 파라메타를 이후의 모든 파라메타와 비교하여 일치하는 표현식의 수 위치를 반환합니다. 대/소문자가 구분됩니다.
구문:
match( str, expr1 [ , expr2,...exprN ])
이 항목의 일부 예에서는 인라인 로드를 사용합니다. 인라인 로드를 사용하여 데이터 로드
예: match를 사용한 로드 스크립트
로드 스크립트
match를 사용하여 데이터 하위 집합을 로드할 수 있습니다. 예를 들어 함수의 표현식에 대해 숫자 값을 반환할 수 있습니다. 그런 다음 숫자 값에 따라 로드된 데이터를 제한할 수 있습니다. 일치하는 값이 없는 경우 Match가 0을 반환합니다. 그러므로 이 예에서 일치되지 않는 모든 표현식은 0을 반환하고 WHERE 문에 따라 데이터 로드에서 제외됩니다.
데이터 로드 편집기에서 새 탭을 만든 후 다음 데이터를 인라인 로드로 로드합니다. 결과를 보려면 Qlik Sense에서 아래 테이블을 만듭니다.
Transactions:
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, m, orange
3752, 20180916, 5.75, 1, 5646471, S, blue
3753, 20180922, 125.00, 7, 3036491, l, Black
3754, 20180922, 484.21, 13, 049681, xs, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
];
/*
Create new table called Transaction_Buckets
Create new fields called Customer, and Color code - Blue and Black
Load Transactions table.
Match returns 1 for 'Blue', 2 for 'Black'.
Does not return a value for 'blue' because match is case sensitive.
Only values that returned numeric value greater than 0
are loaded by WHERE statment into Transactions_Buckets table.
*/
Transaction_Buckets:
Load
customer_id,
customer_id as [Customer],
color_code as [Color Code Blue and Black]
Resident Transactions
Where match(color_code,'Blue','Black') > 0;
결과
Color Code Blue and Black | Customer |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
예 - match를 사용한 차트 표현식
차트 표현식 1
로드 스크립트
데이터 로드 편집기에서 새 탭을 만든 후 다음 데이터를 인라인 로드로 로드합니다. 데이터를 로드한 후 아래의 차트 표현식 예를 Qlik Sense 테이블에 만듭니다.
MyTable:
Load * inline [Cities, Count
Toronto, 123
Toronto, 234
Toronto, 231
Boston, 32
Boston, 23
Boston, 1341
Beijing, 234
Beijing, 45
Beijing, 235
Stockholm, 938
Stockholm, 39
Stockholm, 189
zurich, 2342
zurich, 9033
zurich, 0039];
아래 테이블의 첫 번째 표현식은 'Stockholm'이 match 함수의 표현식 목록에 포함되어 있지 않기 때문에 Stockholm에 대해 0을 반환합니다. 또한 match 비교는 대/소문자를 구분하기 때문에 'Zurich'의 경우 0을 반환합니다.
Cities | match( Cities,'Toronto','Boston','Beijing','Zurich') | match( Cities,'Toronto','Boston','Beijing','Stockholm','zurich') |
---|---|---|
Beijing | 3 | 3 |
Boston | 2 | 2 |
Stockholm | 0 | 4 |
Toronto | 1 | 1 |
zurich | 0 | 5 |
차트 표현식 2
사용자 지정 정렬 표현식을 수행하는 데 match를 사용할 수 있습니다.
기본적으로 열은 데이터에 따라 숫자순 또는 사전순으로 정렬됩니다.
Cities |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
순서를 변경하려면 다음을 수행합니다.
- 속성 패널에서 차트에 대해 정렬 섹션을 엽니다.
- 사용자 지정 정렬을 수행하려는 열에 대해 자동 정렬을 끕니다.
- 숫자순 정렬 및 사전순 정렬을 선택 취소합니다.
-
정렬 표현식을 선택하고 다음과 유사한 표현식을 입력합니다.
=match( Cities, 'Toronto','Boston','Beijing','Stockholm','zurich')
Cities 열의 정렬 순서가 변경됩니다.
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
또한 반환되는 숫자 값을 볼 수도 있습니다.
도시 | Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm - 4 |
zurich | zurich - 5 |