如何将ECharts与BIRT/Pentaho集成?

如何将ECharts与BIRT/Pentaho集成?,charts,reporting,reportviewer,pentaho,birt,Charts,Reporting,Reportviewer,Pentaho,Birt,我正在寻找一个报告引擎,它可能: 通过JDBC连接到数据源 通过分组/聚合原始数据创建逻辑数据集 在每个报表的顶部包括一个数据过滤器,它允许我的客户端以交互方式使用报表 添加自定义图表,在我的例子中,它是ECharts 支持多租户模式(新要求) 现在,伯特和潘塔霍是我桌上的两名球员 对于pentaho来说,很难找到有用的文档来至少澄清它是否有能力。如果您熟悉,请告诉我pentaho社区版本是否符合我的要求 对于BIRT,我发现有证据支持我的前3个需求。但是对于自定义图表,我只能找到关于添加自

我正在寻找一个报告引擎,它可能:

  • 通过JDBC连接到数据源
  • 通过分组/聚合原始数据创建逻辑数据集
  • 在每个报表的顶部包括一个数据过滤器,它允许我的客户端以交互方式使用报表
  • 添加自定义图表,在我的例子中,它是ECharts
  • 支持多租户模式(新要求)
现在,伯特和潘塔霍是我桌上的两名球员

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

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


谢谢大家!

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

  • 选择报告大纲的顶级元素->脚本选项卡->客户端脚本
  • 在这里使用“head.js”包含您的echart资源(.js和.css)(有关更多信息,请参阅下面的链接)
  • 向报告中添加文本元素
  • 将此新元素的类型设置为“HTML”
  • 在脚本标记中,在“head.ready()”指令中初始化echart对象(有关更多信息,请参阅下面的链接)。棘手的部分是理解如何在此html脚本中在客户端图表中使用服务器端数据集
您可以找到此类报告的更多信息和完整示例,此示例在birt报告中嵌入了。此外,请参见,其中BIRT报告中集成了一个


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

您可以在Pentaho中执行此操作,但使用哪种工具仍有争议

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

但是,您可以使用CCC作为图表引擎,它是一个基于Protovis的Javascript图表引擎,与跨浏览器兼容(在大多数情况下),为IE呈现SVG图表,并提供一个适当的回退(我相信回退是flash,但我不确定它最近是否发生了变化),并生成外观良好的图表


如果您必须使用该图表库,那么我建议改用C-Tools仪表板,在这里您可以嵌入任意多个不同的JS文件,并且可以完全控制页面的JS和CSS。但珠江三角洲的大部分报告功能都必须由您执行。

谢谢您的回答!也许企业版满足了我的所有要求,但在这个项目中,我必须选择社区版。这里建议的所有工具也是社区版。Pentaho报告设计器可在此处下载:;在CE和EE版本中,报告呈现插件都是Pentaho核心的一部分。至于C-tools,C代表社区。谢谢@nsousa,顺便说一句,你有关于C-tools的免费文档/教程吗?试试webdetails网站,他们是项目所有者。但是文档不是很完整。