2009-05-26 25 views
1

我想构建一个完全静态的报告。我试图模仿手写输入的报告,指出我组织中的某个人从Word文档中创建多年。SSRS - 生成尺寸不是动态的报告

关键部分似乎是固定填充页面的各种表格网格中生成的行数。我希望它们总是包含一定数量的行,无论数据是否存在。看起来,如果我只能修改表格的大小,那么所有其他元素都不会因为拉伸中继器部分而被迫移动。

我所有的网格都有存储过程支持,所以我也开放给SQL技巧。

回答

1

对不起,我错过了阅读的问题。

如果您知道需要返回多少行(例如20),也许可以将一些虚假信息填充到从存储过程返回的记录中。您可以在发回之前计算您的查询返回的记录,并且如果您的记录集中添加了一些虚假记录,则可以在其中添加“NonDisp”或其他内容。

然后在报告中把一个IIF语句进入,一旦发现变化不显示任何细胞,用于检查该虚假信息,细胞,否则显示有效值

+0

这不是我试图控制的列,而是行数。为了模仿传统报告,每个表格必须是一定数量的行,并且始终是该行数。 – 2009-05-27 12:56:38

1

不是一个直接的答案,但也许您可能会考虑的解决方法:也许您可以在具有动态大小的表格网格之后插入分页符,以便所有跟随它的元素具有固定的位置(相对于页面的顶部)。

+0

不错的提示,但打印时,报告是否会分成多个页面? – 2009-05-27 12:55:32

+0

@John Cocktoastan - 是的,它不会直接解决您的问题,但至少您可以更好地控制动态大小表格后面元素的位置。 顺便说一下,您使用什么编辑器设计报表,商业智能开发工作室? – Daan 2009-05-27 13:47:18

+0

是的,我正在BIDS 2005上。现在我只是以这样的方式编写SQL,以至于我的procs始终生成所需的行数。 – 2009-05-28 15:03:39

0

使用= Ceiling((RowNumber(Nothing))/ 10000)表达式将一个父组添加到tablix。 (10000或任何需要的行数)

在组的分页属性中,复选框用于组之间的插入中断,不选中底部框。

或者,我们可能会选择为由于新父组添加的文本框设置隐藏属性true。

在tablix属性中,选中“保留在一个页面上”复选框。