Инструмент распределения отчетов

Вопрос или проблема

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

Мы используем MS SQL Server 2016 и SSRS (Службы отчетности SQL Server), у нас есть знания по кодированию на SQL.

Наш текущий ручной процесс:

У нас есть представление, показывающее данные о продажах (по строкам счетов, с деталями клиентов и именем продавца), которое мы запускаем/обновляем в Excel, помещаем в сводную таблицу, копируем/вставляем в пустой файл как обычную таблицу, а затем отправляем по электронной почте группе пользователей. Формат такого отчета представлен ниже.
Скриншот отчёта по продажам

Наша цель

Мы хотим отправлять каждому пользователю только его данные (только те строки, где он/она указаны как продавец). Это можно сделать в SSRS, но поскольку у нас 40 продавцов, это требует создания 40 заданий, что сложно реализовать и поддерживать.

Требования к ПО
– возможность сохранять отчет в разных форматах (XLSX, PDF и т.д.)
– возможность комбинировать несколько отчетов в 1 файле XLSX (на разных листах)
– возможность экспортировать отчеты на электронные почты, в папки, на веб-страницы и т.д.
– возможность прикреплять несколько отчетов в 1 электронном письме
– возможность планировать создание отчетов или запускать его по событию

Дополнительная информация
– подойдёт как коммерческое, так и открытое ПО
– бюджет: мы готовы заплатить максимум “сотни долларов США” за бессрочную лицензию
– мы будем использовать этот инструмент ежедневно
– мы будем генерировать около 100 отчетов ежедневно

Вот инструмент для написания SQL-скриптов, который может сделать большинство из того, что вы ищете: https://execsql.readthedocs.io/en/latest/. Предупреждение: я его написал. Он используется мной и моими коллегами ежедневно на протяжении нескольких лет. Из функций, которые вам нужны, он может:

  • Сохранять экспорты базы данных в 15 фиксированных форматах, а также создавать отчеты на языках шаблонов. Он экспортирует в .ODS вместо .XLSX. PDF-файлы могут быть созданы путем экспорта в Markdown и использования pandoc для конвертации их в PDF (см. Пример 8).

  • Комбинировать несколько отчетов в один файл ODS на разных листах.

  • Экспорты могут быть записаны в папки и выведены в HTML. Он может отправлять электронную почту и прикреплять отчетные файлы, которые он только что создал.

  • Он поддерживает только одно вложение в письме, так что если вы хотите несколько отчетов в одном письме, они должны находиться на отдельных страницах таблицы.

  • Он не имеет встроенного планировщика; планирование должно быть реализовано на уровне операционной системы.

Устранение ручного создания сводной таблицы, вероятно, сэкономит много времени; вы рассматривали использование команды SQL Server PIVOT?

Создание отдельных отчетов для 40 продавцов – это просто: Пример 6 в документации иллюстрирует, как это сделать.

Ответ или решение

Для автоматизации распределения отчетов в вашей ситуации, вам необходимо рассмотреть несколько инструментов и решений, которые смогут удовлетворить ваши требования. С учетом ваших предпочтений и условий, вот несколько подходов и рекомендаций:

Использование SQL Server Reporting Services (SSRS)

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

  2. Форматы сохранения: SSRS поддерживает экспорт отчетов в различные форматы, включая PDF и Excel. Вы сможете настроить отчеты таким образом, чтобы в каждом из них содержались данные, относящиеся только к конкретному пользователю.

  3. Группировка в XLSX: Вы можете использовать SSRS для создания многостраничных отчетов в формате Excel, так как в одном отчете можно выводить данные по нескольким пользователям, размещая их на отдельных страницах.

  4. Планирование и триггеры: SSRS позволяет планировать задачи, аудитории и триггеры для автоматической генерации отчетов по расписанию или при выполнении определенных условий.

Использование стороннего ПО

Если вам необходимо более гибкое решение, стоит рассмотреть сторонние инструменты, такие как:

  1. SQL Server Integration Services (SSIS): SSIS позволяет проектировать сложные ETL-процессы, которые могут включать генерацию отчетов и их отправку по электронной почте. Он также может выполнять задачи по объединению нескольких отчетов в один файл Excel.

  2. Crystal Reports: Это мощный инструмент для создания отчетов, который поддерживает автоматизацию и может создавать отчеты в разных форматах, а также рассылать их через электронную почту.

  3. Excel VBA: Если у вас есть доступ к Excel, вы можете использовать VBA для автоматизации процесса. Можно написать макросы для извлечения данных, создания сводных таблиц, форматирования отчетов и отправки их по электронной почте.

Рекомендуемое решение

Основываясь на ваших требованиях и условиях, я рекомендую рассмотреть возможность настройки функций SSRS с использованием параметризации для автоматизации отправки отчетов. Это должно значительно упростить процесс и сократить время, затрачиваемое на генерацию и рассылку отчетов. Отдельно можете использовать SSIS или решение на базе Excel VBA для управления более сложными процессами или комбинированием отчетов.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...