18

是否可以向跨越所有矩阵列的 SSRS 2008 矩阵添加一行?

这个粗略的图表大致显示了我正在寻找的内容:

我正在寻找的矩阵布局的视觉示例

基本思想是每个行项目是一个人,每一列是该人的表单中的一个字段。字段本身是动态的(并作为矩阵上的列组实现)。包括其他列组以附加非动态表单字段,例如输入记录的时间和输入者。在每个人的记录下面是一个评论字段,它应该跨越它上面的所有表单字段。

目前,我将矩阵嵌入到另一个 tablix 中,矩阵中的名称和字段以及父 tablix 中的注释。这适用于数据(矩阵的每个实例最终都是一行),但标题重复太频繁(每人一次),因为它附加到矩阵。关于如何解决这个问题,我唯一的想法是在父 tablix 中创建另一个具有相同分组的矩阵,并使用它来显示标题......但这需要相当多的手动同步来保持这两个矩阵相同的。

编辑:这里的关键问题是使第二行跨越多个列

4

6 回答 6

12

以下是您可以执行的操作:

  1. 在上方选择要添加的列分组,然后右键单击并选择 添加组...父组...
  2. 按不会聚合数据的内容对列进行分组。您必须从数据集中选择一个字段进行分组,以便创建重叠的列分组。
  3. 选中添加组标题

您现在应该会看到与此类似的内容:

带列的矩阵

现在您只需将 Value1 字段和它的标题移到矩阵分隔符右侧的新列下方。完成后,只需删除您刚刚从中复制 Value1 的未分组列,并确保选中仅删除列复选框。

您的成品应如下所示:

在此处输入图像描述

于 2014-03-25T20:23:37.853 回答
5

[编辑]

经过几次尝试,我会说这在 SSRS 中是不可能的。我能想到的最好的方法是跨列 1、2 和 3 的组页脚,但不是用户列。

[原始回复]

我最近做了类似的事情。

首先,您使用什么工具来创建 SSRS 报告?(我使用了 SQL Server 商业智能开发工作室)

  • 您需要创建一个行组(按人分组)

  • 在“设计”视图中将一行添加到您的表中(右键单击“插入行 --> 内部组 - 下方”)。

  • 将表达式添加到为“评论”列提取值的行 (=Fields!Comment.Value)。

让我知道这是否有帮助...

于 2010-10-29T20:01:11.393 回答
5

尝试使用 (1=1) 的分组表达式添加列组“标题”。然后需要定义一个详细字段。如果您使用正确的数据定义另一个组,则“标题”将跨越所有详细信息列。您可能需要根据其他选项进行合并。

于 2013-04-03T03:41:30.663 回答
5

有可能 - 以上答案是部分答案,省略了一个关键步骤:合并子行的单元格。

首先,右键单击您的分组行,然后选择Insert Row -> Inside Group - Below,您将获得两行,其中单元格在列上对齐

其次,ctrl单击新行中的所有单元格(即没有数据的行),然后右键单击突出显示的单元格之一,然后选择Merge Cells

现在你有你喜欢的桌子了。要向新行添加值:首先右键单击新(多列)单元格,选择Create Placeholder,然后将所需的数据集项添加到占位符。

于 2015-06-25T21:07:30.863 回答
2

最简单的方法是创建一个只有一列和行分组的 Tablix。然后,您在该组内创建两行。在组内的第一行中,您插入一个矩阵,然后您可以根据需要对其进行分组。

我刚刚遇到了类似的问题,这就是我的解决方案。

我把头撞在墙上很长一段时间,直到我意识到我的问题的解决方案不是“让一个单元格跨越多个列组”,而是“让一个单元格分成多个列组”。

于 2016-03-18T11:53:33.977 回答
0

您可以通过为每个人使用子报表来实现目标。子报表将接收员工 ID 并为您创建层次结构。确保您的子报表列宽与父报表的宽度相匹配。

于 2020-03-12T16:31:06.650 回答