使用垂直表创建SSRS报告

时间:2017-02-26 23:50:08

标签: reporting-services reporting

我有一个数据库,其中包含地图记录以及何时预订和退出。简单,但我需要以非常具体的方式格式化此报告。

涉及3个表......

  • 地图 - 这是一张包含每张地图记录的表格(例如701,702)
  • 地图预订 - 这是每次保存记录的表格 地图已被预订。它具有以下信息:布克名称(例如James AAAbbott),日期预订(例如2014年10月18日)预订日期(例如2015年1月6日)

地图预订按地图分组......

作为标准表,结果就像这样......

Standard Table Layout

我需要它像这样出来......

Desired Layout

每张地图预订记录都会列在地图编号下方,如图所示。两者上的紫色框表示按地图记录分组。每张图片上的红色框显示单独的地图预订记录。

你能给我的任何帮助都会很棒。在提出上述问题时请原谅我对该主题的缺乏经验。

1 个答案:

答案 0 :(得分:1)

你可以这样做。它需要Matrix和Tablix的组合。后者在后者内部。

在设计模式中:

将Matrix添加到报告中。右键单击空Matrix的第一列的标题,然后选择“删除列”。您不需要该列。

从您的数据集中,将地图编号添加到您在上面添加的Matrix左侧的顶部单元格中。这将分组并过滤我们放入其下方单元格的内容。

从工具箱中,将表拖放到Matrix的底部单元格中。矩阵的大小,因此它更大;这将使它更容易使用。

从现在位于Matrix中的Tablix中,通过右键单击一列并选择“删除列”来删除一列。无论哪一个,你只需要剩下的2个。也可以从Tablix中删除标题行(右键单击,删除行)。

现在,右键单击表格中左侧唯一行的行标题,然后选择“插入行”>内部小组。上面或下面,没关系。你最后需要2个细节行。

同时选择Tablix第一行的前2个单元格,右键单击并选择“合并单元格”。

使用将鼠标指针悬停在Tablix单元格上时看到的“添加值”图标(请参见下方中心单元格的末尾),将数据集中的发布者名称添加到此新合并的单元格中,添加将日期预订到第二行的第一个单元格中,并将预订日期添加到另一个单元格中。

您最终应该看到这样的内容(您的数据集列名称可能不同):

enter image description here

如果您愿意,可以将值置于中心位置。将日期格式设置为dd-MMM-yyyy

运行报告,您应该看到一些接近您需要的东西。

这是我在稍微格式化之后得到的结果:

enter image description here

您的屏幕截图显示了一堆空行/单元格,因此如果您想要包含它,您可能必须在数据集中的一堆填充行中合并,或者只是决定不显示它们。那部分我将留给你。

希望这会让你朝着正确的方向前进。祝你好运!