是否可以向跨越所有矩阵列的SSRS 2008 Matrix添加行?
这张粗略的图表大致显示了我正在寻找的内容:
基本思路是每个订单项都是一个人,每个列都是该人的表单中的字段。字段本身是动态的(并在矩阵上实现为列组)。包含附加列组以附加非动态表单字段,例如输入记录的时间和输入记录的人员。在每个人的记录下面是一个注释字段,它应该跨越它上面的所有表单字段。
目前我将矩阵嵌入另一个tablix中,矩阵中的名称和字段以及父Tablix中的注释。这适用于数据(矩阵的每个实例最终都是一行),但标题经常重复(每人一次),因为它附加到矩阵。关于如何解决这个问题我唯一想到的是在父tablix中使用相同的分组创建另一个矩阵并使用它来显示标题......但这需要相当多的手动同步来保持两个矩阵相同。
修改:此处的关键问题是使第二行跨越多列组 。
答案 0 :(得分:11)
以下是您可以做的事情:
您现在应该看到类似的内容:
现在您只需将Value1字段及其标题移到矩阵分隔符之外的新列下方。完成后,只需删除刚从中复制Value1的未分组列,并确保选择仅删除列复选框。
您的成品应如下所示:
答案 1 :(得分:5)
<强> [编辑] 强>
经过几次尝试后,我会说这在SSRS中是不可能的。我能想出的最好的是一个组页脚,它跨越1,2和3列,但不包括用户列。
[原始回复]
我最近做了类似的事情。
首先,您使用什么工具来创建SSRS报告? (我使用的是SQL Server商业智能开发工作室)
您需要创建一个行组(在Person上分组)
在“设计”视图中向您的表格添加一行(右键单击,“插入行 - &gt;内部组 - 下方”)。
将表达式添加到为“Comment”列提取值的行(= Fields!Comment.Value)。
如果有帮助,请告诉我......
答案 2 :(得分:5)
尝试使用分组表达式(1 = 1)添加列组“header”。然后需要定义一个详细信息字段。如果您使用正确的数据定义另一个组,那么“标题”将覆盖所有详细信息列。您可能需要根据其他选项进行合并。
答案 3 :(得分:5)
有可能 - 以上答案是部分答案,省略了一个关键步骤:合并子行的单元格。
首先,右键单击您的分组行,然后选择Insert Row -> Inside Group - Below
,您将获得两行,其中单元格在列上对齐
其次, ctrl 单击新行中的所有单元格(即没有数据的行),然后右键单击其中一个突出显示的单元格,然后选择Merge Cells
。
现在你有了自己喜欢的桌子。要向新行添加值:首先右键单击新(多列)单元格,选择Create Placeholder
,然后将所需的数据集项添加到占位符。
答案 4 :(得分:2)
最简单的方法是创建一个只有一列的Tablix和行分组。 然后,在该组内创建两行。 在组内的第一行中,您插入一个矩阵,然后您可以根据需要进行子组。
我遇到了类似的问题,这是我的解决方案。
我把头撞到了墙上很长一段时间,直到我意识到我的问题的解决方案不是“让一个单元跨越多个列组”,而是“将一个单元格分成多个列组”。 / p>
答案 5 :(得分:0)
您可以通过为每个人使用子报表来实现目标。子报表将接收员工ID并为您创建层次结构。确保您的子报表列的宽度与父报表的宽度匹配。