0

SQL Server 报告服务 2008

我有一排有 30 个字段。我想排列它们而不是一行有 30 个字段,所以我有三行,每行 10 个字段。我使用向导创建了此报告,报告类型是表格(不是矩阵)。我该怎么做呢?

这是所需的输出:

Header1   Header2   Header3
Data1     Data2     Data3

Header4   Header5   Header6
Data4     Data5     Data6 

Header7   Header8   Header9
Data7     Data8     Data9 
4

2 回答 2

1

使用三个详细信息行(如果您使用标题,则使用三个标题行)。这意味着再添加两个详细信息(最内层)行和两个标题(最外层)行。完成后应该如下所示:

标题:标题 1 | 页眉2 | 页眉3 | ...
标题:标题11| 页眉12| 页眉13| ...
标题:标题21| 页眉22| 页眉23| ...
组头:组名
详细信息:字段 1 | 字段2 | 字段3 | ...
详细信息:Field11 | 字段12 | 字段13 | ...
详情:Field21 | 字段22 | 字段23 | ...

于 2012-10-11T14:44:28.133 回答
0

我知道的老问题,但以防万一其他人在看,这个线程对我来说效果很好:https ://social.msdn.microsoft.com/Forums/sqlserver/en-US/32f28407-e1ca-457e-92fd-d292e32dde4e /limit-no-of-columns-in-ssrs-matrix-report

我在下面复制了一些,以防链接失效:

第一步:将以下代码复制到自定义代码区

Dim FlagTable As System.Collections.Hashtable

Dim Flag AS Integer

 Function MyFunc(ByVal NewValue As Object) As Integer

If (FlagTable Is Nothing) Then

FlagTable = New System.Collections.Hashtable

End If

If (NewValue Is Nothing) Then

NewValue = "-"

End If

If (Not FlagTable .Contains(NewValue )) Then

Flag =Flag + 1

FlagTable.Add(NewValue, nothing)

End If

MyFunc = Flag

End Function

第二步:将列表添加到您的报告中

  1. 右键单击列表,然后选择属性。

  2. 单击编辑详细信息组...按钮

  3. 输入表达式=Ceiling(Code.MyFunc(Fields!Productname.Value)/2)

笔记:

1)Fields!Productname.Value是您的列组数据字段

2)2是要在一行中显示的列数

于 2019-12-20T15:17:51.140 回答