# wildmatch - Funzione per script e grafici

La funzione wildmatch confronta il primo parametro con quelli seguenti e restituisce il numero di espressioni corrispondenti. Consente l'utilizzo di caratteri jolly ( \* e ?) per il confronto delle stringhe. \* corrisponde a qualsiasi sequenza di caratteri. ? corrisponde a qualsiasi carattere singolo. Il confronto non distingue tra caratteri maiuscoli o minuscoli né i sistemi di caratteri del giapponese hiragana e katakana.

Sintassi:

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

Tipo di dati restituiti: numero intero

Se si desidera utilizzare il confronto senza caratteri speciali, usare le funzioni match o mixmatch.

Argomenti

| Argomento | Descrizione |
| --- | --- |
| str | La stringa da valutare. |
| expr1 | La prima espressione da controllare per una valida rappresentazione numerica. |
| expr2 | La seconda espressione da controllare per una valida rappresentazione numerica. |
| expr3 | La terza espressione da controllare per una valida rappresentazione numerica. |

Esempio: espressioni dei grafico

| Esempio | Risultato |
| --- | --- |
| `wildmatch( ColorCode,'black','*Blue*' )` | Questa espressione restituisce `1` se il valore di `ColorCode` è `Black`, oppure `2` se il valore di `ColorCode` è `Blue` o `Light Blue` o `blue`. |
| ` wildmatch( Cities,'toronto','Boston','Beijing','Zurich')  ` | Questa espressione restituisce l'indice dell'elemento che corrisponde al valore nel campo `Cities`. |

Alcuni degli esempi in questo argomento utilizzano caricamenti inline. [Utilizzo dei caricamenti inline per caricare i dati](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)

## Esempio: categorizzazione dei prodotti utilizzando la funzione wildmatch

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

#### Espressione del grafico

Panoramica

Un set di dati contiene i dati dei prodotti.Si desidera identificare e classificare i prodotti di consumo.

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `ProductID`

  * `ProductName`

  * `ProductCategory`

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `ProductID`

* `ProductName`

* `ProductCategory`

Creare le seguenti misure:

* `=wildmatch(ProductCategory, 'Toiletries*', 'Fruit*')`, per restituire l'indice in cui `ProductCategory` ha il valore che inizia con `Toiletries` o `Fruit`.

* `=If(wildmatch(ProductCategory, 'Toiletries*', 'Fruit*'), 'Consumable', 'Other')`, per restituire l'indice in cui `ProductCategory` ha il valore che inizia con `Toiletries` o `Fruits`. Se viene trovato uno dei due, viene restituito il valore `Consumable`. Altrimenti, viene restituito il valore `Other`.

Nota informaticaLa funzione `wildmatch` restituisce un valore positivo non nullo se viene trovata una corrispondenza, altrimenti restituisce zero se non viene trovata alcuna corrispondenza. L'istruzione `if` interpreta a sua volta i risultati diversi da zero come `true` e zero come `false`. Combinando un'istruzione `if` con le funzioni `mixmatch`, `wildmatch` o `match`, è possibile decodificare facilmente le corrispondenze e le mancate corrispondenze.

Tabella dei risultati

| 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 funzione `wildmatch` restituisce l'indice della stringa di ricerca nella prima misura. Nella seconda misura, questo risultato viene poi utilizzato in una funzione `If` per fornire risultati personalizzati. Notare che la funzione `wildmatch` non fa distinzione tra maiuscole e minuscole e permette i caratteri speciali (`*` e `?`).

## Esempio: valutazione e classificazione dei dati dei clienti utilizzando la funzione wildmatch

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

#### Espressione del grafico

Panoramica

Un set di dati contiene i dati dei clienti.Si desidera identificare e classificare i clienti la cui regione e categoria aziendale soddisfano i requisiti di classificazione della propria organizzazione.

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `ClientID`

  * `ClientName`

  * `Region`

  * `Industry`

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

Creare la seguente misura:

`=If(wildmatch(Region, 'North*', 'East*') AND wildmatch(Industry, '*Technology*', '*Manufacturing*'), 'Target Segment', 'Secondary Segment')`, per restituire l'indice della stringa di ricerca. Se viene trovato, viene restituito il valore `Target Segment`. Se non viene trovato, viene restituito il valore `Secondary Segment`.

Tabella dei risultati

| 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 funzione `wildmatch` cerca il testo e restituisce un indice che può essere utilizzato per eseguire ulteriori analisi e classificazioni dei dati. Per esempio, il campo `Acme Corp` è classificato come `Target Segment` perché soddisfa i requisiti di ricerca della funzione `wildmatch` per entrambi i campi `Region` e `Industry`. Notare che la funzione `wildmatch` non fa distinzione tra maiuscole e minuscole e permette i caratteri speciali (`*` e `?`).

## Esempio: script di caricamento che usa wildmatch

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

#### Script di caricamento

Panoramica

È possibile utilizzare wildmatch per caricare un sottogruppo dei dati. Ad esempio, è possibile restituire un valore numerico per un'espressione nella funzione. È quindi possibile limitare i dati caricati in base al valore numerico. Wildmatch restituisce 0 se non vi sono corrispondenze. Tutte le espressioni senza corrispondenze in questo esempio restituiranno quindi 0 e saranno escluse dal caricamento dei dati dall'istruzione `WHERE`.

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in due tabelle dati denominate:

  * `Transactions`: include i campi delle transazioni

  * `Transaction_Buckets`: crea due nuovi campi, `Customer` e `Color code - Black, Blue, blue, red`. L'istruzione `where` carica i risultati della funzione `wildmatch`.

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

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

* `Customer`

La tabella dei risultati che mostra l'output derivante dall'utilizzo della funzione wildmatchwildmatch nello script di caricamento.

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

## Esempio: espressione del grafico che usa wildmatch

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

#### Espressione del grafico

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata Example.

* I seguenti campi nella tabella dati:

  * Cities

  * Count

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:

* Cities

Creare le seguenti misure:

* =wildmatch( Cities,'Tor\*','?ton','Beijing','\*urich') , per restituire l'indice della stringa di ricerca.

* =wildmatch( Cities,'Tor\*','???ton','Beijing','Stockholm','\*urich'), per restituire l'indice della stringa di ricerca.

* =Cities & ' - ' & wildmatch ( Cities, 'Tor\*','???ton','Beijing','Stockholm','\*urich'), per restituire il campo Cities e l'indice della stringa di ricerca.

La prima misura nella tabella sottostante restituisce 0 per Stockholm perché il valore Stockholm non è incluso nell'elenco di espressioni nella funzione wildmatch. Restituisce anche 0 per Boston, perché ? corrisponde solo a un singolo carattere.

Tabella dei risultati

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

## Esempio: espressione di ordinamento personalizzata che usa wildmatch

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

#### Espressione del grafico

Panoramica

È possibile utilizzare wildmatch per eseguire un ordinamento personalizzato per un'espressione. Questo esempio utilizza lo stesso set di dati dell'esempio precedente.

Per impostazione predefinita, le colonne vengono ordinate numericamente o alfabeticamente, a seconda dei dati.

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:

* Cities

Tabella dei risultati che mostra l'ordinamento predefinito

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

Per cambiare l'ordinamento, fare quanto segue:

1. Aprire la sezione Ordinamento del grafico nel pannello Proprietà.

2. Disattivare l'ordinamento automatico per la colonna su cui si desidera eseguire un ordinamento personalizzato.

3. Deselezionare le caselle di controllo Ordina per numero e Ordina per lettera.

4. Selezionare Ordina per espressione e quindi inserire un'espressione simile alla seguente:

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

   L'ordinamento della colonna Cities verrà modificato.

Tabella dei risultati che mostra l'ordinamento usando la funzione wildmatchwildmatch

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

## Ulteriori informazioni

* [match - Funzione per script e grafici](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/match.htm)
* [mixmatch - Funzione per script e grafici](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/mixmatch.htm)