如何将行组标题添加到"无标题"样式报告中?

Mar*_*ith 6 reporting-services ssrs-2012

对于以下查询

SELECT *
FROM (VALUES ('England','London',9787426),
             ('England','Manchester',2553379),
             ('Scotland','Edinburgh',452194),
             ('Scotland','Glasgow',1168270),
             ('Wales','Cardiff',447287)) V(Country, City, Population)
Run Code Online (Sandbox Code Playgroud)

从报告向导创建报告(带有以下选项)

报告向导选项

构建一个类似的报告

生成报告向导

(Robert Bruckner 在这里称之为"无头" )

当面对这样的报告结构时,是否有任何简单/非片状的方式将其转换为下面的格式(使用Tablix体外的Country标头)?

即无需删除现有组,然后重新添加它?

在此输入图像描述

Anu*_*wal 6

方法0:
如果存在现有表(或使用向导),则没有比您解释的更好的方法.删除并读取该组.

方法1:
您可以在报表设计器中从头开始设计Tablix .添加Tablix,设置数据集并添加组.

方法2:
另一种方法是修改xml代码(RDL).

清理您的设计:删除第二行并将Country数据元素添加到详细信息行,因此您的设计看起来像这样,没有垂直合并和虚线.

在此输入图像描述

要通过xml代码以您希望的方式添加组头,您需要将TablixCellfrom 移动TablixRowTablixRowHierarchy.:

  • 剪切TablixCell片段TablixRow- >包含TablixCells您的国家/地区数据并将其保存在单独的记事本/文档中.

  • 删除相应的TablixColumnTablixColumns

  • TablixCell节点重命名为TablixHeader

  • <Size>1in</Size>TablixHeader和之间添加片段CellContents

  • TablixHeader片段粘贴TablixRowHierarchy -> TablixMembers -> TablixMemberSortExpression和之间TablixMembers.

  • 删除下面的一个<TablixMember />片段TablixColumnHierarchy.它应该与报告中的列数匹配,但虚线之前的列(或虚线组之前)除外.

TablixHeader元素定义组的标题.

TablixCells元素定义Tablix的主体部分的行中的单元格列表

这是RDL规范的链接.它没有2012版本,但2008版本仍然看起来不错.

以下是RDL规范中Tablix的架构图.当您的数据位于TablixHeader中时,列将处于垂直合并状态,并且Tablix行外部的虚线.当它在TablixCells中时它是TablixRow的一部分.

在此输入图像描述