ReportStudio入门教程(四十二) - 在过滤器中实现IF-THEN-ELSE

在这里,我们介绍一个小技巧,可以先试试,在过滤器中写个IF-THEN-ELSE试试

基本报表

ReportStudio入门教程(四十二) - 在过滤器中实现IF-THEN-ELSE_第1张图片

ReportStudio入门教程(四十二) - 在过滤器中实现IF-THEN-ELSE_第2张图片


1. 添加过滤器,IF-THEN-ELSE

ReportStudio入门教程(四十二) - 在过滤器中实现IF-THEN-ELSE_第3张图片

2. 我们使用AND 和OR来实现IF-THEN-ELSE的功能

([订购方法类型] = '传真' and [销售 (查询)].[零售商类型].[零售商名称]  = ?SalesVisitRetailer?)
OR
([订购方法类型] <> '传真' )

ReportStudio入门教程(四十二) - 在过滤器中实现IF-THEN-ELSE_第4张图片

3. 原理

        当使用在数据表达式中的时候,IF THEN ELSE语句工作正常。然而,当我们把它使用在filter中的时候,Cognos经常会返回错误。

IF THEN ELSE 是一个有效的语法结构,并且在表达式窗口是可以解析并验证通过的。这确实有点奇怪。

        解决这个问题的变通的方法是使用此示例中的AND…OR语句。IF条件和相应动作语句用AND语句联接起来;ELSE部分使用OR运算符执行相反的条件。


你可能感兴趣的:(实例,过滤器,Cognos,ReportStudio)