Рекомендовать стабильные инструменты отчетности с открытым исходным кодом

Я собираюсь начать разработку веб-платформы, с которой я могу пойти:

  • ASP.NET — MVC 4 — Entity Framework
  • Рубин на рельсах
  • JAVA (JSP, Spring, Hibernate)

У моего клиента есть потребность в 6 конкретных отчетах, но на самом деле он попросил, чтобы он мог сам создавать больше отчетов.

Не могли бы вы предоставить мне ссылки на библиотеки/сервисы с открытым исходным кодом, которые могут позволить продвинутому конечному пользователю создавать свои собственные отчеты, выбирая таблицы/поля для объединения

Мне известно о Jasper Studio - http://community.jaspersoft.com/project/jaspersoft-studio , но я также хочу рассмотреть другие инструменты отчетности, чтобы решить, на каком языке/технологии я решу реализовать веб-сайт.

ОБНОВЛЕНИЕ Существует база данных SQL, но мой клиент не знает/или не хочет использовать SQL.

Он хочет выбрать таблицы и поля и объединить их. На данный момент результатов в виде списка или таблицы может быть достаточно, но я предполагаю, что в будущем понадобятся ЛИНЕЙНЫЕ ДИАГРАММЫ или КРУГОВЫЕ ДИАГРАММЫ

Добро пожаловать в рекомендации по программному обеспечению! Не могли бы вы рассказать нам больше о том, как должны выглядеть отчеты, какие функции вы хотите иметь для своего набора отчетов и т. д. В нынешнем виде все, что каким-то образом выбирает данные откуда-то и представляет их как-то кому-то подходит, что довольно широко. Какие данные должны быть представлены? Каким путем? Списки? Резюме? Круговые диаграммы? Знает ли «продвинутый конечный пользователь» SQL (если есть база данных SQL?) Где хранятся данные и как средство отчетности должно подключаться к ним?
@AngeloFuchs Я только что обновил свой вопрос
«мой клиент не знает/или не хочет использовать SQL. Он хочет выбирать таблицы и поля и объединять их» — так что вы хотите, чтобы что-то реконструировало базу данных, а затем позволяло ему выбирать таблицы и столбцы с помощью графического интерфейса? Что-то вроде tmssoftware.com/site/qs.asp , но в Интернете. Это правильно?
@Mawg звучит правильно. даже если реверс-инжиниринг не нужен (путем настройки таблиц/столбцов, которые можно использовать для построения отчетов)
Где будут данные? Нет в базе данных SQL?
@NicolasRaoul есть база данных SQL (вероятно, mysql или mssqlserver)
@MauricioGracia: Итак, вы хотите сообщить данные из базы данных SQL, но без использования SQL, я правильно понимаю?
@NicolasRaoul пользователь не знает, как писать SQL, инструмент должен позволять ему выбирать таблицы / столбцы и визуально объединять их. инструмент должен переводить это в SQL по мере необходимости
@MauricioGracia: Отлично, теперь я понимаю. Не могли бы вы добавить эту информацию к вашему вопросу? Спасибо!
@NicolasRaoul уже там, прочитайте все это еще раз ;-)

Ответы (3)

Я рекомендую вам использовать Jasper Reports с его клиентом Jaspersoft Studio . Я использовал его предшественника iReport довольно часто и с большим успехом. Для моих нужд версии сообщества всегда было достаточно, поэтому я лично не пробовал расширенные продукты, но слышал о них хорошие отзывы.

Отчеты Jasper состоят из трех частей: одна — это библиотека, которую вы поставляете с Java-программой, а вторая часть — файл JRXml, который содержит техническое определение отчета и дает хороший результат.

Третья часть — это инструмент создания JRXml (Studio, ранее iReport), инструмент с работоспособным графическим интерфейсом, который позволяет вам перетаскивать элементы ваших отчетов, чтобы сделать то, что вы хотите показать. Он включает конструктор SQL с перетаскиванием, который будет выполнять большинство простых запросов, таких как "SELECT * FROM a, b, c WHERE a.identifier = ? AND a.id = b.a_id AND c.id = a.c_id". Но у этого есть свои пределы, и иногда ваш клиент будет обращаться к вам за помощью, чтобы он правильно понял этот запрос, пока он не изучит SQL.

Creator также поставляется с инструментом подключения к источнику данных, поэтому вы можете создавать отчеты, используя только Creator. Если у вас есть только один человек у клиента, которому нужны отчеты, то это может быть выходом вместо того, чтобы поставлять библиотеку вместе с вашим инструментом.

Отчеты Jasper работают следующим образом: сначала вы определяете запрос данных, которые хотите выбрать. Обычно это включает в себя некоторые параметры, которые исходят от вашей программы, например, идентификатор клиента. Затем вы определяете эти параметры для самого отчета, чтобы JR мог подключить их позже, когда придет время запускать отчет.

Затем вы позволяете Создателю захватить все поля, которые ваш отчет вернет из запроса, и сохранить их как «Поле», которые вы затем перетащите туда, где вы хотите их иметь. Вы решаете, какую информацию вы хотите отображать в верхней части первой страницы (например, имя клиента), какую информацию отображать в верхней части каждой страницы (например, совокупную сумму) и какую информацию вы хотите отображать в каждой строке. Есть больше мест, чем это, но вы поняли.

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

Jasper Reports может довольно легко делать множество отчетов, но они не совместимы с конечным пользователем. Использование Creator Tool требует обучения. Если вы дадите своему клиенту несколько простых примеров отчетов для его конкретного набора данных, вы значительно облегчите ему задачу.

В Stack Overflow есть много хороших ресурсов для ответов на вопросы по Jasper Reports .

Появился новый инструмент под названием Helical Insight, который представляет собой инструмент BI с открытым исходным кодом, с помощью которого вы можете создавать отчеты, информационные панели и визуализации данных. Его уникальной функцией является «Instant BI», который представляет собой не что иное, как НЛП и машинное обучение, в котором вы можете просто вводить свои бизнес-вопросы и мгновенно получать информацию. Для получения более подробной информации вы можете посетить веб-сайт www.helicalinsight.com.

Если вы хотите использовать открытый исходный код, ваши варианты — это в основном Jasper Reports, Pentaho и BIRT, и все они работают на Java; на земле .NET нет инструментов отчетности с открытым исходным кодом, о которых я знаю, но есть много хороших инструментов с закрытым исходным кодом; К сожалению, я не знаю о Ruby on Rails, поэтому не могу вам в этом помочь.

Между прочим, я думаю, вы хотите что-то отточенное, что максимально избегает языка SQL, я боюсь, что в мире с открытым исходным кодом вы не найдете что-то настолько удобное для пользователя, поэтому вам, возможно, придется сказать своему клиенту, чтобы либо изучите SQL, либо наймите того, кто этим занимается.