首先,我是法国人,对我糟糕的英语很抱歉。
在报告工作室中我使用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 = 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
我不知道如何正确地做到这一点(我找到了一种方法,有必要隔离每个变量并交叉自己,但它很长,很粗糙和丑陋)
最好的关注
答案 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的基数。将数据项拖入此新查询时,请确保从"维度查询"中拖入行标题和列标题。这可确保返回所有可能的行和列,即使没有与之关联的数据。"
执行时间非常好