mixmatch – função de script e gráfico
A função mixmatch compara o primeiro parâmetro com todos os seguintes e retorna a localização numérica das expressões correspondentes. A comparação não diferencia maiúsculas de minúsculas.
Syntax:
mixmatch( str, expr1 [ , expr2,...exprN ])
A primeira expressão da tabela a seguir retorna 0 para Stockholm, porque "Stockholm" não está incluído na lista de expressões da função mixmatch. Ela retorna 4 para "Zurich", porque a comparação mixmatch não diferencia maiúsculas de minúsculas.
Cidades | 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 |
Você pode usar mixmatch para realizar uma classificação personalizada para uma expressão.
Por padrão, as colunas são classificadas numérica ou alfabeticamente, dependendo dos dados.
Cidades |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
Para alterar a ordem, faça o seguinte:
- Abra a seção Classificação do gráfico no painel Propriedades.
- Desative a classificação automática para a coluna na qual você deseja fazer uma classificação personalizada.
- Desmarque Classificar numericamente e Classificar alfabeticamente.
-
Selecione Classificar por expressão e insira uma expressão semelhante à seguinte:
=mixmatch( Cities, 'Toronto','Boston','Beijing','Stockholm','Zurich')
A ordem de classificação na coluna Cities é alterada.
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
Você também pode exibir o valor numérico retornado.
Cities | Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm |
zurich | zurich - 5 |
Script de carregamento
Você pode usar mixmatch para carregar um subconjunto de dados. Por exemplo, você pode retornar um valor numérico para uma expressão na função. Em seguida, é possível limitar os dados carregados com base no valor numérico. Mixmatch retornará 0 se não houver correspondência. Portanto, todas as expressões não correspondidas neste exemplo retornarão 0 e serão excluídas do carregamento de dados pelo comando WHERE.
No Editor de carregamento de dados, crie uma nova seção chamada Load e adicione o seguinte:
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;
Resultados
Color Code Black, Blue, blue | Customer |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
blue | 5646471 |