match - función de script y de gráfico
La función match compara el primer parámetro con todos los siguientes y devuelve la ubicación numérica del número de expresiones que coinciden. La comparación es sensible a mayúsculas.
Sintaxis:
match( str, expr1 [ , expr2,...exprN ])
Algunos de los ejemplos de este tema utilizan cargas inline. Para más información, vea Cargas inline .
Ejemplo: Ejemplo: cargar script usando match
Script de carga
Puede usar match para cargar un subconjunto de datos. Por ejemplo, puede devolver un valor numérico para una expresión en la función. A continuación puede limitar los datos cargados en función del valor numérico. Match devuelve 0 si no hay coincidencia. Todas las expresiones que no coinciden en este ejemplo devolverán 0 y serán excluidas de la carga de datos por la sentencia WHERE.
Cree una nueva pestaña en el editor de carga de datos y luego cargue los siguientes datos como una carga inline. Cree la tabla siguiente en Qlik Sense para ver los resultados.
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;
Resultados
Código de color Blue and Black | Cliente |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
Ejemplos: expresiones de gráfico usando match
Expresión de gráfico 1
Script de carga
Cree una nueva pestaña en el editor de carga de datos y luego cargue los siguientes datos como una carga inline. Después de cargar los datos, cree los ejemplos de la expresión de gráfico a continuación en una tabla de 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];
La primera expresión en la tabla a continuación devuelve 0 para Estocolmo porque 'Estocolmo' no está incluido en la lista de expresiones de la función match. También devuelve 0 para 'Zurich' porque la comparación match es sensible a mayúsculas.
Cities | match( Cities,'Toronto','Boston','Beijing','Zurich') | match( Ciudades,'Toronto','Boston','Pekín','Estocolmo','zurich') |
---|---|---|
Beijing | 3 | 3 |
Boston | 2 | 2 |
Stockholm | 0 | 4 |
Toronto | 1 | 1 |
zurich | 0 | 5 |
Expresión de gráfico 2
Puede usar match para realizar una ordenación personalizada para una expresión.
De forma predeterminada, las columnas se ordenan numéricamente o alfabéticamente, dependiendo de los datos.
Cities |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
Para cambiar el orden, haga lo siguiente:
- Abra la sección Ordenar de su gráfico en el panel de Propiedades.
- Desactive la ordenación automática para la columna en la que desea realizar una ordenación personalizada.
- Desmarque Ordenar numéricamente y Ordenar alfabéticamente.
-
Seleccione Ordenar por expresión y después introduzca una expresión similar a la siguiente:
=match( Cities, 'Toronto','Boston','Beijing','Stockholm','zurich')
El criterio de ordenación de la columna Cities cambia.
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
También puede ver el valor numérico que devuelve.
Ciudades | Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Pekín | Beijing - 3 |
Estocolmo | Stockholm - 4 |
zurich | zurich - 5 |