SSRS仅在每个新页面的第一行中显示文本框值

时间:2018-10-18 11:03:46

标签: sql reporting-services ssrs-2008 ssrs-2012

我有一个SSRS报告,已按区域将“父组”分组,然后按“代码”将子组分组,并删除了两个组的“仅列”。 另外,我将“区域父组”设置为在组的每个实例之间具有分页符。

我希望代码在每一行中都可用。仅在每页的第一行显示区域名称。

第1页:

╔═════════════╤════════╤════════╗
║ Area & Code │ Street │ Orders ║
╠═════════════╪════════╪════════╣
║ 12 - US     │ AZ     │ 2      ║
╟─────────────┼────────┼────────╢
║ 13          │ AQ     │ 1      ║
╟─────────────┼────────┼────────╢
║ 14          │ AW     │ 5      ║
╟─────────────┼────────┼────────╢
║ 17          │ AE     │ 6      ║
╚═════════════╧════════╧════════╝

第2页:

╔═════════════╤════════╤════════╗
║ Area & Code │ Street │ Orders ║
╠═════════════╪════════╪════════╣  // As you can see here US is missing.                                          
║ 18          │ AG     │ 10     ║  // I want US to appear here like 18 - US
╟─────────────┼────────┼────────╢
║ 19          │ BQ     │ 13     ║
╟─────────────┼────────┼────────╢
║ 21          │ CW     │ 53     ║
╟─────────────┼────────┼────────╢
║ 22          │ DE     │ 72     ║
╚═════════════╧════════╧════════╝

第3页:

╔═════════════╤════════╤════════╗
║ Area & Code │ Street │ Orders ║
╠═════════════╪════════╪════════╣
║ 18 - AU     │ AG     │ 10     ║
╟─────────────┼────────┼────────╢
║ 19          │ BQ     │ 13     ║
╟─────────────┼────────┼────────╢
║ 21          │ CW     │ 53     ║
╟─────────────┼────────┼────────╢
║ 22          │ DE     │ 72     ║
╚═════════════╧════════╧════════╝

第2页中的预期结果:美国应该在第一行中附带代码。

╔═════════════╤════════╤════════╗
║ Area & Code │ Street │ Orders ║
╠═════════════╪════════╪════════╣
║ 23 - US     │ AG     │ 10     ║
╟─────────────┼────────┼────────╢
║ 24          │ BQ     │ 13     ║
╟─────────────┼────────┼────────╢
║ 25          │ CW     │ 53     ║
╟─────────────┼────────┼────────╢
║ 26          │ DE     │ 72     ║
╚═════════════╧════════╧════════╝

下面的表达式位于Area&Code文本框中,但仅在页面开头显示新区域。

=Fields!AreaCode.Value + IIF(Previous(Fields!AreaName.Value)=Fields!AreaName.Value,"",

 IIF(Fields!AreaName.Value="","", "- "+ Fields!AreaName.Value))

我该如何解决,有没有办法确定当前页面是否在表达式下面写?

=Fields!AreaCode.Value + if current page is new page then show the Area Name in first row 
of page else hide it ?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

早上好

一个解决方案可能是在数据集中创建一个新列以使用主“ mainGroup”。表达式应类似于=Ceiling(RowNumber(Nothing)/4)(如果您希望每页4行,则为4)

然后,在单元格中,使用类似以下表达式:

=IIF(RowNumber("mainGroup")=1, Fields!AreaCode.Value + "- "+ Fields!AreaName.Value, Fields!AreaName.Value)

要完成此操作,请使用“ mainGroup”分页中断您的SSRS。

我没有尝试,但是应该可以。