# mixmatch — функция скриптa и диаграммы

Функция mixmatch сравнивает первый параметр со всеми последующими и возвращает числовое местоположение совпадающих выражений. При сравнении не учитывается регистр, а также японские системы символов хирагана и катакана.

Синтаксис:

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

Если необходимо использовать сравнение с учетом регистра, используйте функцию match. Если необходимо использовать сравнение, в котором регистр не учитывается, и знаки подстановки, используйте функцию wildmatch.

В нескольких примерах этого раздела используется встроенная загрузка. [Использование встроенных загрузок для загрузки данных](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)

## Пример: скрипт загрузки с использованием mixmatch

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

#### Пример: скрипт загрузки

Скрипт загрузки

Функцию mixmatch можно использовать для загрузки подмножества данных. К примеру, можно вернуть числовое значение выражения в функции. Затем можно ограничить загруженные данные с использованием числового значения. При отсутствии совпадений функция Mixmatch возвращает 0. Таким образом, в данном примере все выражения, для которых не были найдены совпадения, вернут 0 и будут исключены из загрузки данных при помощи оператора WHERE.

Создайте новую вкладку в редакторе загрузки данных и загрузите следующие данные через встроенную загрузку. Создайте приведенную ниже таблицу ниже в Qlik Sense, чтобы увидеть результаты.

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

Результаты

В таблице Qlik SenseQlik Sense представлены результаты использования функции mixmatchmixmatch в скрипте загрузки.

| Цветовой код Black, Blue, blue | Customer |
| --- | --- |
| Black | 203521 |
| Black | 3036491 |
| Blue | 2038593 |
| blue | 5646471 |

## Примеры: выражения диаграммы с использованием mixmatch

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

#### Примеры. Выражения диаграммы

Создайте новую вкладку в редакторе загрузки данных и загрузите следующие данные через встроенную загрузку. После загрузки данных создайте приведенные ниже примеры выражения диаграммы ниже в таблице Qlik Sense.

Выражение диаграммы 1

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

Первое выражение в таблице ниже возвращает 0 для значения «Stockholm», так как «Stockholm» не входит в список выражений в функции mixmatch. Выражение также возвращает 4 для значения «Zurich», так как сравнение mixmatch не учитывает регистр.

В таблице Qlik SenseQlik Sense представлены примеры использования функции mixmatchmixmatch в выражении диаграммы

| Cities | match( Cities,'Toronto','Boston','Beijing','Zurich') | mixmatch( Cities,'Toronto','Boston','Beijing','Stockholm','Zurich') |
| --- | --- | --- |
| Beijing | 3 | 3 |
| Boston | 2 | 2 |
| Stockholm | 0 | 4 |
| Toronto | 1 | 1 |
| zurich | 4 | 5 |

Выражение диаграммы 2

Функцию mixmatch можно применять для пользовательской сортировки выражений.

По умолчанию сортировка столбцов выполняется в алфавитном или числовом порядке в зависимости от характера данных.

Таблица Qlik SenseQlik Sense с примером порядка сортировки по умолчанию

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

Чтобы изменить порядок сортировки, выполните следующие действия:

1. Откройте раздел Сортировка диаграммы на панели Свойства.

2. Выключите автоматическую сортировку столбца, для которого необходимо применить пользовательскую сортировку.

3. Отмените выбор параметров Сортировка по численным значениям и Сортировка по алфавиту.

4. Выберите Сортировка по выражению и введите следующее выражение:

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

   Порядок сортировки столбца Cities будет изменен.

Таблица Qlik SenseQlik Sense с примером изменения порядка сортировки при помощи функции mixmatchmixmatch.

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

Также можно просмотреть возвращенное числовое значение.

Таблица Qlik SenseQlik Sense с примерами числовых значений, которые были получены из функции mixmatchmixmatch.

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

## Подробнее

* [match — функция скриптa и диаграммы](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/match.htm)
* [wildmatch — функция скриптa и диаграммы](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)