# match Skript- och diagramfunktion

Funktionen match 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 skiftlägeskänslig.

Syntax:

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

Returnerad datatyp: heltal

Anteckning om tipsOm du vill använda ej skiftlägeskänslig jämförelse använder du funktionen mixmatch. 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 |
| --- | --- |
| `match( ColorCode,'Blue','Black' )` | Detta uttryck returnerar indexet för matchningen i fältet `ColorCode`. Om värdet för `ColorCode` är `Blue` returnerar det `1`. Om värdet för `ColorCode` är `Black` returnerar det `2`. Om ingen motsvarighet påträffas, returneras `0`. |
| `match( Region, 'North', 'East' )` | Detta uttryck returnerar indexet för matchningen i fältet `Region`. Om värdet för `Region` är `North` returnerar det `1`. Om värdet för `Region` är `East` returnerar det `2`. Om ingen motsvarighet påträffas, returneras `0`. |

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/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)

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

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

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

* `=If(match(ProductCategory, 'Toiletries', 'Fruits'), 'Consumable', 'Other')`, för att returnera det index där `ProductCategory` har värdet `Toiletries` eller `Fruits`. Om någon av dem hittas returneras `Consumable`. I annat fall returneras `Other`.

Resultattabell

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

`match`-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 kategorisera produkter som `Consumable` eller `Other`.

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

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

`match`-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 `match`-funktionens sökkrav för fälten `Region` och `Industry`.

## Exempel: laddningsskript som använder match

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

#### Laddningsskript

Översikt

Du kan använda match 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. Match-funktionen returnerar 0 om det inte finns någon match. 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 Blue and Black`. `where`-satsen läser in resultaten från `match`-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 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; 
```

Resultat

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

* `[Color Code Blue and Black]`

* `Customer`

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

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

## Exempel – diagramuttryck som använder match

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

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

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

* =Cities & ' - ' & match ( 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 match-funktionen. Den returnerar också 0 för Zurich eftersom match-jämförelsen är skiftlägeskänslig.

Resultattabell

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

## Exempel – anpassat diagramuttryck som använder match

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

#### Diagramuttryck

Översikt

Du kan använda match 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.

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:

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

   Sorteringsordningen för kolumnen Cities ändras.

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

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

## Mer information

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