3

我们的任务是根据人口普查数据创建许多统计分析(大量数据但易于分析 - 主要是(子)数据总和)。分析将表示为表格和图表(在 web - 2 种语言 - 和 pdf 中)让我们假设存储数据的问题已解决(SQL,良好的结构)。Web 应用程序 (GWT) 和 Pdf (iText) 软件已基本完成。我们“只”必须更改数据后端。

什么是有效创建这些分析和表示(表格、图表)的好策略?我想到了两种不同的方式:

  • 简单的java编程:jdbc或者jpa、jfreechart(这里我们有经验,编程枯燥)
  • bi 工具 birt、jasper、pentaho、palo...(学习使用它们,无聊的指点和点击)

但可能有第三种方式吗?两者之间的一种方式:使用 bi 工具的 api 对报告进行编程?使用 bi 工具是否值得学习(我认为使用它,创建其他报告或调整现有报告要容易得多?)你怎么看?

4

2 回答 2

2

我最近也遇到了类似的情况。我已经评估了 Pentaho BI 服务器,所以我的评论基于:

用 Java 实现的自定义系统的优点:

  • 可根据用户需求精确定制
  • 不需要星型模式(Pentaho 分析只适用于星型模式!Pentaho 报告不需要星型模式,它可以通过简单的 SQL 语句工作)
  • 由于不需要星型模式,您可以更轻松地与系统的其余部分集成。我的意思是你可以重用现有的数据源。此外,通过自制 UI,您可以轻松地将其集成到企业基础架构的其余部分(门户网站等)中。
  • 速度:自定义 SQL 调优、对您的数据集快速的自定义 UI 等。

使用现成解决方案(例如 Pentaho BI Server)的优点:

  • 初始设置后,即使是非技术用户也可以创建新的分析或修改现有的分析。轻松导出到excel、pdf等。
  • Pentaho 带有许多支持工具(用于导入数据的 ETL 工具、用于定期创建报告的调度程序等)。重新实施所有这些将是巨大的成本。此外,新的 Pentaho 服务器具有仪表板功能,这意味着您可以拥有一个带有图表和表格的屏幕,这些图表和表格会随着新数据的进入而更新。
  • 如果您可以满足这些功能并且不需要额外的定制,那么部署时间只是开发新软件所需时间的一小部分。

Pentaho 有广泛的基于 Java 的 API,您可以完全用 Java 代码创建报告等。大部分核心是开源的,AFAIK 只有那些在企业服务器中的部分是闭源的(仪表板、分析视图等)

据我所知,对于 Pentaho,有以下 API:

  • 创建和修改报告,生成各种格式的报告
  • 访问调度程序
  • 为仪表板创建自定义小部件
  • 访问 OLAP 引擎(例如,创建 MDX 表达式并获取结果)
  • 由于 BI 服务器是一个 Spring 容器,因此您或多或少可以将其集成为任何 Spring 应用程序(例如,您可以在自定义企业安全中访问 Spring Security 设置和插件等)

虽然不是 API,但有一些方法可以将 Pentaho 的基于 Web 的报告查看器集成到其他 Web 应用程序中(最简单的方法是使用 IFRAME 并使用 URL 参数自定义报告)

于 2012-07-13T09:57:51.373 回答
1

你可以看看icCube

  • 基于 JAVA 的后端
  • 从您的 SQL 数据结构中轻松创建多维数据集模型
  • 前端(图表)由纯 Javascript API(wwwwww)组成
  • 使用您自己的图表库的可能性

我猜不需要点击。设置完成后,您将有很大的潜力提供超越简单报告的分析(例如,直方图比较)。

于 2012-07-14T01:40:44.350 回答