# mixmatch funkcja skryptu i funkcja wykresu

Funkcja mixmatch porównuje pierwszy parametr z wszystkimi kolejnymi parametrami i zwraca liczbową lokalizację dopasowanych wyrażeń. W porównaniu nie jest uwzględniana wielkość liter ani japońskie systemy znaków hiragana i katakana.

Składnia:

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

Typ zwracanych danych: liczba całkowita

Aby dokonywać porównań uwzględniających wielkość liter, należy użyć funkcji match. 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 |
| --- | --- |
| `mixmatch( ColorCode,'black','Blue' )` | Wyrażenie to zwraca `1`, jeśli wartością `ColorCode` jest `Black`, lub `2`, jeśli wartością `ColorCode` jest `Blue`. |
| `mixmatch( Cities,'toronto','Boston','Beijing','Zurich' )` | To wyrażenie zwraca indeks elementu pasującego do wartości w polu `Cities`. |

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

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

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

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

* `=If(mixmatch(ProductCategory, 'Toiletries', 'Fruits'), 'Consumable', 'Other')`, aby zinterpretować dopasowanie `ProductCategory` do `Toiletries` lub `Fruits` jako `Consumable`. W razie braku dopasowania zwracane jest `Other`.

InformacjaFunkcja `mixmatch` zwraca niezerową wartość dodatnią, jeśli znaleziono dopasowanie, lub zero, jeśli nie znaleziono dopasowania. Z kolei instrukcja `if` interpretuje wyniki niezerowe jako `true`, a wyniki zerowe jako `false`. Łącząc instrukcję `if` z funkcjami `mixmatch`, `wildmatch` lub `match`, można łatwo dekodować dopasowania i niedopasowania.

Tabela wynikowa

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

Funkcja `mixmatch` zwraca indeks szukanego ciągu w pierwszej mierze. W drugiej mierze wynik jest używany w funkcji `If` do dostarczania wyników niestandardowych. Funkcja `mixmatch` nie uwzględnia wielkości liter.

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

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

Funkcja `mixmatch` 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 `mixmatch` zarówno dla pola `Region`, jak i `Industry`. Funkcja `mixmatch` nie uwzględnia wielkości liter.

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

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

#### Skrypt ładowania

Przegląd

Funkcji mixmatch 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 Mixmatch 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 - Black, Blue, blue`. Instrukcja `where` ładuje wyniki z funkcji `mixmatch`.

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

Wyniki

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

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

* `Customer`

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

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

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

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

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

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

* =Cities & ' - ' & mixmatch ( 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 mixmatch. Zwracana jest także wartość 4 dla Zurich, ponieważ porównanie mixmatch nie uwzględnia wielkości liter.

Tabela wynikowa

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

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

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

#### Wyrażenie wykresu

Przegląd

Funkcji mixmatch 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.

Wyniki

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

* Cities

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:

   =mixmatch( 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 mixmatchmixmatch

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

## Dowiedz się więcej

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