参数不为空时过滤数据

时间:2019-04-04 23:20:40

标签: cognos cognos-11

我在报告中有一个列表,该列表基于显示如下内容的查询:

+------------+----------+------------+
|   Employee |   City   |   Client   |
+------------+----------+------------+
| Alex       | All City | All Client |
| Alex       | Chicago  | Google     |
| Alex       | NY       | Twitter    |

该员工可以有许多城市和许多客户,该列表会根据提示动态刷新,并且其参数值来自仪表板中的“钻探”。

因此,我需要在列表中仅显示不同的城市和不同的客户,但不包括“所有”数据,但是如果参数为null,则不应排除“所有”数据,因为“城市”和“客户”来自层次结构,如果排除了“全部”,则列表中将没有数据。

如果参数不为null,则我的列表应如下所示:

+------------+---------+---------+
|   Employee |  City   | Client  |
+------------+---------+---------+
| Alex       | Chicago | Google  |
| Alex       | NY      | Twitter |
+------------+---------+---------+

但是如果为null,应如下所示:

+------------+----------+------------+
|   Employee |   City   |   Client   |
+------------+----------+------------+
| Alex       | All City | All Client |
+------------+----------+------------+

2 个答案:

答案 0 :(得分:1)

您尝试过这样的事情吗?

(?param? is null AND [City] = 'All City' AND [Client] = 'All Client')
OR
(?param? is not null AND [City] <> 'All City' AND [Client] <> 'All Client')

答案 1 :(得分:0)

我认为您正在使用DMR或多维数据集?

  • 设置2个层次结构

对于第二个层次结构,将多个根成员设置为True-层次结构包含多个根成员。选择此选项将删除在层次结构顶部自动创建的所有级别。

请参阅https://www.ibm.com/support/knowledgecenter/en/SSEP7J_11.1.0/com.ibm.swg.ba.cognos.ug_cog_rlp.doc/c_cog_rlp_dsgn_hier.html

  • 设置变量以确定参数是否为空
  • 列出两个列表
  • 列表1将包含所有城市-层次结构将包含所有
  • 列表2将排除所有城市-层次结构中不包含所有
  • 参数为空时渲染List1
  • 参数不为空时呈现List2