# wildmatch - Skript- und Diagrammfunktion

Die wildmatch-Funktion vergleicht den ersten Parameter mit den folgenden und liefert die Anzahl der übereinstimmenden Formeln. Damit können Wildcard-Zeichen ( \* und ?) in den Vergleichs-Strings verwendet werden. \* entspricht jeder Zeichenabfolge. ? entspricht einem einzelnen Zeichen. Beim Vergleich wird nicht zwischen Groß- und Kleinschreibung und zwischen den japanischen Hiragana- und Katakana-Zeichensystemen unterschieden.

Syntax:

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

Rückgabe Datentyp: ganze Zahl

Wenn der Vergleich ohne Wildcards durchgeführt werden soll, verwenden Sie die match- oder mixmatch-Funktion.

Argumente

| Argument | Beschreibung |
| --- | --- |
| str | Der zu bewertende String. |
| expr1 | Der erste Ausdruck prüft die Darstellung einer gültigen Zahl. |
| expr2 | Der zweite Ausdruck prüft die Darstellung einer gültigen Zahl. |
| expr3 | Der dritte Ausdruck prüft die Darstellung einer gültigen Zahl. |

Beispiel: Diagrammformeln

| Beispiel | Ergebnis |
| --- | --- |
| `wildmatch( ColorCode,'black','*Blue*' )` | Diese Formel gibt `1` zurück, wenn der Wert von `ColorCode` gleich `Black` ist, oder `2`, wenn der Wert von `ColorCode` gleich `Blue` oder `Light Blue` oder `blue` ist. |
| ` wildmatch( Cities,'toronto','Boston','Beijing','Zurich')  ` | Diese Formel gibt den Index des Elements zurück, das mit dem Wert im Feld `Cities` übereinstimmt. |

Einige der Beispiele in diesem Thema verwenden Inline-Ladevorgänge. [Verwenden von Inline-Ladevorgängen zum Laden von Daten](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)

## Beispiel – Produkte mit wildmatch kategorisieren

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

#### Diagrammformel

Übersicht

Ein Datensatz enthält Produktdaten. Sie möchten Produkte danach identifizieren und kategorisieren, ob sie verbrauchbar sind oder nicht.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `ProductID`

  * `ProductName`

  * `ProductCategory`

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `ProductID`

* `ProductName`

* `ProductCategory`

Erstellen Sie die folgenden Kennzahlen:

* `=wildmatch(ProductCategory, 'Toiletries*', 'Fruit*')`, um den Index zurückzugeben, bei dem `ProductCategory` den Wert `Toiletries` hat oder mit `Fruit` beginnt.

* `=If(wildmatch(ProductCategory, 'Toiletries*', 'Fruit*'), 'Consumable', 'Other')`, um den Index zurückzugeben, bei dem `ProductCategory` den Wert `Toiletries` hat oder mit `Fruits` beginnt. Wenn einer von beiden gefunden wird, wird `Consumable` zurückgegeben. Andernfalls wird `Other` zurückgegeben.

InformationshinweisDie Funktion `wildmatch` gibt einen positiven Wert ungleich Null zurück, wenn eine Übereinstimmung gefunden wird, sonst Null, wenn keine Übereinstimmung gefunden wird. Der `if`-Befehl wiederum interpretiert Nicht-Null-Ergebnisse als `true` und Null als `false`. Durch die Kombination eines `if`-Befehls mit den Funktionen `mixmatch`, `wildmatch` oder `match` ist es möglich, Übereinstimmungen und Nichtübereinstimmungen einfach zu decodieren.

Ergebnistabelle

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

Die Funktion `wildmatch` gibt den Index des Suchworts in der ersten Kennzahl zurück. In der zweiten Kennzahl wird dieses Ergebnis dann in einer `If`-Funktion verwendet, um benutzerdefinierte Ergebnisse bereitzustellen. Beachten Sie, dass die Funktion `wildmatch` Groß- und Kleinschreibung nicht berücksichtigt und die Wildcard-Zeichen (`*` und `?`) zulässt.

## Beispiel – Auswerten und Klassifizieren von Kundendaten anhand von wildmatch

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

#### Diagrammformel

Übersicht

Ein Datensatz enthält Kundendaten. Sie möchten die Kunden identifizieren und kategorisieren, deren Region und Branchenkategorie Ihren Klassifizierungsanforderungen entsprechen.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `ClientID`

  * `ClientName`

  * `Region`

  * `Industry`

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

Erstellen Sie die folgende Kennzahl:

`=If(wildmatch(Region, 'North*', 'East*') AND wildmatch(Industry, '*Technology*', '*Manufacturing*'), 'Target Segment', 'Secondary Segment')`, um den Index des Suchworts zurückzugeben. Wenn gefunden, wird `Target Segment` zurückgegeben. Wenn nicht gefunden, wird `Secondary Segment` zurückgegeben.

Ergebnistabelle

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

Die Funktion `wildmatch` sucht nach Text und gibt einen Index zurück, der dann für weitere Analysen und die Klassifizierung von Daten verwendet werden kann. Zum Beispiel wird `Acme Corp` als `Target Segment` klassifiziert, weil es die Suchanforderungen der Funktion `wildmatch` sowohl für das Feld `Region` als auch für das Feld `Industry` erfüllt. Beachten Sie, dass die Funktion `wildmatch` Groß- und Kleinschreibung nicht berücksichtigt und die Wildcard-Zeichen (`*` und `?`) zulässt.

## Beispiel: Ladeskript, das wildmatch verwendet

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

#### Ladeskript

Übersicht

Sie können wildmatch zum Laden einer Teilmenge von Daten verwenden. Sie können zum Beispiel einen numerischen Wert für eine Formel in der Funktion liefern. Dann können Sie die geladenen Daten basierend auf dem numerischen Wert beschränken. Wildmatch liefert 0, wenn keine Übereinstimmung vorliegt. Alle Formeln, für die in diesem Beispiel keine Übereinstimmung vorliegt, geben daher 0 zurück und werden aus dem Datenladen mit dem `WHERE`-Befehl ausgeschlossen.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in zwei Datentabellen mit folgenden Namen geladen wird:

  * `Transactions`: Enthält Transaktionsfelder

  * `Transaction_Buckets`: Erstellt zwei neue Felder `Customer` und `Color code - Black, Blue, blue, red`. Der `where`-Befehl lädt die Ergebnisse der Funktion `wildmatch`.

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

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

* `Customer`

Ergebnistabelle mit der Ausgabe nach Verwendung der wildmatchwildmatch-Funktion im Ladeskript.

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

## Beispiel – Diagrammformel, die wildmatch verwendet

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

#### Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens Example geladen wird

* Die folgenden Felder in der Datentabelle:

  * Cities

  * Count

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:

* Cities

Erstellen Sie die folgenden Kennzahlen:

* =wildmatch( Cities,'Tor\*','?ton','Beijing','\*urich') , um den Index des Suchworts zurückzugeben.

* =wildmatch( Cities,'Tor\*','???ton','Beijing','Stockholm','\*urich'), um den Index des Suchworts zurückzugeben.

* =Cities & ' - ' & wildmatch ( Cities, 'Tor\*','???ton','Beijing','Stockholm','\*urich'), um das Feld Cities und den Index des Suchworts zurückzugeben.

Die erste Kennzahl in der Tabelle unten gibt 0 für Stockholm zurück, da Stockholm nicht in der Liste der Formeln in der wildmatch-Funktion enthalten ist. Sie gibt auch 0 für Boston zurück, weil ? nur für ein einziges Zeichen übereinstimmt.

Ergebnistabelle

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

## Beispiel – Benutzerdefinierte Sortierformel, die wildmatch verwendet

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

#### Diagrammformel

Übersicht

Sie können wildmatch verwenden, um eine benutzerdefinierte Sortierung für eine Formel auszuführen. In diesem Beispiel wird derselbe Datensatz wie im vorigen Beispiel verwendet.

Standardmäßig werden Spalten abhängig von den Daten numerisch oder alphabetisch sortiert.

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:

* Cities

Ergebnistabelle, das die Standardsortierrreihenfolge zeigt

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

Um die Sortierreihenfolge zu ändern, gehen Sie wie folgt vor:

1. Öffnen Sie den Abschnitt Sortieren für Ihr Diagramm im Fenster Eigenschaften.

2. Deaktivieren Sie die automatische Sortierung für die Spalte, in der Sie eine benutzerdefinierte Sortierung durchführen möchten.

3. Deaktivieren Sie die Kontrollkästchen Numerisch sortieren und Alphabetisch sortieren.

4. Wählen Sie Nach Formel sortieren und geben Sie dann eine Formel wie die Folgende ein:

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

   Die Sortierreihenfolge der Spalte Cities ändert sich.

Ergebnistabelle der Sortierreihenfolge unter Verwendung der wildmatchwildmatch-Funktion

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

## Weitere Informationen

* [match - Skript- und Diagrammfunktion](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/match.htm)
* [mixmatch - Skript- und Diagrammfunktion](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/mixmatch.htm)