понедельник, 14 октября 2013 г.

Использование элемента Crosstab в JasperReports

JasperServer помимо простого отображения значений из запроса имеет несколько представлений, при помощи которых можно значительным образом изменить вид данных на выходе.



Crosstab
Данный элемент используется для изменения представления плоской таблицы получаемой из запроса/процедуры. В простейшем случае можно развернуть результирующее множество  в несколько строк, группировать результирующее множество по строкам и столбцам, получать итоговые значения и т.д.
Для использования данного элемента необходимо выполнить следующие шаги:
1.    В секции основного запроса пишем фиктивный запрос:

select 1 ‘1’


2.    Создаём столько элементов Dataset, сколько необходимо

Заполняем обязательные поля «Dataset Name», выбрав «Data Sources», заполнив «Query (SQL)» и выбрав поля значимые поля. После чего сохраняем Dataset.













3.    Вытягиваем с палитры («Palette») элемент «Crosstab» на поле «Detail Band» создаваемого отчёта, после чего в открывшемся окне выбираем созданный нами Dataset, после чего выбираем значения для строк, столбцов, а также результирующих значений.
4.    После этого необходимо связать основной запрос с данным представлением.
Если не предполагается передавать входные параметры, то необходимо создать фиктивную связь между основным запросом и новым элементом «Crosstab».
4.1   Для этого создаём параметр в параметрах основного запроса:

В свойствах параметра ставим в unchecked значение «Use as a prompt», после чего выполняем аналогичные действия в параметрах «Crosstab».















4.2   Переходим в параметры «Crosstab» на вкладку «Parameters»

Выбираем правильный «Sub dataset», если их несколько, после чего добавляем новый параметр нажав на кнопку  «Add».
Затем в новом окне выбираем параметр приёмник и параметр источник в дважды щёлкнув по нему в «Expression editor»:

5.       Итогом наших действий должна быть следующая связь:


Если входные параметры передаются, то аналогичным образом создаём связь между передаваемыми и принимаемыми параметрами в элементе «Crosstab».

Комментариев нет:

Отправить комментарий