Последняя версия DataExpress 3 beta от 22 мая 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Как сделать вывод ТОП-3, Функции MAX, MAXV ?

Синтаксис (правила написания) функций, чисел, текста, знаков операций, правила и примеры применения, принципы работы, возникающие ошибки при работе с выражениями. Совместимость типов.
EL_Marso
Заглянувший
Сообщения: 5
Зарегистрирован: Сб авг 19, 2017 12:36 pm

Как сделать вывод ТОП-3, Функции MAX, MAXV ?

Сообщение EL_Marso » Чт май 17, 2018 9:56 am

Добрый день!
Подскажите каким образом можно отфильтровать значения в запросе, чтобы происходил вывод первых трех максимальных значений в столбце ( ТОП-3 значений)
Пока с помощью фильтра определяю только самое максимальное значение [числовое поле ]=MAX('Запрос№', 'числовое поле').
Предположил из описания в справке, что должна помочь функция MAXV, но так и не удалось ее запустить.

Гocть
Опытный
Сообщения: 281
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Как сделать вывод ТОП-3, Функции MAX, MAXV ?

Сообщение Гocть » Чт май 17, 2018 10:05 am

Посмотрите тему. В ней имеется идентичное решение. Ваш алгоритм: находите максимальное значение, от него отнимаете 1 и 2. В результате получаете 3 переменных, необходимых для сравнения и для отбора топ-3.
Фрилансер. Разработка на заказ. Консультирование.

Аватара пользователя
admin
Разработчик
Сообщения: 3479
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Как сделать вывод ТОП-3, Функции MAX, MAXV ?

Сообщение admin » Чт май 17, 2018 11:02 am

Упорядочить по убыванию. В выходном фильтре:

Код: Выделить всё

recno('имя запроса')<4

Гocть
Опытный
Сообщения: 281
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: Как сделать вывод ТОП-3, Функции MAX, MAXV ?

Сообщение Гocть » Чт май 17, 2018 11:04 am

Но тогда нужно как то настроить отбор, чтобы все не вываливал. Решение выше хоть и сложнее в реализации, но будет меньше нагружать запрос, если "топ-3" надо вывести из "все-10 000".
Фрилансер. Разработка на заказ. Консультирование.

EL_Marso
Заглянувший
Сообщения: 5
Зарегистрирован: Сб авг 19, 2017 12:36 pm

Re: Как сделать вывод ТОП-3, Функции MAX, MAXV ?

Сообщение EL_Marso » Чт май 17, 2018 11:32 am

admin писал(а):Упорядочить по убыванию. В выходном фильтре:

Код: Выделить всё

recno('имя запроса')<4


работает, спасибо за помощь!


Вернуться в «Функции и выражения DataExpress»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей