未输入时的IBM Cognos提示值

时间:2015-01-23 14:38:31

标签: cognos

我在报告工作室遇到问题。请帮我解决这个问题。

我有一个可选的提示,我想检查是否选择了值..

请帮助检查..

 if (?parameter? is null ) then ('1') else ('2')
 or
 if (ParamDisplayValue('parameter') is null ) then ('1') else ('2')

以上两点都不起作用。
假设我在提示中选择任何值,那么else部分可以工作,我得到结果为2,如果我不选择任何东西,那么我没有得到结果为1

3 个答案:

答案 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)