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

Tipo de datos que devuelve: Entero

Nota de sugerenciaSi desea utilizar una comparación que no distinga entre mayúsculas y minúsculas, utilice la función mixmatch. Si desea utilizar una comparación que no distinga entre mayúsculas y minúsculas además de comodines, utilice la función wildmatch.

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 |
| --- | --- |
| `match( ColorCode,'Blue','Black' )` | Esta expresión devuelve el índice de la correspondencia con el campo `ColorCode`. Si el valor de `ColorCode` es `Blue` entonces devuelve `1`. Si el valor de `ColorCode` es `Black` entonces devuelve `2`. Si no se encuentra ninguna coincidencia, devuelve `0`. |
| `match( Region, 'North', 'East' )` | Esta expresión devuelve el índice de la correspondencia con el campo `Region`. Si el valor de `Region` es `North` entonces devuelve `1`. Si el valor de `Region` es `East` entonces devuelve `2`. Si no se encuentra ninguna coincidencia, devuelve `0`. |

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/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

## Ejemplo: clasificar productos utilizando match

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

#### Expresión de gráfico

Vista general

Un conjunto de datos contiene datos de 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", "Fruits"
3, "Shampoo", "Toiletries"
4, "TV", "Electronics"
5, "Apple", "Fruits"
];
```

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:

* `=match(ProductCategory,'Toiletries', 'Fruits')`, para devolver el índice en el que `ProductCategory` tiene el valor `Toiletries` o `Fruits`.

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

Tabla de resultados

| ProductID | ProductName | ProductCategory | match(ProductCategory,'Toiletries', 'Fruits') | If(match(ProductCategory, 'Toiletries', 'Fruits'), 'Consumable', 'Other') |
| --- | --- | --- | --- | --- |
| 1 | Laptop | Electronics | 0 | Other |
| 2 | Banana | Fruits | 2 | Consumable |
| 3 | Shampoo | Toiletries | 1 | Consumable |
| 4 | TV | Electronics | 0 | Other |
| 5 | Apple | Fruits | 2 | Consumable |

La función `match` 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 clasificar los productos como `Consumable` o `Other`.

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

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

#### Expresión de gráfico

Vista general

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", "Manufacturing"
2, "Beta Ltd", "East", "Technology"
3, "Gamma Inc", "West", "Retail"
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(match(Region, 'North', 'East') AND match(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(match(Region, 'North', 'East') AND match(Industry, 'Technology', 'Manufacturing'), 'Target Segment', 'Secondary Segment') |
| --- | --- | --- | --- | --- |
| 1 | Acme Corp | North | Manufacturing | Target Segment |
| 2 | Beta Ltd | East | Technology | Target Segment |
| 3 | Gamma Inc | West | Retail | Secondary Segment |
| 4 | Delta LLC | North | Technology | Target Segment |
| 5 | Epsilon GmbH | South | Healthcare | Secondary Segment |

La función `match` 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 `match` tanto para el campo `Region` como para el campo `Industry`.

## Ejemplo: script de carga utilizando match

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

#### Script de carga

Vista general

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 que se cargan en función del valor numérico. La función Match devuelve 0 si no hay coincidencias. Por lo tanto, todas las expresiones que no coincidan en este ejemplo devolverán 0 y serán excluidas 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 denominadas:

  * `Transactions`: incluye campos de transacciones

  * `Transaction_Buckets`: crea dos nuevos campos `Customer` y `Color Code Blue and Black`. La sentencia `where` carga los resultados de la función `match`.

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

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

* `[Color Code Blue and Black]`

* `Customer`

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

| Color Code Blue and Black | Customer |
| --- | --- |
| Black | 203521 |
| Black | 3036491 |
| Blue | 2038593 |

## Ejemplo: expresión de gráfico utilizando match

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

#### Expresión de gráfico

Vista general

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:

* =match( Cities,'Toronto','Boston','Beijing','Zurich'), para devolver el índice de la cadena de búsqueda.

* =match( Cities,'Toronto','Boston','Beijing','Stockholm','zurich'), para devolver el índice de la cadena de búsqueda.

* =Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich'), 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á incluida en la lista de expresiones de la función match. También devuelve 0 para Zurich porque la comparación match distingue entre mayúsculas y minúsculas.

Tabla de resultados

| Cities | match( Cities,'Toronto','Boston','Beijing','Zurich') | match( Cities,'Toronto','Boston','Beijing','Stockholm','zurich') | Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich') |
| --- | --- | --- | --- |
| Beijing | 3 | 3 | Beijing - 3 |
| Boston | 2 | 2 | Boston - 2 |
| Stockholm | 0 | 4 | Stockholm - 4 |
| Toronto | 1 | 1 | Toronto - 1 |
| zurich | 0 | 5 | zurich - 5 |

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

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

#### Expresión de gráfico

Vista general

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

De manera predeterminada, las columnas se ordenan numérica o alfabéticamente en función de los datos.

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:

   =match( Cities, 'Toronto','Boston','Beijing','Stockholm','zurich')

   El criterio de ordenación de la columna Cities cambia.

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

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

## Más información

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