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

Only — функция диаграммы

Only() возвращает значение, если есть только один возможный результат, который может быть получен из агрегированных данных. Например, при поиске одного продукта, где стоимость единицы = 9, будет возвращено значение NULL, если стоимость единицы 9 есть у нескольких продуктов.

Синтаксис:  

Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)

Возвращаемые типы данных: двойное значение

Аргументы:  

Аргументы
Аргумент Описание
expr Выражение или поле, содержащее данные для измерения.
SetExpression По умолчанию функция агрегирования агрегирует множество возможных записей, определенных выборкой. Альтернативный набор записей может быть определен выражением анализа множества.
TOTAL

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

При использовании выражения TOTAL [<fld {.fld}>], где префикс TOTAL предшествует списку из одного или нескольких имен полей, выступающих в качестве подмножества переменных измерения диаграммы, создается подмножество всех возможных значений.

Определение объема агрегирования

Примечание к подсказкеИспользуйте функцию Only(), если необходимо получить значение NULL в случае нескольких возможных значений в данных образца.

Примеры и результаты:  

Данные
Customer Product UnitSales UnitPrice
Astrida AA 4 16
Astrida AA 10 15
Astrida BB 9 9
Betacab BB 5 10
Betacab CC 2 20
Betacab DD - 25
Canutility AA 8 15
Canutility CC - 19
Примеры и результаты
Примеры Результаты

Only({<UnitPrice={9}>} Product)

Значение BB, поскольку это единственный элемент Product, у которого элемент UnitPrice равен 9.

Only({<Product={DD}>} Customer)

Значение Betacab, поскольку единственный элемент Customer, продающий Product, называется «DD».

Only({<UnitPrice={20}>} UnitSales)

Число элементов UnitSales, где элемент UnitPrice, равный 20, составляет 2, поскольку есть только одно значение элемента UnitSales, где UnitPrice = 20.

Only({<UnitPrice={15}>} UnitSales)

Значение NULL, поскольку существуют два значения элемента UnitSales, где UnitPrice = 15.

Данные, используемые в примерах:

ProductData:

LOAD * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD||25

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');

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

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