# match — funkcja skryptu i funkcja wykresu

Funkcja match porównuje pierwszy parametr z wszystkimi kolejnymi parametrami i zwraca liczbową lokalizację z wyrażeń dopasowanych. Wielkość liter w porównaniu ma znaczenie.

Składnia:

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

Typ zwracanych danych: liczba całkowita

WskazówkaAby dokonywać porównań ignorujących wielkość liter, należy użyć funkcji mixmatch. Aby dokonywać porównań ignorujących wielkość liter i symboli wieloznacznych, należy użyć funkcji wildmatch.

Argumenty

| Argument | Opis |
| --- | --- |
| str | Ciąg znaków do oceny. |
| expr1 | Pierwsze wyrażenie do sprawdzenia poprawnej reprezentacji liczbowej. |
| expr2 | Drugie wyrażenie do sprawdzenia poprawnej reprezentacji liczbowej. |
| expr3 | Trzecie wyrażenie do sprawdzenia poprawnej reprezentacji liczbowej. |

Przykład: wyrażenia wykresu

| Przykład | Wynik |
| --- | --- |
| `match( ColorCode,'Blue','Black' )` | To wyrażenie zwraca indeks dopasowania do pola `ColorCode`. Jeżeli wartością `ColorCode` jest `Blue`, wtedy zwracane jest `1`. Jeżeli wartością `ColorCode` jest `Black`, wtedy zwracane jest `2`. W razie braku dopasowania zwracane jest `0`. |
| `match( Region, 'North', 'East' )` | To wyrażenie zwraca indeks dopasowania do pola `Region`. Jeżeli wartością `Region` jest `North`, wtedy zwracane jest `1`. Jeżeli wartością `Region` jest `East`, wtedy zwracane jest `2`. W razie braku dopasowania zwracane jest `0`. |

Niektóre przykłady w tym temacie wykorzystują ładowania wbudowane. Więcej informacji zawiera temat [Używanie wbudowanych ładowań do ładowania danych](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

## Przykład — kategoryzacja produktów przy użyciu match

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane produktów. Chcesz zidentyfikować i sklasyfikować produkty podlegające zużyciu.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `ProductID`

  * `ProductName`

  * `ProductCategory`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `ProductID`

* `ProductName`

* `ProductCategory`

Utwórz następujące miary:

* `=match(ProductCategory,'Toiletries', 'Fruits')`, aby zwrócić indeks, w którym `ProductCategory` ma wartość `Toiletries` lub `Fruits`.

* `=If(match(ProductCategory, 'Toiletries', 'Fruits'), 'Consumable', 'Other')`, aby zwrócić indeks, w którym `ProductCategory` ma wartość `Toiletries` lub `Fruits`. Jeśli którykolwiek z nich zostanie znaleziony, zwracane jest `Consumable`. W przeciwnym razie zwracane jest `Other`.

Tabela wynikowa

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

Funkcja `match` zwraca indeks szukanego ciągu w pierwszej mierze. W drugiej mierze wynik ten jest następnie wykorzystywany w funkcji `If` do kategoryzowania produktów jako `Consumable` lub `Other`.

## Przykład — ocena i klasyfikacja danych klientów przy użyciu match

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane klientów. Chcesz zidentyfikować i skategoryzować klientów, których region i kategoria branżowa spełniają Twoje wymagania dotyczące klasyfikacji.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `ClientID`

  * `ClientName`

  * `Region`

  * `Industry`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

Utwórz następującą miarę:

`=IF(match(Region, 'North', 'East') AND match(Industry, 'Technology', 'Manufacturing'), 'Target Segment', 'Secondary Segment')`, aby zwrócić indeks szukanego ciągu. W razie znalezienia zwracane jest `Target Segment`. Jeżeli nie uda się znaleźć, zwracane jest `Secondary Segment`.

Tabela wynikowa

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

Funkcja `match` wyszukuje tekst i zwraca indeks, który można następnie wykorzystać do przeprowadzenia dodatkowej analizy i klasyfikacji danych. Na przykład `Acme Corp` jest klasyfikowana jako `Target Segment`, ponieważ spełnia wymagania wyszukiwania funkcji `match` zarówno dla pola `Region`, jak i `Industry`.

## Przykład — skrypt ładowania używający match

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

#### Skrypt ładowania

Przegląd

Funkcji match można użyć, aby załadować podzbiór danych. Można na przykład zwrócić wartość liczbową dla wyrażenia w funkcji. Następnie można ograniczyć załadowane dane na podstawie tej wartości liczbowej. W przypadku braku dopasowania funkcja Match zwraca 0. Wszystkie wyrażenia, dla których nie zostanie znalezione dopasowanie, zwrócą w tym przykładzie 0 i zostaną wykluczone z danych ładowanych przez instrukcję `WHERE`.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do dwóch tabeli o nazwie:

  * `Transactions`: zawiera pola transakcji

  * `Transaction_Buckets`: tworzy dwa nowe pola `Customer` i `Color Code Blue and Black`. Instrukcja `where` ładuje wyniki z funkcji `match`.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `[Color Code Blue and Black]`

* `Customer`

Tabela wynikowa przedstawiająca wynik użycia funkcji matchmatch w skrypcie ładowania

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

## Przykład — wyrażenie wykresu używające match

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

#### Wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie Example.

* Tabela zawiera następujące pola:

  * Cities

  * Count

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* Cities

Utwórz następujące miary:

* =match( Cities,'Toronto','Boston','Beijing','Zurich'), aby zwrócić indeks szukanego ciągu.

* =match( Cities,'Toronto','Boston','Beijing','Stockholm','zurich'), aby zwrócić indeks szukanego ciągu.

* =Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich'), aby zwrócić pole Cities i indeks szukanego ciągu.

Pierwsze wyrażenie z tabeli poniżej zwraca 0 dla Stockholm, ponieważ Stockholm nie znajduje się na liście wyrażeń w funkcji match. Zwraca również 0 dla Zurich, ponieważ w porównaniu match rozróżniana jest wielkość liter.

Tabela wynikowa

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

## Przykład — niestandardowe wyrażenie sortowania używające match

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

#### Wyrażenie wykresu

Przegląd

Funkcji match można użyć, aby wykonać niestandardowe sortowanie dla wyrażenia. W tym przykładzie użyto tego samego zestawu danych co w poprzednim przykładzie.

Domyślnie kolumny są posortowane w porządku liczbowym lub alfabetycznym — w zależności od danych.

Tabela wyników pokazująca domyślny porządek sortowania

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

Aby zmienić kolejność sortowania, wykonaj następujące czynności:

1. W panelu Właściwości otwórz sekcję Sortowanie dla wykresu.

2. Wyłącz automatyczne sortowanie dla kolumny, względem której chcesz wykonać sortowanie niestandardowe.

3. Wyczyść pola wyboru Sortuj w kolejności liczbowej i Sortuj alfabetycznie.

4. Zaznacz opcję Sortuj wg wyrażenia, a następnie wprowadź wyrażenie podobne do następującego:

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

   Porządek sortowania w kolumnie Cities ulegnie zmianie.

Tabela aplikacji wynikowa pokazująca porządek sortowania przy użyciu funkcji matchmatch

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

## Dowiedz się więcej

* [mixmatch — funkcja skryptu i funkcja wykresu](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/mixmatch.htm)
* [wildmatch — funkcja skryptu i funkcja wykresu](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)