如何将ECharts与BIRT / Pentaho整合?

时间:2014-09-24 17:02:52

标签: charts reporting reportviewer pentaho birt

我正在寻找可能的报告引擎:

  • 通过JDBC连接到数据源
  • 通过分组/聚合原始数据来创建逻辑数据集
  • 在每个报告的顶部包含一个数据过滤器,允许我的客户以交互方式使用报告
  • 添加自定义图表,就我而言,它是ECharts https://github.com/ecomfe/echarts
  • 支持多租户范例(新要求)

现在BIRT和Pentaho是我桌上的两名球员。

对于pentaho来说,很难找到有用的文件来至少澄清它是否有能力。如果您熟悉它,请告诉我如果pentaho社区版本符合我的要求

对于BIRT,我发现它支持我的前3个需求的证据。但对于自定义图表,我只能找到有关添加自定义IMAGE / SVG图表的示例/文档。由于ECharts基于画布,我不确定是否可以将ECharts与BIRT集成

谢谢!

2 个答案:

答案 0 :(得分:1)

是的,可以在BIRT中集成javascript图表。基本上是:

  • 选择报告大纲的顶级元素 - >脚本标签 - > clientScripts
  • 使用" head.js"在此处包含您的echart资源(.js和.css) (参见下面的链接了解更多信息)
  • 向报告添加文本元素
  • 将此新元素的类型设置为' HTML'
  • 在脚本标记中,在" head.ready()"中初始化您的echart对象。说明(请参阅下面的链接了解更多信息)。棘手的部分是了解如何在此html脚本中的客户端图表中使用服务器端数据集。

您可以找到更多信息以及此类报告的完整示例here,此示例在birt报告中嵌入jvectormap。此外,请参阅a live demo here,其中JIT chart已整合到BIRT报告中。

然而,由于这些图表是使用客户端框架创建的,显然BIRT无法以PDF格式导出它们。您可以在上面链接的实时演示中看到,当用户导出为PDF时,BIRT报告如何轻松处理不同的输出。

答案 1 :(得分:0)

你可以在Pentaho中做到这一点,但使用它的工具是一个有争议的问题。

使用Pentaho报告设计器: - 使用JDBC连接到DB; - 允许根据一个或多个字段对行进行分组,并计算运行总和等函数; - 可以使用选择器(单值或多值选择器)与报表交互,将选择器值传递给查询; - 据我所知,您没有多少选择来选择特定的图表引擎。

但是,你可以使用CCC作为图表引擎,这是一个基于Protovis的Javascript图表引擎,跨浏览器兼容(大多数情况下),使得SVG图表具有适当的IE回退(我相信后备是闪存但我不确定它最近是否改变了,并产生了不错的图表。

如果你必须使用该图表库,那么我建议使用C-Tools仪表板,在那里你可以嵌入你想要的许多不同的JS文件,并且你可以完全控制页面的JS和CSS。但是,珠三角的大多数报告功能都必须得到你的支持。