1

我正在尝试将 LimeSurvey(用于开发和收集在线调查回复的 PHP Web 应用程序)与 Pentaho(ETL、商业智能、报告等)集成,但我面临一些严重的问题。

LimeSurvey 自动生成一个新表来存储在我的应用程序中创建的每个调查的答案,我需要使用 Pentaho 从调查的答案动态生成报告。

我该如何处理将未知数量的表作为 Pentaho 的数据源的问题,其中表的名称及其字段的名称都是由 LimeSurvey 自动生成的?我可以在 Pentaho 中使用哪些策略、想法或机制来从这种不可预测的数据源加载信息并从中生成报告?

或者,有没有办法告诉 LimeSurvey 将所有调查答案存储在一个表中,以一种可以从 Pentaho 等商业智能工具中轻松提取的方式?

提前致谢!

4

2 回答 2

1

如果您知道或可以预测 LimeSurvey 如何命名表以及如何连接它们的模式,那么您可以使用“高级 SQL 数据源”和表达式来计算查询。它可能是一个 BeanShell 或 Bean-Scripting-Host 表达式,因为 AFAIK 与这些表混淆在早期会很复杂。

如果您想了解有关高级 SQL 数据源和计算查询的更多信息,请查看 Mike Tarrallo 的“Guided Adhoc”记录,网址为

http://wiki.pentaho.com/display/COM/April+7%2C+2010+-+Michael+Tarallo+-+Guided+Adhoc+reporting+using+the+BI+Server

于 2010-09-28T10:57:53.043 回答
0

正确:鞭打 LimeSurvey 成形,每次调查一张桌子,来吧。虽然有点超出范围。

可行:创建一个包含所有表的视图 + Pentaho 可以使用的“survey-id”列。重新创建调查添加/删除,祈祷 Limesurvey 中有钩子可以轻松添加这些 SQL 语句。

于 2010-09-27T23:25:23.347 回答