Фильтрация данных
Доброго времени суток, помогите пожалуйста.
Сделал отчет в FastReport, который использует один бэнд "Данные".
В бэнде используется представление(65000 строк).
Создал параметр, добавил его во вкладку "Фильтр" моего бэнда.
В результате получаю то, что мне нужно.
Но отчет строится достаточно долго, это же представление с необходимым параметром в самой БД отрабатывает за 0,1 секунды.
Сделал трассировку и выяснил, что источник данных сперва выбирает все строки и уже после нужную мне строку выдает в отчете.
вот что написано в доке:
"Этот способ фильтрации предполагает, что источник данных содержит все строки, часть из которых будет отфильтрована. Если источник содержит большое количество строк, это может серьезно замедлить работу отчета. В этом случае вы можете использовать в качестве источника данных запрос на языке SQL, в котором указать нужное условие фильтрации. Запрос будет выполнен на сервере данных и вернет только те строки, которые нужны в отчете."
Подскажите, как это реализовать в самом отчете?
я делаю так:
Добавляю источник данных, выбираю "Добавить SQL запрос", вставляю запрос:
select * from view1 v where v.id_object = &id_object
далее добавляю параметр id_object, в строке expression явно указываю значение, например 5.
и в результате у меня не выбирается ни одна строка, хотя такая запись в представлении есть
FastReport.NET Версия 2016.4.3, Oracle 10g r2
Сделал отчет в FastReport, который использует один бэнд "Данные".
В бэнде используется представление(65000 строк).
Создал параметр, добавил его во вкладку "Фильтр" моего бэнда.
В результате получаю то, что мне нужно.
Но отчет строится достаточно долго, это же представление с необходимым параметром в самой БД отрабатывает за 0,1 секунды.
Сделал трассировку и выяснил, что источник данных сперва выбирает все строки и уже после нужную мне строку выдает в отчете.
вот что написано в доке:
"Этот способ фильтрации предполагает, что источник данных содержит все строки, часть из которых будет отфильтрована. Если источник содержит большое количество строк, это может серьезно замедлить работу отчета. В этом случае вы можете использовать в качестве источника данных запрос на языке SQL, в котором указать нужное условие фильтрации. Запрос будет выполнен на сервере данных и вернет только те строки, которые нужны в отчете."
Подскажите, как это реализовать в самом отчете?
я делаю так:
Добавляю источник данных, выбираю "Добавить SQL запрос", вставляю запрос:
select * from view1 v where v.id_object = &id_object
далее добавляю параметр id_object, в строке expression явно указываю значение, например 5.
и в результате у меня не выбирается ни одна строка, хотя такая запись в представлении есть
FastReport.NET Версия 2016.4.3, Oracle 10g r2