mixmatch - 스크립트 및 차트 함수
mixmatch 함수는 첫 번째 파라메타를 이후의 모든 파라메타와 비교하여 일치하는 표현식의 수 위치를 반환합니다. 대/소문자는 구분되지 않습니다.
Syntax:
mixmatch( str, expr1 [ , expr2,...exprN ])
아래 테이블의 첫 번째 표현식은 'Stockholm'이 mixmatch 함수의 표현식 목록에 포함되어 있지 않기 때문에 Stockholm에 대해 0을 반환합니다. mixmatch 비교는 대/소문자를 구분하지 못하기 때문에 'Zurich'의 경우 4를 반환합니다.
도시 | 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 |
사용자 지정 정렬 표현식을 수행하는 데 mixmatch를 사용할 수 있습니다.
기본적으로 열은 데이터에 따라 숫자순 또는 사전순으로 정렬됩니다.
도시 |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
순서를 변경하려면 다음을 수행합니다.
- 속성 패널에서 차트에 대해 정렬 섹션을 엽니다.
- 사용자 지정 정렬을 수행하려는 열에 대해 자동 정렬을 끕니다.
- 숫자순 정렬 및 사전순 정렬을 선택 취소합니다.
-
정렬 표현식을 선택하고 다음과 유사한 표현식을 입력합니다.
=mixmatch( Cities, 'Toronto','Boston','Beijing','Stockholm','Zurich')
Cities 열의 정렬 순서가 변경됩니다.
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
또한 반환되는 숫자 값을 볼 수도 있습니다.
Cities | Cities & ' - ' & mixmatch ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','Zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm - 4 |
zurich | zurich - 5 |
로드 스크립트
mixmatch를 사용하여 데이터 하위 집합을 로드할 수 있습니다. 예를 들어 함수의 표현식에 대해 숫자 값을 반환할 수 있습니다. 그런 다음 숫자 값에 따라 로드된 데이터를 제한할 수 있습니다. 일치하는 값이 없는 경우 Mixmatch가 0을 반환합니다. 그러므로 이 예에서 일치되지 않는 모든 표현식은 0을 반환하고 WHERE 문에 따라 데이터 로드에서 제외됩니다.
데이터 로드 편집기에서 Load라는 새 섹션을 만들고 다음을 추가합니다.
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 |