Ранее у нас была устаревшая система, в которой мы использовали код C ++ для генерации отчетов в текстовом файле и в файле Excel.Однако вручную выполнить кодирование для выполнения всей обработки необработанных данных и рендеринга в формате отчета очень сложно.
Недавно нам удалось перенести все необработанные данные в базу данных SQL.
ВЧтобы избежать написания ручного кода, мы решили оценить следующий инструмент.
- JasperReports - Может помочь нам выполнить рендеринг формата отчета?
- OpenReport - Предоставляет ли нам веб-доступ к сгенерированному отчету?
В настоящее время наши необработанные данные выглядят примерно так:
Основываясь на демонстрации, предоставленной OpenReport и JasperReports, яПолагаю, что мы можем создать такой отчет, как
Summary Report for Lot 2
------------------------
Measurement Type Value
----------------------------------
Lead 1 Average 1.30
Lead 1 StdDev 0.16
.
.
Lead 2 Average 2.08
Lead 2 StdDev 0.55
Однако это немного далеко от того, что мы хотим.Нам нужно
- Взять несколько строк
Lead 1, 2, 3
... в категорию «Среднее» и иметь функцию логического кода для пересчета их в одну Lead
строку. - Сделайте то же самое для остальной статистики, как StdDev ...
- Имейте формат отчета, например:
Summary Report for Lot 2
------------------------
Measurement Average StdDev
----------------------------------
Lead 2.33 1.23
Пока что длядемонстрацию, которую я видел, большинство из них просто 1 to 1 mapping
из необработанной базы данных для отчета.В середине 1 to 1 mapping
я знаю, что может быть несколько простых операторов SQL для фильтрации и манипулирования.Я не видел пример, который может выполнять обработку sophisticated
.
Причина, по которой я называю это sophisticated
, как в коде C ++, мы требуем выполнить обработку std :: string, используя std:: vector, std :: map структура данных и арифметическая операция.Я сомневаюсь, что оператор SQL может выполнять аналогичные действия.
Исходя из моего перечисленного требования 3 , возможно ли, что я могу использовать имеющийся на рынке инструмент для составления отчетов?Или нам нужно разработать собственное промежуточное ПО для выполнения такой задачи?(Perl / Python / ... что угодно)