我正在尝试根据Cognos 10.1中的提示有条件地进行页面显示。
我有一个带有下拉列表的提示页面,该下拉列表由名为PromptSQL的查询填充。 PromptSQL返回一个包含两列Value和Descr的表。提示页面上的“值提示”已更改以下属性:
Query: PromptSQL
Use Value: Value
Display Value: Descr
Parameter: Location
我创建了一个布尔变量vShowPage,以确定是否应该显示其中一个报告页面。 vShowPage下的代码只是:
?Location? in ('12', '15', '20')
所以,如果选择的位置是12,15或20,我只想打印“Page 2”页面。
然后,我在“报告页面”和相关的vShowPage下选择“第2页”到“渲染变量”属性。当我验证报告时,我收到以下错误:
RSV-VAL-0032以下表达式无效:?位置?在 ( '12', '15', '20')。如果项目存在于查询中但未引用 在布局中,将其添加到属性列表中。 CRX-API-0005错误 在位置'0'处或附近发现。名为'?Location?'的变量 无效。
我也尝试将变量更改为String变量,但列出所有可能的值将会有问题。但即使我使用字符串变量进行的小测试也会导致相同的错误。
我尝试将PromptSQL添加到第2页的Query属性并检查Properties属性下的Value列。我甚至尝试检查Value和Descr。这些都产生了同样的错误。
我使用IBM网站上的这个链接作为我的模板:How To: Hide a report page based on a prompt
任何帮助解决这个问题都将非常感激。
答案 0 :(得分:2)
您无法使用提示值?位置?在条件表达式中。使用ParamDisplayValue('Location')或ParamValue('Location')代替,例如: ParamValue('位置')在('12','15','20')。