首先,我是法国人,对不起我的英语不好。
在Report Studio中,我将Crosstab和section一起使用,但是对于每个部分,我都希望显示所有列(列来自我用于croostab的变量的不同值)。
我认为一个例子会更好:
- - - - - - - - - - - -资源
是的 有B | 有C | 编号|
A1 | B1 | C1 | 120
A1 | B1 | C2 | 130
A1 | B2 | C1 | 10
A2 | B1 | C1 | 17
A2 | B1 | C2 | 16
我做交叉表:
列:变量B
行:是C
“值”:总和(数字)
所以我有 :
部分:Var A = A1
| B1 | B2
C1 | 120 | 10
C2 | 130 | 0
和 :
部分:Var A = A2
| B1
C1 | 17
C2 | 16
但我想要 :
部分:Var A = A2
| B1 | B2
C1 | 17 | 0
C2 | 16 | 0
我不知道如何正确地做到这一点(我发现了一种方法,有必要隔离每个变量并交叉使用它们,但是它又长又脏又丑陋)
最良好的问候
我在另一个论坛中找到了解决方案(我已经搜索了很长时间,但是我没有使用正确的关键字):
” http://www-01.ibm.com/support/docview.wss?uid=swg21341708
标题:如果交叉表中没有数据,则交叉表中的列或行会丢失
问题(摘要)
如果交叉表行或列不包含任何数据,则不会在交叉表中显示。本文档介绍了一种强制所有列和行都显示的方法,无论它们是否包含数据。
原因
交叉表报表中的列标题和行标题由查询的结果集确定。
环境
关系数据源。
解决问题
为列/行标题和数据创建单独的查询。以1..1-> 0..n关系连接这两个查询,这样即使没有数据的列和行也将在结果集中表示。
请参阅为GO Sales and Retailers示例软件包编写的随附示例。这是针对2004年数据进行过滤的简单交叉表。没有2004年的Mountaineering Equipment数据。交叉表使用如上所述的联接查询,并且不包含Mountaineering Equipment的空白行。
步骤:以下步骤假定行或列都可能丢失。如果您担心仅行或仅列,则可以跳过步骤1-2,而在步骤3中仅创建行或列数据。1)创建“列查询”,仅包含列信息和虚拟对象值为1的数据项。在所附的示例中,该数据项被命名为“ Years”
2)创建一个“行查询”,其中仅包含行信息和值为1的虚拟数据项。在所附示例中,该行名为“产品系列”
3)创建一个“维度查询”查询,该查询将虚拟对象上第1步和第2步中的查询联接在一起。这要求将查询的“允许的外部联接”属性设置为“允许”。这将创建一个包含所有可能的行和列组合的交叉联接
4)创建第四个查询,其中包含交叉表的数据。这与普通的交叉表报告相同。
5)加入基数分别为1..1和0..n的第3步和第4步的查询。将数据项拖到该新查询中时,请确保从“维度查询”中拖入行和列标题。这样可以确保返回所有可能的行和列,即使没有与之关联的数据也是如此。”
执行时间非常好
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句