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

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

Параметр FirstSortedValue() возвращает значение из выражения, указанного в элементе value. Значение элемента соответствует результату сортировки по аргументу sort_weight, например, названию продукта с самой низкой стоимостью единицы. N-ное значение в порядке сортировки можно указать в rank. Если в результате больше одного значения имеют один и тот же элемент sort_weight для указанного элемента rank, функция возвращает значение NULL.

Синтаксис:  

FirstSortedValue([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] value, sort_weight [,rank])

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

Аргументы:  

Аргументы
Аргумент Описание
value Поле вывода. С помощью функции можно найти значение выражения value, которое соответствует результату сортировки поля sort_weight.
sort_weight

Поле ввода. Выражение, содержащее данные для сортировки. Обнаружено первое (нижнее) значение элемента sort_weight, на основе которого определяется соответствующее значение выражения value. Если указать знак минуса перед элементом sort_weight, функция вернет последнее (самое высокое) отсортированное значение.

rank

При указании для элемента rank значения «n» выше 1 будет получено n-ое отсортированное значение.

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

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

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

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

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

Данные
CustomerProductUnitSalesUnitPrice
AstridaAA416
AstridaAA1015
AstridaBB99
BetacabBB510
BetacabCC220
BetacabDD-25
CanutilityAA815
CanutilityCC-19
Примеры и результаты
ПримерРезультат
firstsortedvalue (Product, UnitPrice)

Элемент BB, который является элементом Product с наименьшим значением UnitPrice (9).

firstsortedvalue (Product, UnitPrice, 2)

Элемент BB, который является элементом Product со вторым наименьшим значением UnitPrice (10).

firstsortedvalue (Customer, -UnitPrice, 2)

Элемент Betacab, который является элементом Customer с Product, который имеет второе наибольшее значение UnitPrice (20).

firstsortedvalue (Customer, UnitPrice, 3)

Значение NULL, потому что существует два значения Customer (Astrida и Canutility) с одинаковым значением rank (третьим наименьшим) ― UnitPrice (15).

Используйте префикс distinct, чтобы убедиться, что не возникнет нулевой результат.

firstsortedvalue (Customer, -UnitPrice*UnitSales, 2)

Элемент Canutility, который является элементом Customer со вторым наибольшим значением UnitPrice в заказе на продажу, умноженным на UnitSales (120).

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

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 '|');

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

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