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

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

Используются те же операторы, что для идентификаторов множеств.

Операторы

| Оператор | Описание |
| --- | --- |
| `+` | Объединение. Данная бинарная операция возвращает множество, состоящее из записей или элементов, принадлежащих любому из двух операндов множества. |
| `-` | Исключение. Данная бинарная операция возвращает множество записей или элементов, принадлежащих первому из двух операндов множества. Также, при использовании в качестве унарного оператора, она возвращает дополнительное множество. |
| `*` | Пересечение. Данная бинарная операция возвращает множество, состоящее из записей или элементов, принадлежащих обоим операндам множества. |
| `/` | Симметрическая разность (`(XOR)`). Данная бинарная операция возвращает множество, состоящее из записей или элементов, принадлежащих одному из операндов множества, но не сразу обоим. |

Например, следующие два модификатора определяют то же множество значений поля:

* `<Year = {1997, "20*"}>`

* `<Year = {1997} + {"20*"}>`

Оба выражения выбирают `1997` и годы, которые начинаются с `20`. Другими словами, это объединение двух условий.

Операторы множества также позволяют использовать более сложные определения. Пример.

`<Year = {1997, "20*"} - {2000}>`

Это выражение выберет те же годы, что выше, но также исключит год `2000`.

Для получения дополнительной информации см. раздел [Операторы множеств](https://help.qlik.com/ru-RU/sense/November2024/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-operators.htm).

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-modifiers-set-operators.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/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

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

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

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

| Страна | Sum(Amount) | Sum({&lt;Year={"&gt;2018"}-{2020}&gt;} Amount) | Sum({&lt;Country=-{Germany}&gt;} Amount) | Sum({&lt;Country={Germany}+P({&lt;Product={Nut}&gt;}Country)&gt;} Amount) |
| --- | --- | --- | --- | --- |
| Итоги | 41 | 9 | 28 | 17 |
| Канада | 14 | 0 | 14 | 0 |
| Чешская Республика | 10 | 9 | 10 | 0 |
| Франция | 4 | 0 | 4 | 4 |
| Германия | 13 | 0 | 0 | 13 |

Объяснение

* Измерения:

  * `Country`

* Меры:

  * `Sum(Amount)`

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

  * `Sum({<Year={">2018"}-{2020}>}Amount)`

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

  * `Sum({<Country=-{Germany}>}Amount)`

    Суммировать `Amount` для всех стран, кроме `Germany`. Обратите внимание на унарный оператор исключения.

  * `Sum({<Country={Germany}+P({<Product={Nut}>}Country)>}Amount)`

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

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

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

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

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

| Примеры | Результаты |
| --- | --- |
| sum( {$&lt;Product = Product + {OurProduct1} – {OurProduct2} &gt;} Sales ) | Возвращает продажи для текущей выборки, но в список выбранных продуктов добавляется продукт «OurProduct1» и удаляется продукт «OurProduct2». |
| sum( {$&lt;Year = Year + ({“20\*”,1997} – {2000}) &gt;} Sales ) | Возвращает продажи для текущей выборки, но с дополнительными выборками в поле «Year»: 1997 и все года, начинающиеся с «20», за исключением 2000.<br><br>Обратите внимание, что в случае включения значения 2000 в текущую выборку, оно останется включенным и после изменения. |
| sum( {$&lt;Year = (Year + {“20\*”,1997}) – {2000} &gt;} Sales ) | Возвращает практически все то же самое, что и выше, однако здесь значение 2000 будет исключено, даже если изначально оно было включено в текущую выборку. Пример демонстрирует важность использования в некоторых случаях скобок для определения очередности. |
| sum( {$&lt;Year = {“\*”} – {2000}, Product = {“\*bearing\*”} &gt;} Sales ) | Возвращает продажи для текущей выборки, но с новой выборкой в поле «Year»: все года, кроме 2000; и только для продуктов, содержащих строку «bearing». |