# Модификаторы множества с поиском

Можно создавать множества элементов посредством поисковых запросов с модификаторами множества.

Пример.

* `<Country = {"C*"}>`
* `<Year = {">2015"}>`
* `<Ingredient = {"*garlic*"}>`

Поисковые запросы следует всегда заключать в двойные кавычки, квадратные скобки или апострофы. Можно использовать список, содержащий буквальные строки (в одинарных кавычках) и поиски (в двойных кавычках). Пример.

`<Product = {'Nut', "*Bolt", Washer}>`

## Текстовые поиски

В текстовых поисках можно использовать подстановочные знаки и другие символы:

* Звездочка (\*) будет представлять любое количество символов.

* Знак вопроса (?) будет представлять один символ.

* Циркумфлекс (^) будет обозначать начало слова.

Пример.

* `<Country = {"C*", "*land"}>`

  Найти все страны, название которых начинается с `C` или оканчивается на `land`.

* `<Country = {"*^z*"}>`

  Будут возвращены все страны, название которых начинается с `z`, например `New Zealand`.

## Числовые поиски

Для числовых поисков можно использовать следующие реляционные операторы: `>`, `>=`, `<`, `<=`

Числовой поиск всегда начинается с одного из этих операторов. Пример.

* `<Year = {">2015"}>`

  Найти данные за 2016 и все последующие годы.

* `<Date = {">=1/1/2015<1/1/2016"}>`

  Найти данные для всех дат в 2015 году. Обратите внимание на синтаксис для обозначения диапазона времени между двумя датами. Формат даты должен соответствовать формату даты рассматриваемого поля.

## Поиски выражений

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

Поиск выражения всегда начинается со знака равенства: `=`

Пример.

`<Customer = {"=Sum(Sales)>1000"}>`

По этому запросу будут возвращены все клиенты со значением объема продаж больше 1000. `Sum(Sales)` рассчитывается на основании текущей выборки. Это означает, что если имеется выборка в другом поле, например в поле `Product`, будут возвращены клиенты, которые удовлетворяют условию объема продаж только для выбранных продуктов.

Если требуется использовать условие независимо от выборки, необходимо использовать анализ множеств внутри строки поиска. Пример.

`<Customer = {"=Sum({1} Sales)>1000"}>`

Выражения после знака равенства будут интерпретироваться как булево значение. Другими словами, если выражение дает другой результат, то любое число, отличное от нуля, интерпретируется как true, а 0 и строковые значения — как false.

## Кавычки

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

Пример.

* `<Country = {'New Zealand'}>`

  Соответствует только `New Zealand`.

* `<Country = {"New Zealand"}>`

  Соответствует `New Zealand`, `NEW ZEALAND` и `new zealand`.

Двойные кавычки можно заменить квадратными скобками или апострофами.

Для получения дополнительной информации см. [Поиск в выборках или визуализациях](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Selections/SelectionsToolbar/search-selections.htm).

Примечание к информацииВ предыдущих версиях Qlik Sense не было различий в использовании одинарных и двойных кавычек. Все строки, заключенные в кавычки, обрабатывались как поиски. В целях обеспечения обратной совместимости приложения, созданные при помощи более ранних версий Qlik Sense, будут работать в том же порядке, что и в предыдущих версиях. В приложениях, созданных при помощи Qlik Sense November 2017 и более поздних версий, учитывается различие между двумя типами кавычек.

## Пример: выражения диаграммы для модификаторов множества с поисками

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-modifiers-advanced-searches.htm)

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

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

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

```
MyTable:
Load 
Year(Date) as Year,
Date#(Date,'YYYY-MM-DD') as ISO_Date, 
Date(Date#(Date,'YYYY-MM-DD'),'M/D/YYYY') as US_Date, 
Country, Product, Amount 
Inline
[Date, Country, Product, Amount
2018-02-20, Canada, Washer, 6
2018-07-08, Germany, Anchor bolt, 10
2018-07-14, Germany, Anchor bolt, 3
2018-08-31, France, Nut, 2
2018-09-02, Czech Republic, Bolt, 1
2019-02-11, Czech Republic, Bolt, 3
2019-07-31, Czech Republic, Washer, 6
2020-03-13, France, Anchor bolt, 1
2020-07-12, Canada, Anchor bolt, 8
2020-09-16, France, Washer, 1];	
```

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

Пример 1: выражения диаграммы с текстовыми поисками

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

Таблица. Модификаторы множества с текстовыми поисками

| Страна | Sum (Amount) | Sum({&lt;Country={"C\*"}&gt;} Amount) | Sum({&lt;Country={"\*^R\*"}&gt;} Amount) | Sum({&lt;Product={"\*bolt\*"}&gt;} Amount) |
| --- | --- | --- | --- | --- |
| Итоги | 41 | 24 | 10 | 26 |
| Канада | 14 | 14 | 0 | 8 |
| Чешская Республика | 10 | 10 | 10 | 4 |
| Франция | 4 | 0 | 0 | 1 |
| Германия | 13 | 0 | 0 | 13 |

Объяснение

* Измерения:

  * `Country`

* Меры:

  * `Sum(Amount)`

    Суммировать `Amount` без выражения множества.

  * `Sum({<Country={"C*"}>}Amount)`

    Суммировать `Amount` для всех стран, название которых начинается с `C`, например `Canada` и `Czech Republic`.

  * `Sum({<Country={"*^R*"}>}Amount)`

    Суммировать `Amount` для всех стран, включающих слово, которое начинается с `R`, например `Czech Republic`.

  * `Sum({<Product={"*bolt*"}>}Amount)`

    Суммировать `Amount` для всех продуктов, содержащих строку `bolt`, например `Bolt` и `Anchor bolt`.

Модификаторы множества с текстовыми поисками

Модификаторы множества с текстовыми поисками

Модификаторы множества с текстовыми поисками ![Выражения диаграммы с текстовыми поисками.](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_text_search.png)

Для получения дополнительной информации о выражениях см. [Использование выражений в визуализациях](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/use-expressions-in-visualizations.htm).

Пример 2: выражения диаграммы с числовыми поисками

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

Таблица. Модификаторы множества с числовыми поисками

| Страна | Sum (Amount) | Sum({&lt;Year={"&gt;2019"}&gt;} Amount) | Sum({&lt;ISO\_Date={"&gt;=2019-07-01"}&gt;} Amount) | Sum({&lt;US\_Date={"&gt;=4/1/2018&lt;=12/31/2018"}&gt;} Amount) |
| --- | --- | --- | --- | --- |
| Итоги | 41 | 10 | 16 | 16 |
| Канада | 14 | 8 | 8 | 0 |
| Чешская Республика | 10 | 0 | 6 | 1 |
| Франция | 4 | 2 | 2 | 2 |
| Германия | 13 | 0 | 0 | 13 |

Объяснение

* Измерения:

  * `Country`

* Меры:

  * `Sum(Amount)`

    Суммировать `Amount` без выражения множества.

  * `Sum({<Year={">2019"}>}Amount)`

    Суммировать `Amount` за все годы после `2019`.

  * `Sum({<ISO_Date={">=2019-07-01"}>}Amount)`

    Суммировать `Amount` для `2019-07-01` и последующих дат. Формат даты в поиске должен соответствовать формату поля.

  * `Sum({<US_Date={">=4/1/2018<=12/31/2018"}>}Amount)`

    Суммировать `Amount` для всех дат с `4/1/2018` по `12/31/2018` включительно. Формат дат в поиске должен соответствовать формату поля.

Модификаторы множества с числовыми поисками

Модификаторы множества с числовыми поисками

Модификаторы множества с числовыми поисками ![Выражения диаграммы с числовыми поисками.](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_numeric_search.png)

Пример 3: выражения диаграммы с поисками выражения

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

Table - Set modifiers with expression searches

| Country | Sum (Amount) | Sum({&lt;Country={"=Sum(Amount)&gt;10"}&gt;} Amount) | Sum({&lt;Country={"=Count(distinct Product)=1"}&gt;} Amount) | Sum({&lt;Product={"=Count(Amount)&gt;3"}&gt;} Amount) |
| --- | --- | --- | --- | --- |
| Totals | 41 | 27 | 13 | 22 |
| Canada | 14 | 14 | 0 | 8 |
| Czech Republic | 10 | 0 | 0 | 0 |
| France | 4 | 0 | 0 | 1 |
| Germany | 13 | 13 | 13 | 13 |

Объяснение

* Измерения:

  * `Country`

* Меры:

  * `Sum(Amount)`

    Суммировать `Amount` без выражения множества.

  * `Sum({<Country={"=Sum(Amount)>10"}>}Amount)`

    Суммировать `Amount` для всех стран, у которых агрегированная сумма `Amount` больше `10`.

  * `Sum({<Country={"=Count(distinct Product)=1"}>}Amount)`

    Суммировать `Amount` для всех стран, связанных только с одним уникально идентифицируемым продуктом.

  * `Sum({<Product={"=Count(Amount)>3"}>}Amount)`

    Суммировать `Amount` для всех стран, для которых имеется больше трех транзакций в базе данных.

Модификаторы множества с поисками выражения

Модификаторы множества с поисками выражения

Модификаторы множества с поисками выражения ![Выражения диаграммы с поисками выражения.](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Resources/Images/ui_gen_setanalysis_expression_search.png)

| Примеры | Результаты |
| --- | --- |
| sum( {$–1&lt;Product = {“\*Internal\*”, “\*Domestic\*”}&gt;} Sales ) | Возвращает продажи для текущей выборки за исключением транзакций, относящихся к продуктам со строкой «Internal» или «Domestic» в имени продукта. |
| sum( {$&lt;Customer = {“=Sum({1&lt;Year = {2007}&gt;} Sales ) &gt; 1000000”}&gt;} Sales ) | Возвращает продажи для текущей выборки, но с новой выборкой в поле «Customer»: только клиенты, общая сумма продаж которых в 2007 г. составила больше 1 000 000. |