Модификаторы множества
Множество может быть изменено дополнительной или измененной выборкой. Подобное изменение может быть записано в выражении множества.
Модификатор состоит из одного или нескольких имен полей, за каждым из которых следует выборка, которая должна быть составлена на основе поля и заключена в угловые скобки: < >. Например, элемент <Year={2007,2008},Region={US}>. Имена полей и значения полей можно заключить в кавычки как обычно, например: <[Sales Region]={'West coast', 'South America'}>.
Установленный модификатор изменяет выборку предыдущего установленного идентификатора. Если отсутствует ссылка на установленный идентификатор, состояние текущей выборки является неявным.
Определить выборку можно несколькими способами.
- На основе другого поля
- На основе множеств элементов (список значений поля в модификаторе)
- Принудительное исключение
Данные способы описаны в следующих подразделах.
На основе другого поля
Простым случаем является выборка на основе выбранных значений другого поля, например: <OrderDate = DeliveryDate>. Данный модификатор возьмет выбранные значения из элемента DeliveryDate и применит их в качестве выборки к элементу OrderDate. Если присутствует множество уникальных значений (больше пары сотен), то данная операция потребует большой загрузки ЦП, поэтому ее следует избегать.
На основе множеств элементов
Наиболее распространенный пример выражения множества — это выражение, основанное на списке значений поля, заключенном в фигурные скобки. Значения разделены запятыми, например
Если значения списка не содержат пробелы или специальные символы, кавычки не требуются. Значения списка будут сопоставлены с значениями полей. При сравнении регистр не учитывается.
Если необходимо использовать подстановочные знаки либо значения списка содержат пробелы или специальные символы, следует заключить значения в кавычки. Если значения списка представляют собой значения поля, необходимо использовать одинарные кавычки. Будет выполнено сопоставление значений списка и отдельных значений полей с учетом регистра.
Для поисков, т. е. строк, содержащих подстановочные знаки либо начинающихся с реляционного оператора или знака равенства, следует использовать двойные кавычки. К примеру,
В предыдущих версиях Qlik Sense не было различий в использовании одинарных и двойных кавычек. Все строки, заключенные в кавычки, обрабатывались как поиски. В целях обеспечения обратной совместимости приложения, созданные при помощи более ранних версий Qlik Sense, будут работать в том же порядке, что и в предыдущих версиях. В приложениях, созданных при помощи Qlik Sense November 2017 и более поздних версий, учитывается различие между двумя типами кавычек.
Принудительное исключение
Наконец, для полей в режиме логического "AND" существует также возможность принудительного исключения. При необходимости принудительно исключить определенные значения поля потребуется использовать знак " ~ " (тильда) перед именем поля.
Examples and results:
Примеры | Результаты |
---|---|
|
Возвращает продажи в регионе |
|
Возвращает продажи для текущей выборки, но выборка в элементе " |
|
Возвращает то же, что и в примере выше. Если множество для изменения отсутствует, используется знак $. Примечание: Синтаксис в двух предыдущих примерах интерпретируется как "выборки отсутствуют" в поле "
|
|
Возвращает продажи для текущей выборки, но с новыми выборками в элементах " |
|
Поле Ingredient находится в режиме логического "AND". Возвращает продажи для текущей выборки, но с принудительным исключением всех ингредиентов, содержащих строку "garlic". |
|
Возвращает продажи для текущей выборки, но все года начинаются на цифру "2", т. е. в поле " |
|
Как и выше, но также 1980-е годы включены в выборку. |
|
Возвращаются значения продаж для текущих выборок, но с числовым поиском, используемым для оценки диапазона лет для суммирования продаж за это время. |