将参数传递给pentaho CDE报告

时间:2013-12-04 14:01:04

标签: pentaho pentaho-cde

我在此报告中创建了一个CDE参数报告我希望通过url传递参数我的CDE报告链接如下

http://localhost:8080/pentaho/content/pentaho-cdf-dd/Render?solution=demo&path=&file=pass_parameter.wcdf&userid=joe&password=password

和我的cda查询网址如下

http://localhost:8080/pentaho/content/cda/doQuery?path=demo/pass_parameter.cda&dataAccessId=jdbc&paramdeviceType=deviceType

如果我将deviceType传递给

,则在上面的cda查询网址中
http://localhost:8080/pentaho/content/cda/doQuery?path=demo/pass_parameter.cda&dataAccessId=jdbc&paramdeviceType=Linux

它在浏览器中显示了json格式的输出。所以我在jsp页面上的iframe中使用了CDE报告,而iframe我通过了第一个url。我想在我的第一个网址中传递deviceType参数,如

 http://localhost:8080/pentaho/content/pentaho-cdf-dd/Render?solution=demo&path=&file=pass_parameter.wcdf&userid=joe&password=password&deviceType=Linux

但是它没有显示任何输出,我如何通过url传递参数?

1 个答案:

答案 0 :(得分:3)

经过长时间的研究,我找到了解决问题的方法。 首先在我的jndi查询组件中查询所需的属性值和该属性值我想通过url为此我选择一个组件参数并编写如下的javascript代码

function() 
{ 
  cname = Dashboards.getQueryParameter('name');
 } 

您也可以在预执行时将此脚本添加到您的组件,并将参数名称添加为cname值也是cname,我的查询将select * from table name where cname=${cname}。在我的iframe网址中,我传递参数如下

http://localhost:8080/pentaho/content/pentaho-cdf-dd/Render?solution=demo&path=&file=pass_parameter.wcdf&userid=joe&password=password&name=Linux

它向我显示了我想要的结果。