# match - Skript- und Diagrammfunktion

Die match-Funktion vergleicht den ersten Parameter mit allen folgenden und liefert den numerischen Speicherort der übereinstimmenden Formeln. Beim Vergleich wird die Groß- und Kleinschreibung berücksichtigt.

Syntax:

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

Rückgabe Datentyp: ganze Zahl

TipphinweisWenn die Groß- und Kleinschreibung beim Vergleich keine Rolle spielen soll, verwenden Sie die mixmatch-Funktion. Wenn die Groß- und Kleinschreibung beim Vergleich keine Rolle spielen soll und Wildcards eingesetzt werden sollen, verwenden Sie die wildmatch-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 |
| --- | --- |
| `match( ColorCode,'Blue','Black' )` | Diese Formel gibt den Index der Übereinstimmung mit dem Feld `ColorCode` zurück. Wenn der Wert von `ColorCode` `Blue` ist, wird `1` zurückgegeben. Wenn der Wert von `ColorCode` `Black` ist, wird `2` zurückgegeben. Wenn keine Übereinstimmung gefunden wird, wird `0` zurückgegeben. |
| `match( Region, 'North', 'East' )` | Diese Formel gibt den Index der Übereinstimmung mit dem Feld `Region` zurück. Wenn der Wert von `Region` `North` ist, wird `1` zurückgegeben. Wenn der Wert von `Region` `East` ist, wird `2` zurückgegeben. Wenn keine Übereinstimmung gefunden wird, wird `0` zurückgegeben. |

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/match.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", "Fruits"
3, "Shampoo", "Toiletries"
4, "TV", "Electronics"
5, "Apple", "Fruits"
];
```

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:

* `=match(ProductCategory,'Toiletries', 'Fruits')`, um den Index zurückzugeben, bei dem `ProductCategory` den Wert `Toiletries` oder `Fruits` hat.

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

Ergebnistabelle

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

Die Funktion `match` 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 Produkte als `Consumable` oder `Other` zu kategorisieren.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/match.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", "Manufacturing"
2, "Beta Ltd", "East", "Technology"
3, "Gamma Inc", "West", "Retail"
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(match(Region, 'North', 'East') AND match(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(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 |

Die Funktion `match` 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 `match` sowohl für das Feld `Region` als auch für das Feld `Industry` erfüllt.

## Beispiel: Ladeskript, das match verwendet

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

#### Ladeskript

Übersicht

Sie können match 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. Die Funktion Match gibt 0 zurück, 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 Blue and Black`. Der `where`-Befehl lädt die Ergebnisse der Funktion `match`.

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

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 Blue and Black]`

* `Customer`

Ergebnistabelle mit der Ausgabe nach Verwendung der Funktion matchmatch im Ladeskript

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

## Beispiel – Diagrammformel, die match verwendet

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/match.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:

* =match( Cities,'Toronto','Boston','Beijing','Zurich'), um den Index des Suchworts zurückzugeben.

* =match( Cities,'Toronto','Boston','Beijing','Stockholm','zurich'), um den Index des Suchworts zurückzugeben.

* =Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich'), 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 match-Funktion enthalten ist. Sie gibt auch 0 für Zurich zurück, da der Vergleich match zwischen Groß- und Kleinschreibung unterscheidet.

Ergebnistabelle

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

## Beispiel – Benutzerdefinierte Sortierformel, die match verwendet

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

#### Diagrammformel

Übersicht

Sie können match 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.

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:

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

   Die Sortierreihenfolge der Spalte Cities ändert sich.

Ergebnistabelle der Sortierreihenfolge unter Verwendung der matchmatch-Funktion

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

## Weitere Informationen

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