Как ежедневно строить графики из 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 минут мы создали полезный инструмент для контроля. Вы также можете автоматизировать отправку других графиков и диаграмм.

.NET FastReport Десктоп CSV .NET FastReport Десктоп CSV
10 июля 2026

Как настроить Content Security Policy для отчетов FastReport .NET WEB

Узнайте, как настроить Content Security Policy для отчётов FastReport .NET WEB: обзор директив и значений CSP, изменения в архитектуре FastReport, типичные сценарии обхода и способы защиты.
22 июня 2026

Как настроить отчет с Business Objects из кода и дизайнера в FastReport .NET

В этой статье рассматривается реальный пример создания и использования шаблона отчета .frx для подключения к иерархическим бизнес-объектам в FastReport .NET.
21 апреля 2026

Использование водяных знаков в FastReport VCL

В статье подробно рассмотрели функционал добавления водяных знаков в FastReport VCL — как через визуальный интерфейс, так и программно, с помощью кода на Delphi и в скриптах отчётов.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»