PRD 动态SQL脚本(4)

动态SQL脚本
上一篇写了SQL脚本中使用参数,很好很欣慰。

但是,同时也带来一个问题,默认没有提供参数的情况下, 因为SQL脚本无法正常执行,图表就什么都不会显示。
于是又开始犯纠结了:能不能在没有提供参数的情况下,图表显示所有数据信息。
换句话说,就是在SQL脚本中,不要这个限制条件呢?

必须可以!!!不然pentaho也太弱了吧。

1.打开数据集的设置
使用Query Scripting
在脚本语言中PRD 5.4提供对2种脚本语言的支持
1.ECMAScript:一种类似java script的脚本语言。
2.groovy
这里用ECMAScript为例:
选择好要使用的脚本语言后,点击[Template],PRD自动会生成模板
Pentaho学习笔记--report <wbr>designer <wbr>5.4学习(4)【原】

找到computeQuery()方法
看到模板中对dataRow参数的描述了吗?对,通过dataRow可以获得我们定义的参数。
加入如下的代码:
 

var param = dataRow.get("购买价格");

if (param == null) {

  query = "SELECT COUNT(products.PRODUCTCODE) AS cnt, products.`PRODUCTLINE` FROM products  GROUP BY products.PRODUCTLINE";

}


※意思是,如果[购买价格]为空,则输出脚本给定的SQL语句。

编辑完毕,预览查看效果
Pentaho学习笔记--report <wbr>designer <wbr>5.4学习(4)【原】
可以看到,启动尽管默认参数输入框里没有值,但是图表还是有 内容显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值