Модификаторы множества с неявными операторами множества
Стандартный способ записи выборок в модификаторе множеств подразумевает использование знака равенства. Пример.
Year = {">2015"}
Выражение справа от знака равенства в модификаторе множества называется множеством элементов. Оно определяет множество отдельных значений полей, то есть выборку.
Эта нотация определяет новую выборку, игнорируя текущую выборку в поле. Таким образом, если идентификатор множества содержит выборку в этом поле, старая выборка будет заменена той, которая определена во множестве элементов.
Когда требуется создать выборку на основе текущей выборки в поле, необходимо использовать другое выражение.
Например, если требуется учитывать старую выборку и добавить требование для выбора лет после 2015 года, можно записать следующее выражение:
Year = Year * {">2015"}
Звездочка — это оператор множества, определяющий пересечение между текущей выборкой в Year и дополнительным требованием к выбору года после 2015. Это можно записать по-другому:
Year *= {">2015"}
Другими словами, оператор присваивания (*=) неявно определяет пересечение.
Аналогично можно определить неявные объединения, исключения и симметричные разности, используя следующее: +=, –=, /=
Примеры: выражения диаграммы для модификаторов множества с неявными операторами множества
Примеры | Результаты |
---|---|
sum( {$<Product += {OurProduct1, OurProduct2} >} Sales ) |
Возвращает продажи для текущей выборки, но с использованием неявного объединения для добавления продуктов «OurProduct1» и «OurProduct2» в список выбранных продуктов. |
sum( {$<Year += {“20*”,1997} – {2000} >} Sales ) |
Возвращает продажи для текущей выборки, но с использованием неявного объединения для добавления нескольких годов в выборку: 1997 и все годы, начинающиеся с «20», за исключением 2000. Обратите внимание, что в случае включения значения 2000 в текущую выборку, оно останется включенным и после изменения. То же, что и <Year=Year + ({“20*”,1997}–{2000})>. |
sum( {$<Product *= {OurProduct1} >} Sales ) |
Возвращает продажи для текущей выборки, но только для пересечения выбранных на данный момент продуктов и продукта «OurProduct1». |