pentaho 报表实现动态sql——利用ECMAScript
以前曾经介绍过如何实现报表参数的配置。现在有这样的需求,需要根据不同的参数配置,产生动态的sql语句。这样的话,使用以前介绍的插值的方法,明显是不够用的。下面介绍使用ECMAScript的方式实现pentaho动态sql。
本文主要参考:
http://blog.sina.com.cn/s/blog_7253d6540102w7v7.html
好,下面上货。
1、首先需要添加一个查询。
2、添加对应的参数(略)可以参考以前的设置参数的文章。
3、双击查询,在Query Scripting 中选择ECMAScript,然后点击Template。如图:
4、在computeQuery中添加你的sql语句。这里使用dataRow.get("")的方式的到你当前参数的值。
5、点击确定。
效果如图:
注意,在点击template后,会生成很多代码,我们只保留我们需要的这段代码,其他的需要删除掉,不然会出现一个问题。就是在参数的值改变后,dataRow.get("")取得参数的值是不变的。