对于以下查询
SELECT *
FROM (VALUES ('England','London',9787426),
('England','Manchester',2553379),
('Scotland','Edinburgh',452194),
('Scotland','Glasgow',1168270),
('Wales','Cardiff',447287)) V(Country, City, Population)
从报告向导创建报告(带有以下选项)
构建一个类似
的报告
(Robert Bruckner称之为#34;无头" here)
当面对这样的报告结构时,是否有任何简单/非片状方式将其转换为下面的格式(使用Tablix体外的Country标头)?
即。无需删除现有组,然后重新添加它?
答案 0 :(得分:6)
方法0:
如果存在现有表格(或使用向导),则执行此操作没有更好的方法比您解释的那样。删除并读取该组。
方法1:
您可以在报表设计器中从 scratch 设计Tablix。添加Tablix,设置数据集并添加组。
方法2:
另一种方法是修改xml代码(RDL)。
清理您的设计:删除第二行并将Country数据元素添加到详细信息行,因此您的设计看起来像这样,没有垂直合并和虚线。
要通过xml代码以您希望的方式添加群组标头,您需要将TablixCell
从TablixRow
移至TablixRowHierarchy
:
剪切包含您的国家/地区数据的TablixCell
- > TablixRow
下的TablixCells
片段,并将其保存在单独的记事本/文档中。
删除TablixColumn
TablixColumns
将TablixCell
节点重命名为TablixHeader
在<Size>1in</Size>
和TablixHeader
之间添加CellContents
片段
将TablixHeader
片段粘贴在TablixRowHierarchy -> TablixMembers -> TablixMember
和SortExpression
之间的TablixMembers
下。
<TablixMember />
下的TablixColumnHierarchy
个片段之一。它应与报告中的列数相匹配,但虚线之前的列(或虚线组之前)除外。TablixHeader 元素定义组的标头。
TablixCells 元素定义Tablix正文部分行中的单元格列表
Here is the link to RDL specifications。它没有2012版本,但2008版本看起来还不错。
以下是RDL规范中Tablix的架构图。当您的数据位于TablixHeader中时,列将处于垂直合并状态,并且Tablix行外部的虚线。当它在TablixCells中时它是TablixRow的一部分。
答案 1 :(得分:2)
似乎没有一种简单的方法可以添加category columns。
我所知道的最简单的方法是将同一字段的父组添加到您希望该列返回的行组中。这将创建一个新的类别列,您可以删除旧的分组。只是删除组,而不是相关的单元格&amp;列。
在您的情况下,您可以将Country
字段中的父组添加到现有的Country
分组中。您现在应该有国家/地区的类别列,您可以删除原始的Country
分组。
答案 2 :(得分:2)
我会按照以下步骤操作:
这是最终输出:
答案 3 :(得分:0)