Как ежедневно строить графики из csv файлов

24.08.2017

Допустим вы ведете файл Excel с продажами сотрудников. Вы бы хотели видеть результаты продаж за месяц в виде графика. Так быстрее и проще оценить эффективность сотрудника. Хорошо бы видеть разницу в показателях с предыдущим днем. Такой отчет необходим вам каждое утро. На помощь к нам приходит FastReport Desktop. С помощью него мы создадим отчет с красивым графиком и поставим задачу в планировщике на ежедневную отправку отчета к вам на электронный почтовый ящик.

Определимся с источником данных. Это будет csv файл, например, с таким содержанием:

 

У нас три колонки: номер заказа, дата оформления заказа, фамилия продавца.

Предположим этот файл ежедневно пополняется новыми данными. Тогда каждое утро начальник будет получать отчет с графиком продаж по сотрудникам.

Давайте создадим отчет. Добавляем новый источник данных – CSV файл.

 

Размещаем на странице отчета объект Диаграмма. Не важно на каком бэнде. Пусть это будет бэнд Данные.

 

Как вы заметили, заголовок отчета содержит дату:

 

Мы воспользовались системной переменной [Date], а, чтобы отобразить дату без времени применили функцию FormatDateTime.

Перейдем к диаграмме. Сделаем двойной клик по ней:

 

Вверху справа нужно выбрать источник данных для диаграммы, который называется у нас «Диаграмма». Диаграмма состоит из серий, которые собственно и представляют собой диаграммы. У нас уже есть одна добавленная серия – Series 1. Кликаем по ней.

На вкладке «Данные» нам нужно определить какие поля из источника мы будем отображать. Для значения X выбираем поле FirstName. Для значения Y – OrderID.

Выше есть поле «Фильтр». В него добавим вот такое сложное выражение:

FormatDateTime(ToDateTime([Диаграмма.OrderDate]), "MMYYYY") == FormatDateTime([Date], "MMYYYY")

Здесь мы получаем месяц и год из поля OrderDate и сравниваем его с текущим месяцем и годом. Таким образом мы фильтруем актуальные для текущего года и месяца данные.

Изменим имя серии на «Сегодня»:

 

Перейдем на вкладку «Обработка данных». Здесь мы включим группировку данных по «Значению X», а функция - Количество:

 

На вкладке «Подписи» выбираем «Тип подписи:» - Y

 

Теперь давайте добавим еще одну серию в диаграмму и назовем ее «Вчера»:

 

Настраиваем ее с такими же параметрами, как и первую серию, с одним лишь изменением. В фильтре появится еще одно условие:

(FormatDateTime(ToDateTime([Диаграмма.OrderDate]), "MMYYYY") == FormatDateTime([Date], "MMYYYY"))&&(ToDateTime([Диаграмма.OrderDate])<AddDays([Date],-1))

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

Итак, отчет готов. Давайте создадим конфигурацию, которая будет отправлять отчет по почте. Запускаем приложение Configurator из пакета FastReport Desktop.

 

Выбираем файл отчета, отмечаем опцию «Export as» и выбираем формат PDF. Теперь включаем опцию «Send e-mail». При этом будет предложено настроить отправку писем:

 

И

 

Сохраняем файл конфигурации с помощью кнопки Save.

Запускаем приложение Scheduler из пакета FastReport Desktop.

Создаем задачу и редактируем параметры:

 

Выбираем файл конфигурации, триггер – Every day, дату и время начала. Периодичность повторения 1 день. Теперь каждый день в 17.00 начальнику будет приходить письмо на электронный почтовый ящик.

Давайте ради интереса запустим задачу, не дожидаясь времени исполнения. Делаем правый клик по задаче и выбираем Run task now:

 

И получаем письмо с вложенным pdf файлом. А в нем наш график:

 

Как видите, за какие-то 10-15 минут мы создали полезный инструмент для контроля. Вы также можете автоматизировать отправку других графиков и диаграмм.

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.