# mixmatch - Skript- und Diagrammfunktion

Die mixmatch-Funktion vergleicht den ersten Parameter mit den folgenden und liefert die numerische Position der übereinstimmenden Formeln. Beim Vergleich wird nicht zwischen Groß- und Kleinschreibung und zwischen den japanischen Hiragana- und Katakana-Zeichensystemen unterschieden.

Syntax:

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

Rückgabe Datentyp: ganze Zahl

Wenn beim Vergleich die Groß- und Kleinschreibung berücksichtigt werden soll, verwenden Sie die Funktion match. 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 |
| --- | --- |
| `mixmatch( 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` ist. |
| `mixmatch( 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 mixmatch kategorisieren

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

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

* `=If(mixmatch(ProductCategory, 'Toiletries', 'Fruits'), 'Consumable', 'Other')`, um eine Übereinstimmung von `ProductCategory` entweder mit `Toiletries` oder `Fruits` als `Consumable` zu übersetzen. Wenn keine Übereinstimmung gefunden wird, wird `Other` zurückgegeben.

InformationshinweisDie Funktion `mixmatch` 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-Ergebnisse 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 | mixmatch(ProductCategory,'Toiletries', 'Fruits') | If(mixmatch(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 `mixmatch` 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 `mixmatch` Groß- und Kleinschreibung nicht berücksichtigt.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/mixmatch.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(mixmatch(Region, 'North', 'East') AND mixmatch(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(mixmatch(Region, 'North', 'East') AND mixmatch(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 `mixmatch` 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 `mixmatch` sowohl für das Feld `Region` als auch für das Feld `Industry` erfüllt. Beachten Sie, dass die Funktion `mixmatch` Groß- und Kleinschreibung nicht berücksichtigt.

## Beispiel: Ladeskript mit Verwendung von mixmatch

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

#### Ladeskript

Übersicht

Sie können mixmatch 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. Mixmatch 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`. Der `where`-Befehl lädt die Ergebnisse der Funktion `mixmatch`.

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
Load Transactions table.
Mixmatch returns 1 for 'Black', 2 for 'Blue'. 
Also returns 3 for 'blue' because mixmatch is not 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 - Black, Blue, blue]
Resident Transactions
Where mixmatch(color_code,'Black','Blue') > 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]`

* `Customer`

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

| Color Code - Black, Blue, blue | Customer |
| --- | --- |
| Black | 203521 |
| Black | 3036491 |
| Blue | 2038593 |
| blue | 5646471 |

## Beispiel – Diagrammformel, die mixmatch verwendet

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

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

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

* =Cities & ' - ' & mixmatch ( 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 mixmatch-Funktion enthalten ist. Sie gibt auch 4 für Zurich zurück, da der Vergleich mixmatch nicht zwischen Groß- und Kleinschreibung unterscheidet.

Ergebnistabelle

| Cities | mixmatch( Cities,'Toronto','Boston','Beijing','Zurich') | mixmatch( Cities,'Toronto','Boston','Beijing','Stockholm','Zurich') | Cities & ' - ' & mixmatch ( 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 | 4 | 5 | zurich - 5 |

## Beispiel – Benutzerdefinierte Sortierformel, die mixmatch verwendet

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

#### Diagrammformel

Übersicht

Sie können mixmatch 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:

   =mixmatch( Cities, 'Toronto','Boston','Beijing','Stockholm','Zurich')

   Die Sortierreihenfolge der Spalte Cities ändert sich.

Ergebnistabelle der Sortierreihenfolge unter Verwendung der mixmatchmixmatch-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)
* [wildmatch - Skript- und Diagrammfunktion](https://help.qlik.com/de-DE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)