2

我正在尝试根据 Cognos 10.1 中的提示有条件地显示页面。

我有一个带有下拉列表的提示页面,该页面由名为 PromptSQL 的查询填充。PromptSQL 返回一个包含两列 Value 和 Descr 的表。提示页面上的值提示已更改以下属性:

Query: PromptSQL
Use Value: Value
Display Value: Descr
Parameter: Location

我创建了一个布尔变量 vShowPage,以确定是否应显示报告页面之一,即第 2 页。vShowPage 下的代码很简单:

?Location? in ('12', '15', '20')

所以,如果选择的位置是 12、15 或 20,我只希望打印“第 2 页”页面。

然后,我在 Report Pages 下选择了“Page 2”,并将 vShowPage 关联到 Render Variable 属性。当我验证报告时,我收到以下错误:

RSV-VAL-0032 以下表达式无效:?位置?在('12','15','20')中。如果该项目存在于查询中但未在布局中引用,则将其添加到属性列表中。CRX-API-0005 在位置“0”处或附近发生错误。名为“?位置?”的变量 是无效的。

我也尝试将变量更改为字符串变量,但列出所有可能的值会有问题。但即使我使用字符串变量进行的小测试也会导致同样的错误。

我尝试将 PromptSQL 添加到 Page 2 的 Query 属性并检查 Properties 属性下的 Value 列。我什至尝试检查 Value 和 Descr。这些都产生了相同的错误。

我使用 IBM 网站上的这个链接作为我的模板:How To: Hide a report page based on a prompt

任何帮助解决这个问题将不胜感激。

4

1 回答 1

2

您不能使用提示值 ?Location? 在条件表达式中。请改用 ParamDisplayValue('Location') 或 ParamValue('Location'),例如:ParamValue('Location') in ('12','15','20')。

于 2012-07-13T13:40:00.397 回答