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

Функция wildmatch сравнивает первый параметр со всеми последующими и возвращает число совпадающих выражений. Она позволяет использовать символы подстановки ( \* и ?) в сравниваемых строках. \* соответствует любой последовательности символов. ? соответствует одному символу. При сравнении не учитывается регистр, а также японские системы символов хирагана и катакана.

Синтаксис:

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

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

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

## Пример. Скрипт загрузки, использующий wildmatch

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

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

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

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

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

```
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, red
Load Transactions table.
Wildmatch returns 1 for 'Black', 'Blue', and 'blue', and 2 for 'Red'. 
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, Red]
Resident Transactions
Where wildmatch(color_code,'Bl*','R??') > 0;
```

Результаты

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

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

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

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

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

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

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

```
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» не входит в список выражений в функции wildmatch. Он также возвращает 0 для 'Boston', потому что ? совпадает только с одним символом.

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

| Cities | wildmatch( Cities,'Tor\*','?ton','Beijing','\*urich') | wildmatch( Cities,'Tor\*','???ton','Beijing','Stockholm','\*urich') |
| --- | --- | --- |
| Beijing | 3 | 3 |
| Boston | 0 | 2 |
| Stockholm | 0 | 4 |
| Toronto | 1 | 1 |
| zurich | 4 | 5 |

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

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

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

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

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

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

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

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

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

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

   `=wildmatch( Cities, 'Tor*','???ton','Beijing','Stockholm','*urich')`

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

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

| Cities |
| --- |
| Торонто |
| Boston |
| Beijing |
| Stockholm |
| zurich |

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

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

| Cities | Cities & ' - ' & wildmatch ( Cities, 'Tor\*','???ton','Beijing','Stockholm','\*urich') |
| --- | --- |
| Toronto | Toronto - 1 |
| Boston | Boston - 2 |
| Beijing | Beijing - 3 |
| Stockholm | Stockholm - 4 |
| zurich | zurich - 5 |

## Подробнее

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