Перейти к основному содержимому Перейти к дополнительному содержимому

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

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

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

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

Фон

Условия

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Синтаксис

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

Примеры:  

Примеры — флаг сохранения пустого множества
Выражение Выражение без флага сохранения пустого множества
{&<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)

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

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

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице или с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом!

Присоединяйтесь к программе модернизации аналитики

Remove banner from view

Модернизируйте ваши важные приложения QlikView без ущерба с помощью программы модернизации аналитики. Щелкните здесь для получения дополнительной информации или свяжитесь с нами: ampquestions@qlik.com