动态SQL脚本
上一篇写了SQL脚本中使用参数,很好很欣慰。
但是,同时也带来一个问题,默认没有提供参数的情况下,
因为SQL脚本无法正常执行,图表就什么都不会显示。
于是又开始犯纠结了:能不能在没有提供参数的情况下,图表显示所有数据信息。
换句话说,就是在SQL脚本中,不要这个限制条件呢?
必须可以!!!不然pentaho也太弱了吧。
1.打开数据集的设置
使用Query Scripting
在脚本语言中PRD 5.4提供对2种脚本语言的支持
1.ECMAScript:一种类似java script的脚本语言。
2.groovy
这里用ECMAScript为例:
选择好要使用的脚本语言后,点击[Template],PRD自动会生成模板
找到computeQuery()方法
看到模板中对dataRow参数的描述了吗?对,通过dataRow可以获得我们定义的参数。
加入如下的代码:
var param = dataRow.get("购买价格"); if (param == null) { } |
※意思是,如果[购买价格]为空,则输出脚本给定的SQL语句。
编辑完毕,预览查看效果