# wildmatch Fonction de script et de graphique

La fonction wildmatch compare le premier paramètre à tous les paramètres suivants et renvoie le numéro de l'expression qui correspond. Cela permet d'utiliser des caractères génériques ( \* et ?) dans les chaînes de comparaison. \* met en correspondance toute séquence de caractères. ? met en correspondance un seul caractère, quel qu'il soit. La comparaison n'est pas sensible à la casse ni aux systèmes de caractères japonais Hiragana et Katakana.

wildmatch( str, expr1 [ , expr2,...exprN ])

integer

Si vous souhaitez établir des comparaisons sans caractères génériques, utilisez la fonction match ou mixmatch.

Arguments

| Argument | Description |
| --- | --- |
| str | Chaîne à évaluer. |
| expr1 | Première expression utilisée pour rechercher une représentation numérique valide. |
| expr2 | Deuxième expression utilisée pour rechercher une représentation numérique valide. |
| expr3 | Troisième expression utilisée pour rechercher une représentation numérique valide. |

Exemple : Expressions de graphique

| Exemple | Résultat |
| --- | --- |
| `wildmatch( ColorCode,'black','*Blue*' )` | Cette expression renvoie `1` si la valeur de `ColorCode` est `Black` ou `2` si la valeur de `ColorCode` est `Blue` ou `Light Blue` ou `blue`. |
| ` wildmatch( Cities,'toronto','Boston','Beijing','Zurich')  ` | Cette expression renvoie l'index de l'élément qui correspond à la valeur du champ `Cities`. |

Certains exemples de cette rubrique utilisent des chargements inline. [Utilisation de chargements inline pour charger des données](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)

## Exemple - Classification de produits à l'aide de wildmatch

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient des données de produits. Vous souhaitez identifier et classer les produits qui sont consommables.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `ProductID`

  * `ProductName`

  * `ProductCategory`

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `ProductID`

* `ProductName`

* `ProductCategory`

Créez les mesures suivantes :

* `=wildmatch(ProductCategory, 'Toiletries*', 'Fruit*')`, pour renvoyer l'index où `ProductCategory` a la valeur commençant par `Toiletries` ou par `Fruit`.

* `=If(wildmatch(ProductCategory, 'Toiletries*', 'Fruit*'), 'Consumable', 'Other')`, pour renvoyer l'index où `ProductCategory` a la valeur commençant par `Toiletries` ou par `Fruits`. Si l'une ou l'autre valeur est trouvée, `Consumable` est renvoyé. Sinon, `Other` est renvoyé.

Note InformationsLa fonction `wildmatch` renvoie une valeur positive non nulle si une correspondance est trouvée, sinon zéro si aucune correspondance n'est trouvée. L'instruction `if` interprète à son tour les résultats non nuls comme `true` et les résultats nuls comme `false`. En combinant une instruction `if` avec la fonction `mixmatch`, `wildmatch` ou `match`, il est possible de décoder facilement les correspondances et les non-correspondances.

Tableau de résultats

| 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 fonction `wildmatch` renvoie l'index de la chaîne de recherche dans la première mesure. Dans la deuxième mesure, ce résultat est ensuite utilisé dans une fonction `If` pour fournir des résultats personnalisés. Notez que la fonction `wildmatch` n'est pas sensible à la casse et autorise les caractères génériques (`*` et `?`).

## Exemple - Évaluation et classement de données client à l'aide de wildmatch

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient des données client. Vous souhaitez identifier et classer les clients dont la région et le secteur d'activité répondent à vos critères de classification.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `ClientID`

  * `ClientName`

  * `Region`

  * `Industry`

Script de chargement

```
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" 
];
```

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

Créez la mesure suivante :

`=If(wildmatch(Region, 'North*', 'East*') AND wildmatch(Industry, '*Technology*', '*Manufacturing*'), 'Target Segment', 'Secondary Segment')`, pour obtenir l'index de la chaîne de recherche. Si cette valeur est trouvée, `Target Segment` est renvoyé. Si cette valeur n'est pas trouvée, `Secondary Segment` est renvoyé.

Tableau de résultats

| 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 fonction `wildmatch` recherche un texte et renvoie un index qui peut ensuite être utilisé pour effectuer une analyse et une classification de données supplémentaires. Par exemple, `Acme Corp` est classé comme `Target Segment`, car il répond aux conditions de recherche de la fonction `wildmatch` pour les champs `Region` et `Industry`. Notez que la fonction `wildmatch` n'est pas sensible à la casse et autorise les caractères génériques (`*` et `?`).

## Exemple : Script de chargement utilisant wildmatch

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

#### Script de chargement

Vue d'ensemble

La fonction wildmatch permet de charger un sous-jeu de données. Par exemple, vous pouvez renvoyer une valeur numérique pour une expression dans la fonction. Vous pouvez ensuite limiter les données chargées en fonction de la valeur numérique. Wildmatch renvoie 0 en l'absence de correspondance. Dans cet exemple, toutes les expressions sans correspondance renverront donc 0 et seront exclues du chargement de données par l'instruction `WHERE`.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans deux tables de données appelées :

  * `Transactions` : inclut les champs de transaction

  * `Transaction_Buckets` : crée deux nouveaux champs `Customer` et `Color code - Black, Blue, blue, red`. L'instruction `where` charge les résultats de la fonction `wildmatch`.

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

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

* `Customer`

Tableau de résultats affichant la sortie obtenue suite à l'utilisation de la fonction wildmatchwildmatch dans le script de chargement.

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

## Exemple : Expression de graphique utilisant wildmatch

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

#### Expression de graphique

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée Example.

* Champs suivants dans la table de données :

  * Cities

  * Count

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* Cities

Créez les mesures suivantes :

* =wildmatch( Cities,'Tor\*','?ton','Beijing','\*urich') , pour obtenir l'index de la chaîne de recherche.

* =wildmatch( Cities,'Tor\*','???ton','Beijing','Stockholm','\*urich'), pour obtenir l'index de la chaîne de recherche.

* =Cities & ' - ' & wildmatch ( Cities, 'Tor\*','???ton','Beijing','Stockholm','\*urich'), pour renvoyer le champ Cities et l'index de la chaîne de recherche.

La première mesure du tableau ci-dessous renvoie 0 pour Stockholm, car Stockholm ne figure pas dans la liste d'expressions de la fonction wildmatch. Elle renvoie également 0 pour Boston, car ? ne correspond qu'à un seul caractère.

Tableau de résultats

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

## Exemple : Expression de tri personnalisée utilisant wildmatch

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

#### Expression de graphique

Vue d'ensemble

Vous pouvez utiliser wildmatch pour effectuer un tri personnalisé pour une expression. Cet exemple utilise le même jeu de données que l'exemple précédent.

Par défaut, les colonnes sont triées par nombre ou par ordre alphabétique, selon les données.

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* Cities

Tableau de résultats affichant l'ordre de tri par défaut

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

Pour modifier l'ordre de tri, procédez comme suit :

1. Ouvrez la section Tri relative au graphique dans le panneau des propriétés.

2. Désactivez le tri automatique défini pour la colonne à laquelle vous souhaitez appliquer un tri personnalisé.

3. Décochez les cases Trier par ordre numérique et Trier par ordre alphabétique.

4. Sélectionnez Trier par expression, puis saisissez une expression semblable à la suivante :

   =wildmatch( Cities, 'Tor\*','???ton','Beijing','Stockholm','\*urich')

   L'ordre de tri appliqué à la colonne Cities est modifié en conséquence.

Tableau de résultats affichant l'ordre de tri à l'aide de la fonction wildmatchwildmatch

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

## En savoir plus

* [match Fonction de script et de graphique](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/match.htm)
* [mixmatch Fonction de script et de graphique](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/mixmatch.htm)