Cognos Report:Crosstab with section,如何显示所有列?

时间:2015-09-24 13:36:18

标签: cognos

首先,我是法国人,对我糟糕的英语很抱歉。

在报告工作室中我使用Crosstab with section但是对于每个部分,我希望显示所有列(列来自我用于我的croostab的变量的不同值)。

我认为一个例子会更好:

-----------------------源

Var A | var B | var C |号码|

A1 | B1 | C1 | 120

A1 | B1 | C2 | 130

A1 | B2 | C1 | 10

A2 | B1 | C1 | 17

A2 | B1 | C2 | 16

我制作交叉表:

  • 专栏:Var B

  • 行:Var C

  • “值”:总和(数字)

    • 部分:Var A

所以我有:

  

部分:Var A = A1

   |   B1    |    B2

C1 | 120 | 10

C2 | 130 | 0

AND:

  

部分:Var A = A2

 |    B1     

C1 | 17

C2 | 16

但我想:

  

部分:Var A = A2

  |     B1   |    B2

C1 | 17 | 0

C2 | 16 | 0

我不知道如何正确地做到这一点(我找到了一种方法,有必要隔离每个变量并交叉自己,但它很长,很粗糙和丑陋)

最好的关注

1 个答案:

答案 0 :(得分:0)

我在其他论坛找到了解决方案(我很长一段时间都在搜索,但我没有使用正确的关键词):

" http://www-01.ibm.com/support/docview.wss?uid=swg21341708

标题:交叉表中缺少的列或行(如果它们不包含数据)

问题(摘要)

如果交叉表行或列不包含任何数据,则它不会显示在交叉表中。本文档描述了强制显示所有列和行的方法,无论它们是否包含数据。

原因

交叉表报告中的列和行标题由查询的结果集确定。

环境

关系数据源。

解决问题

为列/行标题和数据创建单独的查询。使用1..1 - >加入这两个查询0..n关系,以便在结果集中表示偶数没有数据的列和行。

请参阅为GO Sales和Retailers示例包编写的附加示例。它是针对2004年数据过滤的简单交叉表。 2004年没有针对登山设备的数据。交叉表使用了所描述的连接查询,并且确实包含登山设备的空白行。

步骤:以下步骤假定可能缺少行或列。如果您担心仅限行或仅列,则可以跳过步骤1-2,并在步骤3中仅创建行或列数据。 1)创建一个"列查询",仅包含列信息和值为1的虚拟数据项。在附加的示例中,这被命名为"年"

2)创建一个"行查询",仅包含行信息和值为1的虚拟数据项。在所附示例中,这被命名为"产品线"

3)创建一个"维度查询"在虚拟上加入步骤1和2的查询的查询。这要求将查询的Outer Join Allowed属性设置为Allowed。这将创建一个包含行和列的所有可能组合的交叉连接

4)创建包含交叉表数据的第四个查询。这与正常的交叉表报告相同。

5)加入步骤3和4的查询,分别使用1..1和0..n的基数。将数据项拖入此新查询时,请确保从"维度查询"中拖入行标题和列标题。这可确保返回所有可能的行和列,即使没有与之关联的数据。"

执行时间非常好