我在Cognos报告中有五个字母(五页)。这些信件是对公司收到的NSF检查的回应。根据NSF文件中存在的条件,每个字母都不同。我需要根据这些条件打印这些字母。例如 - 如果客户我从未进行过NSF检查。我想打印一封很好的信(第1页)。如果客户已经有其他NSF检查,则按字母2(第2页)等等。我创建了以下变量 -
IF [Main].[RETURN_REASON_CD] = 'FINAL' Then '1' Else (
IF [Main].[RETURN_REASON_CD] = 'FIRST' AND [Main].[METHOD_OF_DRAFT_OVR] = 'ACHDA' Then '2' Else (
IF [Main].[RETURN_REASON_CD] = 'FIRST' AND [Main].[METHOD_OF_DRAFT_OVR] <> 'ACHDA' Then '3' Else (
IF [Main].[RETURN_REASON_CD] NOT IN( 'FIRST', 'FINAL') AND [Main].[METHOD_OF_DRAFT_OVR] = 'ACHDA' Then '4' Else '5')))
我需要在值1,2,3,4,5中指定什么才能正确打印。感谢
答案 0 :(得分:0)
我建议你创建五个布尔变量,然后转到页面浏览器,单击Report Pages文件夹,然后会显示五个页面的列表。单击每个页面并设置渲染变量。
当Render变量的计算结果为TRUE时,将呈现您的页面。如果它是假的,它就不会。
可能有一种方法可以使用一个变量来完成,但我现在无法想到它。您可能希望查看页面集。或者您可以将所有页面压缩成一个页面,并使用条件样式隐藏每个页面。
答案 1 :(得分:0)
您可以将单个页面与条件块一起使用,因此您只需要一个包含五个不同值而不是五个布尔变量的字符串变量。
答案 2 :(得分:0)
创建一个具有像你一样的案例表达式的变量......
案例 当Expr 1 然后“显示第1页” 当Expr 2 然后“显示第2页” 等等... 否则“显示所有页面”或您想要对其他人做的任何事情 端
您需要确保文字值在变量页面上完全列为输出值。这个很重要。
从报告第1页开始,切换到结构视图,以便轻松导航到Page对象。一旦你进入页面对象,我相信有一个渲染变量和/或条件样式,具体取决于你的Cognos版本。如果它是一个渲染变量,那么它就很简单......你只需选择你创建的变量并选择哪个文字值将触发渲染真实条件。因此,如果您在第1页上,那么您将从变量中选择第1页作为真实条件,并且只有在该条件为真时才会呈现页面。
如果没有渲染变量,则必须在创建后导航到变量窗格,并且一次选择一个输出值,这将使您进入条件模式(更改颜色)。当您在条件浏览中选择“Page 1”时,您将通过结构视图导航到第1页并将visible = property设置为true,然后导航到所有其他页面并将其设置为false(您可以将所有页面默认为false如果您愿意,请保存此步骤)....您将对所有可能的输出值重复此练习。不会花很长时间,但它更乏味,这就是为什么他们创建了“渲染变量”
条件浏览器允许您选择输出值,然后在报表中导航并更改样式可见性属性......这些样式/可见性属性仅在变量条件找到输出值true时才会发生。它基本上是一个视觉if / case语句。