|
FastReport, фильтрация данных
|
|||
---|---|---|---|
#18+
Доброго времени суток, помогите пожалуйста. Сделал отчет в FastReport, который использует один бэнд "Данные". В бэнде используется представление(65000 строк). Создал параметр, добавил его во вкладку "Фильтр" моего бэнда. В результате получаю то, что мне нужно. Но отчет строится достаточно долго, это же представление с необходимым параметром в самой БД отрабатывает за 0,1 секунды. Сделал трассировку и выяснил, что источник данных сперва выбирает все строки и уже после нужную мне выдает в отчете. вот что написано в доке: "Этот способ фильтрации предполагает, что источник данных содержит все строки, часть из которых будет отфильтрована. Если источник содержит большое количество строк, это может серьезно замедлить работу отчета. В этом случае вы можете использовать в качестве источника данных запрос на языке SQL, в котором указать нужное условие фильтрации. Запрос будет выполнен на сервере данных и вернет только те строки, которые нужны в отчете." Подскажите, как это реализовать в самом отчете? FastReport.NET Версия 2016.4.3, Oracle 10g r2 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 17:45 |
|
FastReport, фильтрация данных
|
|||
---|---|---|---|
#18+
Вам нужно начать с "чистого листа" в своей практике, в источнике указать запрос с параметрами, в следствии Вы будете получать сразу нужный набор данных (без локальной фильтрации в отчете). Обычно используют ХП в место запроса (в качестве источника), этот вариант более гибкий, к примеру, если необходимо изменить логику запроса, нет необходимости корректировать отчет, достаточно только изложить алгоритм в листинг ХП ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 08:48 |
|
FastReport, фильтрация данных
|
|||
---|---|---|---|
#18+
IDVT, Хранимые процедуры действительно удобнее использовать, но мне бы для начала понять механику работы с представлением. я делаю так: Добавляю источник данных, выбираю "Добавить SQL запрос", вставляю запрос: select * from view1 v where v.id_object = &id_object далее добавляю параметр id_object, в строке expression явно указываю значение, например 5. и в результате у меня не выбирается ни одна строка, хотя такая запись в представлении есть ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 12:44 |
|
FastReport, фильтрация данных
|
|||
---|---|---|---|
#18+
Проверьте в профайлере запрос отчета, там же увидите и значение Вашего параметра. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2016, 10:45 |
|
|
start [/forum/topic.php?fid=31&tid=1533126]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 394ms |
0 / 0 |