2015-03-02 48 views
0

我目前正在使用这样的:发送多个选定值逗号分隔的存储过程

params["RPBla"].join(",") 

作为(存储过程)数据集的默认参数。这工作得很好,并从报表参数RPBLA发送一个或多个选择的值存储过程,例如:

1,2,3 

不幸的是,这不,如果用户不选择任何价值的工作。任何想法做什么。 Actuate BIRT应该发送NULL而不是例如1,2,3。

回答

1

怎么样在这个默认值表达式测试内容是这样的:

if (params["RPBla"].value==null){ 
    null; 
}else{ 
    var list=params["RPBla"].join(","); 
    list.length>0 ? list : null; 
} 

当然,你可以返回任何东西,你需要在这里的“空”代替,例如返回的特定值警告存储过程应该禁用过滤器。

+0

谢谢 - 我会测试这个。对不起刚刚开始与Actuate的脚本... – cs0815 2015-03-04 12:01:24

+0

对不起... – cs0815 2015-03-04 21:56:58

+0

它没有什么帮助。没有选择任何东西时,预期的行为是什么?显示所有值,什么也没有或具体的默认值?当选择为空时,此存储过程预期哪个值?正如你所提到的“BIRT应该发送NULL”,我相信null在存储过程中被考虑到了,但似乎我误解了。 – Dominique 2015-03-05 09:49:19