mixmatch — funkcja skryptu i funkcja wykresu
Funkcja mixmatch porównuje pierwszy parametr z wszystkimi kolejnymi parametrami i zwraca liczbową lokalizację z wyrażeń dopasowanych. Wielkość liter w porównaniu nie ma znaczenia.
Syntax:
mixmatch( str, expr1 [ , expr2,...exprN ])
Pierwsze wyrażenie z tabeli poniżej zwraca 0 dla Stockholm, ponieważ „Stockholm” nie znajduje się na liście wyrażeń w funkcji mixmatch. Zwraca 4 dla „Zurich”, ponieważ porównanie mixmatch nie rozróżnia wielkości liter.
Miasta | 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 |
Funkcji mixmatch można użyć, aby wykonać niestandardowe sortowanie dla wyrażenia.
Domyślnie kolumny są posortowane w porządku liczbowym lub alfabetycznym — w zależności od danych.
Miasta |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
Aby zmienić porządek, wykonaj następujące czynności:
- W panelu Właściwości otwórz sekcję Sortowanie dla wykresu.
- Wyłącz automatyczne sortowanie dla kolumny, względem której chcesz wykonać sortowanie niestandardowe.
- Usuń zaznaczenie opcji Sortuj w kolejności liczbowej i Sortuj alfabetycznie.
-
Zaznacz opcję Sortuj wg wyrażenia, a następnie wprowadź wyrażenie podobne do następującego:
=mixmatch( Cities, 'Toronto','Boston','Beijing','Stockholm','Zurich')
Porządek sortowania w kolumnie Cities ulegnie zmianie.
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
Możesz także wyświetlić zwróconą wartość liczbową.
Cities | Cities & ' - ' & mixmatch ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','Zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm - 4 |
zurich | zurich - 5 |
Skrypt ładowania
Funkcji mixmatch można użyć, aby załadować podzbiór danych. Można na przykład zwrócić wartość liczbową dla wyrażenia w funkcji. Następnie można ograniczyć załadowane dane na podstawie tej wartości liczbowej. W przypadku braku dopasowania funkcja Mixmatch zwraca 0. Wszystkie wyrażenia, dla których nie zostanie znalezione dopasowanie, zwrócą w tym przykładzie 0 i zostaną wykluczone z danych ładowanych przez instrukcję WHERE.
W edytorze ładowania danych utwórz nową sekcję o nazwie Load, a następnie dodaj poniższe dane:
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;
Wyniki
Color Code Black, Blue, blue | Customer |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
Blue | 5646471 |