繁体   English   中英

具有多个可选提示的Cognos报告

[英]Cognos Report with Multiple Optional Prompts

我有一个报告要求,用户希望有2个多选可选提示。

  • 方案A.如果用户在两个提示中都选择了一个或多个值,则列表将根据两个提示中选择的值进行过滤。
  • 方案B。如果用户在提示1中选择了值,而在提示2中没有选择,则该列表应仅根据在提示1中选择的值进行过滤
  • 方案C.如果用户在提示2中选择了值,而在提示1中没有选择值,则列表应仅根据在提示2中选择的值进行过滤

由于两个提示都是可选的,因此过滤器将保持可选。

同时选择两个提示值时,报表在方案A中工作正常。

但是在方案B中,报告显示了从提示1中选择的值(这是正确的),但是从提示2中显示了所有值(这是不正确的。不应显示未选择的值)。

在方案C中,报告显示了从提示2中选择的值(这是正确的),但是从提示1中显示了所有值(这是不正确的。不应显示未选择的值)。

您能否提供一种解决方案,以便按照上述方案过滤报告?

默认情况下,当提示中没有提供答案时,Cognos不应用任何过滤器。 结果是所有值。 因此,您得到的结果是Cognos中的预期行为。

我的建议是使用多个列表和条件String变量。 因此,首先使用以下表达式定义一个条件变量:

case 
when (ParamDisplayValue('Prompt 1') is not null and ParamDisplayValue('Prompt 2') is not null) then ('A')
when (ParamDisplayValue('Prompt 1') is not null and ParamDisplayValue('Prompt 2') is null) then ('B')
when (ParamDisplayValue('Prompt 1') is null and ParamDisplayValue('Prompt 2') is not null) then ('C')
end

当然,您必须定义三个3字符串结果:A,B,C。

列表:创建3个列表:

列表A-定义使用提示1,提示2值作为参数的过滤器

列表B-定义使用提示1作为参数的过滤器,并定义将排除提示2的所有值的常量过滤器

列表C-定义使用提示2作为参数的过滤器,并定义将排除提示1的所有值的常量过滤器。

选择每个列表,然后在每个匹配的列表上使用render变量:

ListA-仅在条件变量字符串等于A时呈现。

ListB-仅在条件变量字符串等于B时呈现。

ListC-仅在条件变量字符串等于C时呈现。

希望可以帮助您解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM