SQL Server Reporting Services 2008
我有30个字段的行。而不是一行有30个字段,我想安排它们,所以我有三行,每行10个字段。我使用向导创建了此报告,报告类型是表(不是矩阵)。我该怎么做?
这是所需的输出:
Header1 Header2 Header3
Data1 Data2 Data3
Header4 Header5 Header6
Data4 Data5 Data6
Header7 Header8 Header9
Data7 Data8 Data9
答案 0 :(得分:1)
使用三个详细信息行(如果使用标题,则使用三个标题行)。这意味着添加另外两个细节(最里面的)行和另外两个标题(最外面的)行。完成后,它应该如下所示:
HEADER: Header1 | Header2 | Header3 | ... HEADER: Header11| Header12| Header13| ... HEADER: Header21| Header22| Header23| ... GROUP HEADER: Group Name DETAILS: Field1 | Field2 | Field3 | ... DETAILS: Field11 | Field12 | Field13 | ... DETAILS: Field21 | Field22 | Field23 | ...
答案 1 :(得分: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
第二步:将列表添加到报告中
右键单击列表,然后选择“属性”。
单击“编辑详细信息组”按钮
键入表达式=Ceiling(Code.MyFunc(Fields!Productname.Value)/2)
注意:
1)Fields!Productname.Value
是您的列组数据字段
2)2
是要在一行中显示的列数