Static Cognos报告-值提示符中的静态选择

Static Cognos报告-值提示符中的静态选择,static,prompt,cognos,choice,Static,Prompt,Cognos,Choice,我有一个“状态”列,其中包含返工、草稿、取消、审核、完成等值。 因此,在提示页面中,我需要一个显示值为'Treated'和'nottreated'的静态选项。 当用户选择“已处理”时,应“审查”使用值,“完成” 否则,如果用户选择“未处理”,则应为“返工”、“草稿”、“取消”。那么,我们如何在静态选择中给出多个使用值呢 请帮忙 您需要创建更高级的过滤器 (?Selector? = 'Treated' and [Your column] in ('Reviewed','Completed')) o

我有一个“状态”列,其中包含返工、草稿、取消、审核、完成等值。 因此,在提示页面中,我需要一个显示值为'Treated'和'nottreated'的静态选项。 当用户选择“已处理”时,应“审查”使用值,“完成” 否则,如果用户选择“未处理”,则应为“返工”、“草稿”、“取消”。那么,我们如何在静态选择中给出多个使用值呢


请帮忙

您需要创建更高级的过滤器

(?Selector? = 'Treated' and [Your column] in ('Reviewed','Completed'))
or
(?Selector? = 'Not treated' and [Your column] in ('Rework',' Draft','Cancelled'))

哪里?选择器?-提示变量。

您需要创建更高级的过滤器

(?Selector? = 'Treated' and [Your column] in ('Reviewed','Completed'))
or
(?Selector? = 'Not treated' and [Your column] in ('Rework',' Draft','Cancelled'))

哪里?选择器?-您需要提示变量。

根据您的注释,您需要在过滤器中输入if/then:

if (?Prompt? = 'Treated') 
        then ([column] in ('Reviewed','Completed'))
else 
        ([column] in ('Rework','Draft','Cancelled'))

下面的OR建议也可以,我个人觉得if/then逻辑更容易阅读。

根据您的评论,您的过滤器中需要if/then:

if (?Prompt? = 'Treated') 
        then ([column] in ('Reviewed','Completed'))
else 
        ([column] in ('Rework','Draft','Cancelled'))

下面的OR建议也会起作用,我个人觉得if/then逻辑更容易阅读。

如果这些不在表中,我认为您必须有两个单独的提示,每组一个。如果可以使用单独的提示页,则可能可以使用呈现变量。如果你想在同一个页面上显示,我想你应该使用JavaScript来显示和隐藏适当的第二个提示符。嗨,安德鲁,我想要一个值提示符,它应该有两个值,即'Treated'和'nottreated'。如果用户单击treated并单击submit,则报告应仅在“状态”列中显示“已审阅”和“已完成”的值。如果这些值不在表中,我认为您必须有两个单独的提示,每组一个。如果可以使用单独的提示页,则可能可以使用呈现变量。如果你想在同一个页面上显示,我想你应该使用JavaScript来显示和隐藏适当的第二个提示符。嗨,安德鲁,我想要一个值提示符,它应该有两个值,即'Treated'和'nottreated'。如果用户单击treated并单击submit,则报告应仅在“状态”列中显示“已审阅”和“已完成”的值。您提出的If/then将起作用,其他答案的复合布尔值也将起作用。有证据表明,使用简单布尔值比if/then稍微有效一些,但我还没有做性能测试。我认为使用if-then,Cognos只会根据测试结果生成sql。因此,如果用户选择了Treated,那么where子句将在“review”和“Completed”中读取[column]。不会将if/THEN、ors或案例发送到数据库。我不确定or子句会生成什么样的SQL Cognos。区别在于发送到DB服务器的是什么。在if/then的情况下,只有与所选筛选子句等效的where子句将被发送到DB。对于and/or逻辑,整个逻辑结构将作为SQL语句where子句的一部分发送。通常情况下,DB服务器比Cognos dispatchers强大很多倍,并且可以通过查询计划更有效地处理逻辑。换句话说,使用和/或使Cognos退出决策过程,这几乎总是一件好事。不管怎么说,这就是理论。你提出的if/then会起作用,另外一个答案的复合布尔值也会起作用。有证据表明,使用简单布尔值比if/then稍微有效一些,但我还没有做性能测试。我认为使用if-then,Cognos只会根据测试结果生成sql。因此,如果用户选择了Treated,那么where子句将在“review”和“Completed”中读取[column]。不会将if/THEN、ors或案例发送到数据库。我不确定or子句会生成什么样的SQL Cognos。区别在于发送到DB服务器的是什么。在if/then的情况下,只有与所选筛选子句等效的where子句将被发送到DB。对于and/or逻辑,整个逻辑结构将作为SQL语句where子句的一部分发送。通常情况下,DB服务器比Cognos dispatchers强大很多倍,并且可以通过查询计划更有效地处理逻辑。换句话说,使用和/或使Cognos退出决策过程,这几乎总是一件好事。这就是理论。