# Флаг сохранения пустого множества.

Вы можете использовать символ `&` (флаг сохранения пустого множества) в начале некоторых внешних выражений множества, чтобы отключить [очищение выборки от пустых множеств](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/empty-set-preserve-flag.htm#Implicit), которое производится по умолчанию во время анализа. Флаг сохранения пустого множества позволяет некоторым образом изменить вычисления и представления функций агрегирования на пользовательских выборках, не меняя длинные и сложные выражения.

Например, в следующем выражении используется флаг сохранения пустого множества:

```
{&<Country*={'Sweden', 'Denmark'}>} {<ProductCategory={'shirts'}>} Sum( Sales )
```

## Фон

### Условия

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

* Хотя бы одно внутреннее и одно внешнее выражение множества

* Два или более внешних выражений множества

Используйте флаг сохранения пустого множества, если нужно отключить [автоматическое очищение множества.](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/empty-set-preserve-flag.htm#Implicit).

### автоматическое очищение множества.

Автоматическое очищение множества — это стандартное поведение, которое иногда может быть нежелательным для анализа, например, когда используются сложные цепочки из выражений множества.Автоматическое очищение выборки данных применяется в выражениях множества, которые имеют структуру, описанную в [Условия](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/empty-set-preserve-flag.htm#Requirements).

Стандартное поведение может быть нежелательным в следующих ситуациях:

1. одно или несколько внешних выражений множеств в цепочке — первое (или единственное), а также все последующие внешние выражения, кроме последнего — определяют наборы данных. Пример. `Country*={'Sweden', 'Denmark'}>}`

2. Случается, что вычисление одного или нескольких внешних выражений множества дает в результате пустое множество. Чаще всего это происходит из-за конфликтующего выбора, сделанного в приложении.

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

   Однако, если внешнее выражение множества дает непустой результат или является последним в цепочке, то полученное множество учитывается при вычислении.

Такое поведение приводит к тому, что результат агрегирования может быть неожиданным, а анализ — непоследовательным. Чтобы обойти это ограничение, используется флаг сохранения пустого множества. См. [Решение: использование флага сохранения пустого множества](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/empty-set-preserve-flag.htm#Solution).

### Решение: использование флага сохранения пустого множества

Используйте символ `&` (флаг сохранения пустого множества), чтобы отменить автоматическое очищение множества. Если используется этот флаг, набор, определенный в первом внешнем выражении множества в цепочке, будет сохранен полностью и в таком виде будет использоваться при вычислении выражения.

Использование флага сохранения пустого множества дает следующие преимущества:

* Гибкость и экономия времени в ситуации, когда уже есть готовые длинные выражения, которые не хотелось бы переписывать.

* Возможность изменения логики агрегирования, когда нужно расширить область применения.

## Синтаксис

Флаг сохранения пустого множества представляет собой символ`&`, который ставится в начале выражения — перед модификаторами, идентификаторами и операторами.

Примеры:

Примеры — флаг сохранения пустого множества

| Выражение | Выражение без флага сохранения пустого множества |
| --- | --- |
| `{&<Country*={'Sweden', 'Denmark'}>} {<ProductCategory={'shirts'}>} Sum( Sales )` | `{<Country={'Sweden'}>} {<ProductCategory={'shirts'}>} Sum (Sales)` |
| `{& <Year=, Product={XI345}>} {<Region={Europe}>} Sum (Sales)` | `{<Year=, Product={XI345}>} {<Region={Europe}>} Sum (Sales)` |

## Данные и примеры

Для получения более подробной информации см. раздел [Цепочки из нескольких внешних и внутренних выражений множества](https://help.qlik.com/ru-RU/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/set-expressions-inner-and-outer.htm#Chains).