mixmatch - 스크립트 및 차트 함수
mixmatch 함수는 첫 번째 파라메타를 이후의 모든 파라메타와 비교하여 일치하는 표현식의 수 위치를 반환합니다. 대/소문자는 구분되지 않습니다.
구문:
mixmatch( str, expr1 [ , expr2,...exprN ])
대신 대/소문자를 구분하는 비교를 사용하려면 match 함수를 사용하십시오. 대/소문자를 구분하지 않는 비교 및 와일드카드를 사용하려면 wildmatch 함수를 사용하십시오.
이 항목의 일부 예에서는 인라인 로드를 사용합니다. 인라인 로드
예 - mixmatch를 사용한 로드 스크립트
로드 스크립트
mixmatch를 사용하여 데이터 하위 집합을 로드할 수 있습니다. 예를 들어 함수의 표현식에 대해 숫자 값을 반환할 수 있습니다. 그런 다음 숫자 값에 따라 로드된 데이터를 제한할 수 있습니다. 일치하는 값이 없는 경우 Mixmatch가 0을 반환합니다. 그러므로 이 예에서 일치되지 않는 모든 표현식은 0을 반환하고 WHERE 문에 따라 데이터 로드에서 제외됩니다.
데이터 로드 편집기에서 새 탭을 만든 후 다음 데이터를 인라인 로드로 로드합니다. 결과를 보려면 Qlik Sense에서 아래 테이블을 만듭니다.
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 - Black, Blue, blue Load Transactions table. Mixmatch returns 1 for 'Black', 2 for 'Blue'. Also returns 3 for 'blue' because mixmatch is not case sensitive. Only values that returned numeric value greater than 0 are loaded by WHERE statement into Transactions_Buckets table. */ Transaction_Buckets: Load customer_id, customer_id as [Customer], color_code as [Color Code - Black, Blue, blue] Resident Transactions Where mixmatch(color_code,'Black','Blue') > 0;
결과
Color Code Black, Blue, blue | Customer |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
Blue | 5646471 |
예 - mixmatch를 사용한 차트 표현식
데이터 로드 편집기에서 새 탭을 만든 후 다음 데이터를 인라인 로드로 로드합니다. 데이터를 로드한 후 아래의 차트 표현식 예를 Qlik Sense 테이블에 만듭니다.
차트 표현식 1
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'이 mixmatch 함수의 표현식 목록에 포함되어 있지 않기 때문에 Stockholm에 대해 0을 반환합니다. mixmatch 비교는 대/소문자를 구분하지 못하기 때문에 'Zurich'의 경우 4를 반환합니다.
Cities | mixmatch( Cities,'Toronto','Boston','Beijing','Zurich') | mixmatch( Cities,'Toronto','Boston','Beijing','Stockholm','Zurich') |
---|---|---|
Beijing |
3 |
3 |
Boston | 2 | 2 |
Stockholm | 0 | 4 |
Toronto | 1 | 1 |
zurich | 4 | 5 |
차트 표현식 2
사용자 지정 정렬 표현식을 수행하는 데 mixmatch를 사용할 수 있습니다.
기본적으로 열은 데이터에 따라 사전순 또는 숫자순으로 정렬됩니다.
Cities |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
순서를 변경하려면 다음을 수행합니다.
- 속성 패널에서 차트에 대해 정렬 섹션을 엽니다.
- 사용자 지정 정렬을 수행하려는 열에 대해 자동 정렬을 끕니다.
- 숫자순 정렬 및 사전순 정렬을 선택 취소합니다.
-
정렬 표현식을 선택하고 다음 표현식을 입력합니다.
=mixmatch( Cities, 'Toronto','Boston','Beijing','Stockholm','Zurich')
Cities 열의 정렬 순서가 변경됩니다.
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
또한 반환되는 숫자 값을 볼 수도 있습니다.
도시 | Cities & ' - ' & mixmatch ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','Zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm - 4 |
zurich | zurich - 5 |