我在报告工作室遇到问题。请帮我解决这个问题。
我有一个可选的提示,我想检查是否选择了值..
请帮助检查..
if (?parameter? is null ) then ('1') else ('2')
or
if (ParamDisplayValue('parameter') is null ) then ('1') else ('2')
以上两点都不起作用。
假设我在提示中选择任何值,那么else部分可以工作,我得到结果为2,如果我不选择任何东西,那么我没有得到结果为1
答案 0 :(得分:0)
我的猜测是,在没有进行大量测试的情况下,根本不存在空的可选提示,并且无法与null进行比较。也就是说,我相信这很容易解决。
既然你知道当你选择一个项目'?参数?是空的'将返回false,'?参数?不是空的'应该返回true,你可以颠倒逻辑:
if (?parameter? is not null) then ('2') else ('1')
答案 1 :(得分:0)
尝试放置条件块。使用以下表达式设置boolean类型的块变量:
ParamDisplayValue('myParam') is null
然后转到条件块再次将属性“当前块”切换为是/否。 当是(意味着我们的块变量为true,因此参数为null)添加一个文本项并只写“全部”。
如果没有添加源类型为报表表达式的文本项,请写入ParamDisplayValue('myParam')
PS:还有一种方法可以计算用户选择了多少个值(以便不是逐个显示所有值,而只是显示“选择62个值”),但它需要一些javascript和一个隐藏的提示字段。
答案 2 :(得分:-1)
使用ParamCount
此处有更多详情:
http://joesanswers.blogspot.com.au/2008/09/checking-for-empty-parameters-in-cognos.html