# mixmatch – Skript- och diagramfunktion

Funktionen mixmatch jämför den första parametern med alla de följande och returnerar den numeriska platsen för uttryck som matchar. Jämförelsen är inte skiftlägeskänslig och är okänslig för de japanska teckensystemen hiragana och katakana.

Syntax:

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

Returnerad datatyp: heltal

Om du vill använda skiftlägeskänslig jämförelse använder du funktionen match. Om du vill använda ej skiftlägeskänslig jämförelse och jokertecken använder du funktionen wildmatch.

Argument

| Argument | Beskrivning |
| --- | --- |
| str | Strängen som ska utvärderas. |
| expr1 | Det första uttrycket som ska kontrolleras om det har ett giltigt numeriskt värde. |
| expr2 | Det andra uttrycket som ska kontrolleras om det har ett giltigt numeriskt värde. |
| expr3 | Det tredje uttrycket som ska kontrolleras om det har ett giltigt numeriskt värde. |

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `mixmatch( ColorCode,'black','Blue' )` | Detta uttryck returnerar `1` om värdet av `ColorCode` är `Black` eller `2` om värdet av `ColorCode` är `Blue`. |
| `mixmatch( Cities,'toronto','Boston','Beijing','Zurich' )` | Detta uttryck returnerar indexet för det objekt som matchar värdet i `Cities`-fältet. |

Vissa exempel i det här ämnet använder inline-laddningar. [Använda inline-laddningar för att ladda data](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)

## Exempel – Kategorisera produkter med hjälp av mixmatch

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

#### Diagramuttryck

Översikt

En datauppsättning innehåller produktdata. Du vill identifiera och kategorisera förbrukningsbara produkter.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `ProductID`

  * `ProductName`

  * `ProductCategory`

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `ProductID`

* `ProductName`

* `ProductCategory`

Skapa följande mått:

* `=mixmatch(ProductCategory,'Toiletries', 'Fruits')`, för att returnera det index där `ProductCategory` har värdet `Toiletries` eller `Fruits`.

* `=If(mixmatch(ProductCategory, 'Toiletries', 'Fruits'), 'Consumable', 'Other')`, för att översätta en `ProductCategory`-matchning mot antingen `Toiletries` eller `Fruits` som `Consumable`. Om ingen motsvarighet påträffas, returneras `Other`.

Anteckning om informationFunktionen `mixmatch` returnerar ett positivt värde som inte är noll om en matchning hittas, annars noll om ingen matchning hittas. `if`-satsen tolkar i sin tur resultat som inte är noll som `true` och resultat som är noll som `false`. Genom att kombinera en `if`-sats med funktionerna `mixmatch`, `wildmatch` eller `match`, är det möjligt att enkelt avkoda matchningar och felmatchningar.

Resultattabell

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

`mixmatch`-funktionen returnerar indexet för söksträngen i det första måttet. I den andra åtgärden används detta resultat sedan i en `If`-funktion för att ge anpassade resultat. Observera att funktionen `mixmatch` inte är skiftlägeskänslig.

## Exempel – Utvärdera och klassificera kunddata med hjälp av mixmatch

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

#### Diagramuttryck

Översikt

En datauppsättning innehåller kunddata. Du vill identifiera och kategorisera de kunder vars region och branschkategori uppfyller dina klassificeringskrav.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `ClientID`

  * `ClientName`

  * `Region`

  * `Industry`

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

Skapa följande mått:

`=If(mixmatch(Region, 'North', 'East') AND mixmatch(Industry, 'Technology', 'Manufacturing'), 'Target Segment', 'Secondary Segment')`, för att returnera indexet för söksträngen. Om det hittas returneras `Target Segment`. Om det inte hittas returneras `Secondary Segment`.

Resultattabell

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

`mixmatch`-funktionen söker efter text och returnerar ett index som sedan kan användas för att utföra ytterligare analyser och dataklassificering. Exempelvis klassificeras `Acme Corp` som ett `Target Segment` eftersom det uppfyller `mixmatch`-funktionens sökkrav för fälten `Region` och `Industry`. Observera att funktionen `mixmatch` inte är skiftlägeskänslig.

## Exempel – Laddningsskript som använder mixmatch

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

#### Laddningsskript

Översikt

Du kan använda mixmatch för att ladda en delmängd av dina data. Du kan till exempel returnera ett numeriskt värde för ett uttryck i funktionen. Sedan kan du begränsa vilka data som laddas utifrån det numeriska värdet. Mixmatch returnerar 0 om det inte finns någon matchning. Alla uttryck som inte har någon matchning i det här exemplet returnerar därför 0 och `WHERE`-satsen utesluter dem från dataladdningen.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i två datatabeller som heter:

  * `Transactions`: Innehåller transaktionsfält

  * `Transaction_Buckets`: Skapar två nya fält `Customer` och `Color Code - Black, Blue, blue`. `where`-satsen läser in resultaten från `mixmatch`-funktionen.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `[Color Code - Black, Blue, blue]`

* `Customer`

Resultattabellen visar utdata vid användning av mixmatchmixmatch-funktionen i laddningsskriptet.

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

## Exempel – diagramuttryck som använder mixmatch

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

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter Example.

* Följande fält i datatabellen:

  * Cities

  * Count

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* Cities

Skapa följande mått:

* =mixmatch( Cities,'Toronto','Boston','Beijing','Zurich'), för att returnera indexet för söksträngen.

* =mixmatch( Cities,'Toronto','Boston','Beijing','Stockholm','Zurich'), för att returnera indexet för söksträngen.

* =Cities & ' - ' & mixmatch ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','Zurich'), för att returnera Cities-fältet och indexet för söksträngen.

Det första måttet i tabellen nedan returnerar 0 för Stockholm, eftersom Stockholminte finns med i listan med uttryck i mixmatch-funktionen. Den returnerar också 4 för Zurich eftersom mixmatch-jämförelsen inte är skiftlägeskänslig.

Resultattabell

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

## Exempel – anpassat diagramuttryck som använder mixmatch

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

#### Diagramuttryck

Översikt

Du kan använda mixmatch för att utföra en anpassad sortering för ett uttryck. I det här exemplet används samma datauppsättning som i föregående exempel.

Som standard sorteras kolumner numeriskt eller alfabetiskt, beroende på datatyp.

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* Cities

Resultattabell som visar standardsorteringsordningen

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

Gör följande för att ändra sorteringsordningen:

1. Öppna delavsnittet Sortering för ditt diagram i egenskapspanelen.

2. Inaktivera automatisk sortering för den kolumn du vill använda anpassad sortering för.

3. Radera kryssrutorna Sortera numeriskt och Sortera alfabetiskt.

4. Välj Sortera efter uttryck och ange sedan ett uttryck som liknar följande:

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

   Sorteringsordningen för kolumnen Cities ändras.

Resultattabell som visar sorteringsordningen med hjälp av mixmatchmixmatch-funktionen

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

## Mer information

* [match – Skript- och diagramfunktion](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/match.htm)
* [wildmatch – Skript- och diagramfunktion](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)