我有多个不同的地址,这些地址由我在tablix中格式化的多个字段组成,然后我需要将其打印出来以便剪切并附在信封上。
我正在使用report builder 3.0,并使用预先构建的模型作为我没有原始SQL访问权限的数据源来提取数据。
我遇到的问题是,不是只有一个列直接在另一个下面有一个地址,因此每个A4页面只有8个地址,我希望每页有3列地址。有一种简单的方法可以解决这个问题吗?
答案 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