SSRS每页多行

时间:2017-01-12 16:42:24

标签: reporting-services ssrs-2012

我有多个不同的地址,这些地址由我在tablix中格式化的多个字段组成,然后我需要将其打印出来以便剪切并附在信封上。

我正在使用report builder 3.0,并使用预先构建的模型作为我没有原始SQL访问权限的数据源来提取数据。

我遇到的问题是,不是只有一个列直接在另一个下面有一个地址,因此每个A4页面只有8个地址,我希望每页有3列地址。有一种简单的方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

在您的数据集中 - 假设它是基于SQL的 - 添加一个列,该列计算它应该进入哪个列,然后根据此字段将列组添加到Tablix:

select (row_number() over (partition by AddIDCol order by SortCol)-1) % 3 as ColumnNumber
      ,AddressLine1     -- To get a 0 based list, add the -1 here ^^
      ,AddressLine2
      ,etc
from AddressesTable

这是因为模运算符%,它在执行给定除法后返回余数。因此,基于零的行号% 3结果表将如下所示:

RowNum | Mod3
0      | 0        0/3 = 0 remainder 0
1      | 1        1/3 = 0 remainder 1
2      | 2        2/3 = 0 remainder 2
3      | 0        3/3 = 1 remainder 0
4      | 1        4/3 = 1 remainder 1
5      | 2        5/3 = 1 remainder 2
6      | 0        6/3 = 2 remainder 0
7      | 1        7/3 = 0 remainder 1
8      | 2        8/3 = 0 remainder 2
etc