|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
6. Фильтрация записей в отчетеФильтрация записей в отчетах Crystal Reports 11.5, фильтрация на уровне запроса и средствами Select Expert, применение формул для настройки фильтрации В большинстве случаев в отчете нужны не все данные из источника, а только некоторые. В этом случае в отчете потребуется настроить фильтрацию (аналогично конструкции WHERE в языке SQL). Фильтрацию в отчетах Crystal Reports можно реализовать двумя способами. Первый способ — встроить фильтрацию в виде конструкции WHERE в запрос SQL, который будет передаваться на источник данных. Обычно при этом используются параметры (см. раздел 10), чтобы обеспечить возможность выбирать различные значения. А для того, чтобы пользователю удобнее было выбирать, обычно ему еще на уровне приложения, из которого вызывается отчет, предоставляется графическая форма со списками, текстовыми полями, календарями и другими элементами графического интерфейса. Такой подход будет рассмотрен в модуле про интеграцию отчетов Crystal Reports с приложениями. Второй способ — использовать возможности Crystal Reports для фильтрации данных в отчете. Как и в случае с сортировкой данных, в большинстве ситуаций Crystal Reports автоматически изменит запрос SQL, добавив в него конструкцию WHERE, но лучше (особенно при работе с редкими источниками данных) контролировать Crystal Reports, чтобы не столкнуться с фильтрацией уже в готовом отчете, после скачивания информации из базы данных. Настройка фильтрации средствами Crystal Reports производится при помощи Select Expert или Selection Formulas в меню Report. Открыть Select Expert можно при помощи: · меню Report | Select Expert; · кнопки Select Expert; · контекстного меню для поля; · в экспертах создания отчетов - вкладки Select. Далее выбирается нужное поле, выбирается требуемый оператор и указывается для него условие. Если сравнение поле с условием дает True, то поле выводится в отчете. Дополнительные условия - через вкладку New, несколько вкладок объединяются как AND (логическое И). Можно указывать диапазон данных: оператор In the Period и далее - выбрать необходимый диапазон. Очень часто используется для дат. Для оператора Like можно использовать два подстановочных символа: * означает "неопределенное количество символов", ? — один любой символ. В некоторых ситуациях встроенные операторы не подходят (например, надо показать все для Англии и плюс заказы больше 10 000 долларов) - в таких ситуациях формулу нужно писать вручную. Пример: {Customer.Country} = "England" OR {Customer.Last Year's Sales} > 10000 Чувствительность к регистру в условии фильтра - в зависимости от того, установлена ли она на источнике. Переключатель Group Selection - позволяет применить фильтр к группам, а не к конечным записям в отчете. Рекомендуется, если есть возможность, применять фильтр для тех полей, которые проиндексированы на источнике.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||