Чарты и графики в IReport

Здравствуйте, дорогие почитатели SugarCRM и ZuckerReports как модуля отчетов для нее!

Сегодня наступил тот момент, когда я решил продолжить серию статей, посвященную графическому редактору IReport. В прошлых статьях мы как нельзя более подробно рассмотрели создание простых отчетов, поэтому для наглядного пособия по графикам и чартам, которые я обещал рассмотреть в прошлой статье, мы возьмем готовый отчет Opportunities.jrxml, входящий в стандартный (и свободно распространяемый) DemoPack2. В качестве данных для отчета послужит стандартный набор DemoData, который в ходе установки SugarCRM предлагается для наполнения базы данных.

Итак, что мы видим:

Opportunities

Opportunities

Суховато, не правда ли? Попробуем добавить красок в серую статистику.

Для этого расширим зоны отчета AssignedUserGroupFooter для графика, отражающего связь между суммой сделки и процентом прибыли, и summary, для чарта, показывающего наглядно, кто на сколько сделок совершил. Помещаем в AssignedUserGroupFooter элемент XY Line:

XYLine

XYLine

А в summary не Pie, но Pie 3D (раз уж меня сегодня творческое настроение :D ):

Pie3D

Pie3D


Далее на XY Line правой кнопкой Chart Properties->Chart Data->Details добавляем и выбираем поля (можно в качестве полей использовать параметры и выражения) для: X value Expression – значение по оси X, Y value Expression – значение по оси Y и Label Expression – в нашем случае фамилия менеджера. В Chart Data-> Dataset Reset Type установим Group, чтобы график показывал данные только по одному менеджеру.

Почти то же самое для Pie3D. Key Expression – чья часть пирога, Value Expression – чему соответствует размер (у нас сумме сделок) и Label Expression – как называется кусок.

Запускаем:

Result

Result

И в завершение расскажу, как просто сделать гиперссылку, к примеру, на детальную информацию по менеджеру (в SugarCRM) прямо в отчете.

Создадим параметр URL типа String и Default Value Expression http://MySwettyCRM, например, в кавычках. Добавляем в запрос к базе данных поле id. Открываем в CRM первую попавшуюся сделку и копируем из строки браузера все от домашнего URL до id сделки.

Hyperlink

Hyperlink


Открываем свойства поля сделки, переходим на вкладку Hyperlink, где Hyperlink Target устанавливаем Blank (чтобы открывалась в новом окне) и Hyperlink Type – Reference. В Hyperlink Reference Expression выбираем первым наш параметр URL, конкатенируем через «+» то, что скопировали в строке браузера в кавычках и через опять же «+» поле id. Для наглядности окрасьте поле в синий цвет.

В следующей статье разберем кросстаблицы и как вывести пятна от помады на белом воротничке рубашки. До встречи ;)

Высказать своё мнение о статье Вы можете в комментариях, если Вас интересуют какие либо вопросы или дополнения, то обсуждение по данной теме доступно на нашем форуме.

Есть 3 коммент. к “Чарты и графики в IReport”

  1. Andrew:

    Ребята вопросик — сделал отчет в iReport. Добавил параметры в шаблон. В Ireport спрашивает что нужно — и соответственно реагирует. Поместил шаблон в SugarCRM. Добавил параметры в ZuckerReports. Выдает пустой pdf документ и все. Ни на что не ругается.

    Пока не было параметров — генерил нормальный документ.

    Заранее спасибо за помощь.

    • Шуга Админ:

      Перепроверьте типы данных принимаемых параметров.

      Лучше всего поставить тип принимаемых параметров в IReport string и уже в запросе приводить к нужному.

      Например, мне необходимо передать дату: я тип параметра $P{DateBefore} в настройках устанавливаю строковый, а в запросе примаю его таким образом — STR_TO_DATE ($P{DateBefore}, '%Y-%m-%d')

Написать комментарий

Вы должны войти чтобы комментировать.