# 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 ])

Tipo de datos que devuelve: Entero

Si desea utilizar la comparación sin comodines, utilice las funciones match o mixmatch.

Argumentos

| Argumento | Descripción |
| --- | --- |
| str | La cadena de caracteres que se ha de evaluar. |
| expr1 | La primera expresión para comprobar si hay una representación numérica válida. |
| expr2 | La segunda expresión para comprobar si hay una representación numérica válida. |
| expr3 | La tercera expresión para comprobar si hay una representación numérica válida. |

Ejemplo: expresiones de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `wildmatch( ColorCode,'black','*Blue*' )` | Esta expresión devuelve `1` si el valor de `ColorCode` es `Black` o `2` si el valor de `ColorCode` es `Blue` o `Light Blue` o `blue`. |
| ` wildmatch( Cities,'toronto','Boston','Beijing','Zurich')  ` | Esta expresión devuelve el índice del elemento que coincide con el valor del campo `Cities`. |

Algunos de los ejemplos de este tema utilizan cargas inline. Para más información, vea [Usar cargas inline para cargar datos](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

## Ejemplo: clasificar productos usando wildmatch

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)

#### Expresión de gráfico

Descripción

Un conjunto de datos contiene datos de diversos productos.Deseamos identificar y clasificar los productos que son consumibles.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `ProductID`

  * `ProductName`

  * `ProductCategory`

Script de carga

```
Example:
LOAD * INLINE [
ProductID, ProductName, ProductCategory
1, "Laptop", "Electronics"
2, "Banana", "fruit"
3, "Shampoo", "toiletries"
4, "TV", "Electronics"
5, "Apple", "Fruits and vegetables"
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `ProductID`

* `ProductName`

* `ProductCategory`

Cree las siguientes medidas:

* `=wildmatch(ProductCategory, 'Toiletries*', 'Fruit*')`, para devolver el índice en el que `ProductCategory` tiene el valor que empieza por `Toiletries` o que empieza por `Fruit`.

* `=If(wildmatch(ProductCategory, 'Toiletries*', 'Fruit*'), 'Consumable', 'Other')`, para devolver el índice en el que `ProductCategory` tiene el valor que empieza por `Toiletries` o que empieza por `Fruits`. Si encuentra alguno de los dos, devuelve `Consumable`. En caso contrario, devuelve `Other`.

Nota informativaLa función `wildmatch` devuelve un valor positivo distinto de cero si se encuentra una correspondencia, o cero si no se encuentra ninguna. La sentencia `if` interpreta a su vez los resultados distintos de cero como `true` y cero como `false`. Combinando una sentencia `if` con las funciones `mixmatch`, `wildmatch` o `match`, es posible descodificar fácilmente las correspondencias y las discordancias.

Tabla de resultados

| ProductID | ProductName | ProductCategory | wildmatch(ProductCategory, 'Toiletries\*', 'Fruit\*') | If(wildmatch(ProductCategory, 'Toiletries\*', 'Fruit\*') |
| --- | --- | --- | --- | --- |
| 1 | Laptop | Electronics | 0 | Other |
| 2 | Banana | fruit | 2 | Consumable |
| 3 | Shampoo | toiletries | 1 | Consumable |
| 4 | TV | Electronics | 0 | Other |
| 5 | Apple | Fruits and vegetables | 2 | Consumable |

La función `wildmatch` devuelve el índice de la cadena de búsqueda en la primera medida. En la segunda medida, este resultado se utiliza a continuación en una función `If` para proporcionar resultados personalizados. Tenga en cuenta que la función `wildmatch` no distingue entre mayúsculas y minúsculas y permite los caracteres comodín (`*` y `?`).

## Ejemplo: evaluar y clasificar datos de clientes usando wildmatch

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)

#### Expresión de gráfico

Descripción

Un conjunto de datos contiene datos de clientes.Desea identificar y clasificar a los clientes cuya región y sector industrial cumplen con sus requisitos de clasificación.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `ClientID`

  * `ClientName`

  * `Region`

  * `Industry`

Script de carga

```
Example:
LOAD * INLINE [ 
ClientID, ClientName, Region, Industry 
1, "Acme Corp", "north territory", "Vehicle Manufacturing" 
2, "Beta Ltd", "East location", "Science & Technology" 
3, "Gamma Inc", "west", "Retail Sales" 
4, "Delta LLC", "North", "Technology" 
5, "Epsilon GmbH", "South", "healthcare" 
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

Cree la siguiente medida:

`=If(wildmatch(Region, 'North*', 'East*') AND wildmatch(Industry, '*Technology*', '*Manufacturing*'), 'Target Segment', 'Secondary Segment')`, para devolver el índice de la cadena de búsqueda. Si lo encuentra, entonces devuelve `Target Segment`. Si no lo encuentra, entonces devuelve `Secondary Segment`.

Tabla de resultados

| ClientID | ClientName | Region | Industry | If(wildmatch(Region, 'North\*', 'East\*') AND wildmatch(Industry, '\*Technology\*', '\*Manufacturing\*'), 'Target Segment', 'Secondary Segment') |
| --- | --- | --- | --- | --- |
| 1 | Acme Corp | north territory | Vehicle Manufacturing | Target Segment |
| 2 | Beta Ltd | East location | Science & Technology | Target Segment |
| 3 | Gamma Inc | west | Retail Sales | Secondary Segment |
| 4 | Delta LLC | North | Technology | Target Segment |
| 5 | Epsilon GmbH | South | healthcare | Secondary Segment |

La función `wildmatch` busca texto y devuelve un índice que puede utilizarse para realizar análisis adicionales y clasificación de datos. Por ejemplo, `Acme Corp` se clasifica como `Target Segment` porque cumple los requisitos de búsqueda de la función `wildmatch` tanto para los campos `Region` como para los campos `Industry`. Tenga en cuenta que la función `wildmatch` no distingue entre mayúsculas y minúsculas y permite los caracteres comodín (`*` y `?`).

## Ejemplo: script de carga utilizando wildmatch

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)

#### Script de carga

Descripción

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 que se cargan en función del valor numérico. Wildmatch devuelve 0 si no hay coincidencias. Por lo tanto, todas las expresiones que no coincidan en este ejemplo devolverán 0 y se excluirán de la carga de datos por la sentencia `WHERE`.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en dos tablas de datos llamadas:

  * `Transactions`: incluye campos de transacciones

  * `Transaction_Buckets`: crea dos nuevos campos `Customer` y `Color code - Black, Blue, blue, red`. La sentencia `where` carga los resultados de la función `wildmatch`.

Script de carga

```
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

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `[Color code - Black, Blue, blue, red]`

* `Customer`

Tabla de resultados que muestra el resultado de utilizar la función wildmatchwildmatch en el script de carga.

| Color code - Black, Blue, blue, red | Customer |
| --- | --- |
| Black | 203521 |
| Black | 3036491 |
| Blue | 2038593 |
| blue | 5646471 |
| Red | 049681 |
| Red | 2038593 |

## Ejemplo: expresión de gráfico usando wildmatch

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)

#### Expresión de gráfico

Descripción

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada Example.

* Los siguientes campos de la tabla de datos:

  * Cities

  * Count

Script de carga

```
Example:
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];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* Cities

Cree las siguientes medidas:

* =wildmatch( Cities,'Tor\*','?ton','Beijing','\*urich') , para devolver el índice de la cadena de búsqueda.

* =wildmatch( Cities,'Tor\*','???ton','Beijing','Stockholm','\*urich'), para devolver el índice de la cadena de búsqueda.

* =Cities & ' - ' & wildmatch ( Cities, 'Tor\*','???ton','Beijing','Stockholm','\*urich'), para devolver el campo Cities y el índice de la cadena de búsqueda.

La primera medida de la tabla siguiente devuelve 0 para Stockholm porque Stockholm 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.

Tabla de resultados

| Cities | wildmatch( Cities,'Tor\*','?ton','Beijing','\*urich') | wildmatch( Cities,'Tor\*','???ton','Beijing','Stockholm','\*urich') | Cities & ' - ' & wildmatch ( Cities, 'Tor\*','???ton','Beijing','Stockholm','\*urich') |
| --- | --- | --- | --- |
| Beijing | 3 | 3 | Beijing - 3 |
| Boston | 0 | 2 | Boston - 2 |
| Stockholm | 0 | 4 | Stockholm - 4 |
| Toronto | 1 | 1 | Toronto - 1 |
| zurich | 4 | 5 | zurich - 5 |

## Ejemplo: expresión de ordenación personalizada usando wildmatch

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)

#### Expresión de gráfico

Descripción

Puede usar wildmatch para realizar una ordenación personalizada en una expresión. Este ejemplo utiliza el mismo conjunto de datos que el ejemplo anterior.

De forma predeterminada, las columnas se ordenan numérica o alfabéticamente, dependiendo de los datos.

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* Cities

Tabla de resultados que muestra el criterio de ordenación predeterminado

| Cities |
| --- |
| Beijing |
| Boston |
| Stockholm |
| Toronto |
| zurich |

Para cambiar el criterio de ordenación, haga lo siguiente:

1. Abra la sección Ordenar de su gráfico en el panel de Propiedades.

2. Desactive la ordenación automática para la columna en la que desea realizar una ordenación personalizada.

3. Borre las casillas Ordenar numéricamente y Ordenar alfabéticamente.

4. 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.

Tabla de resultados que muestra el orden de clasificación utilizando la función wildmatchwildmatch

| Cities |
| --- |
| Toronto |
| Boston |
| Beijing |
| Stockholm |
| zurich |

## Más información

* [match - Función de script y de gráfico](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/match.htm)
* [mixmatch - Función de script y de gráfico](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/mixmatch.htm)