wildmatch - función de script y de gráfico
La función wildmatch compara el primer parámetro con todos los siguientes y devuelve el número de la expresión. Permite el uso de caracteres comodín ( * y ?) en las cadenas de comparación. * coincide con cualquier secuencia de caracteres. ?coincide con cualquier carácter individual. La comparación no distingue entre mayúsculas y minúsculas y no tiene en cuenta los alfabetos de caracteres japoneses Hiragana y Katakana.
Sintaxis:
wildmatch( str, expr1 [ , expr2,...exprN ])
Si desea utilizar la comparación sin comodines, utilice las funciones match o mixmatch.
Algunos de los ejemplos de este tema utilizan cargas inline. Para más información, vea Usar cargas inline para cargar datos.
Ejemplo: Ejemplo: cargar script usando wildmatch
Script de carga
Puede usar wildmatch 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. Wildmatch 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 instrucción 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 - Black, Blue, blue, red Load Transactions table. Wildmatch returns 1 for 'Black', 'Blue', and 'blue', and 2 for 'Red'. 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, Red] Resident Transactions Where wildmatch(color_code,'Bl*','R??') > 0;
Resultados
Código de color Black, Blue, blue, Red | Cliente |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
blue | 5646471 |
Red | 049681 |
Red | 2038593 |
Ejemplos: Expresiones de gráfico que usan wildmatch
Expresión de gráfico 1
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 wildmatch. También devuelve 0 para 'Boston' porque ? solo coincide con un único carácter.
Cities | wildmatch( Cities,'Tor*','?ton','Beijing','*urich') | wildmatch( Ciudades,'Tor*','???ton','Pekín','Estocolmo','*urich') |
---|---|---|
Beijing |
3 |
3 |
Boston | 0 | 2 |
Stockholm | 0 | 4 |
Toronto | 1 | 1 |
zurich | 4 | 5 |
Expresión de gráfico 2
Puede usar wildmatch 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:
=wildmatch( Cities, 'Tor*','???ton','Beijing','Stockholm','*urich')
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 & ' - ' & wildmatch ( Cities, 'Tor*','???ton','Beijing','Stockholm','*urich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Pekín | Beijing - 3 |
Estocolmo | Stockholm - 4 |
zurich | zurich - 5 |