我正在尝试将LimeSurvey (一个PHP应用程序,用于开发和收集对在线调查的回复)与Pentaho (ETL,商业智能,报告等)集成,但我面临一些严重的问题。
LimeSurvey自动生成一个新表,用于存储在我的应用程序中创建的每个调查的答案,我需要使用Pentaho从调查的答案动态生成报告。
如何处理将未知数量的表作为Pentaho的数据源的问题,其中表的名称和字段的名称都是由LimeSurvey自动生成的?我可以使用哪些策略、想法或机制来从这样一个不可预测的数据源加载信息,并从中生成报告?
或者,有没有一种方法可以告诉LimeSurvey将所有调查答案存储在一个表中,以一种可以轻松从诸如Pentaho之类的商业智能工具中提取的方式?
提前感谢!
发布于 2010-09-28 18:57:53
如果您知道或能够预测LimeSurvey如何命名这些表以及如何连接这些表的模式,那么您可以使用"Advanced SQL Datasource“和一个表达式来计算查询。它可能是一个BeanShell或Bean-Scripting-Host表达式,因为AFAIK在早期处理这些表将是复杂的。
如果您想了解有关高级SQL数据源和计算查询的更多信息,请查看Mike Tarrallo的"Guided“记录,网址为
http://wiki.pentaho.com/display/COM/April+7%2C+2010+-+Michael+Tarallo+-+Guided+Adhoc+reporting+using+the+BI+Server
发布于 2010-09-28 07:25:23
适当的:让LimeSurvey成形,每个调查一张表,来吧。不过,这有点超出范围。
可行的:创建一个包含所有表和一个列的视图,其中包含可供Pentaho使用的“survey-id”。在添加/删除调查时重新创建,祈祷在Limesurvey中有钩子可以轻松地添加这些SQL语句。
https://stackoverflow.com/questions/3808560
复制相似问题