开箱即用的 SSRS 报告不能在页眉中公开数据。有没有办法让这些数据显示出来?

有帮助吗?

解决方案

我在报告中想要的一件事是为我的报告提供漂亮的标题。我喜欢显示徽标和用户的报告参数以及其他数据,以便为报告需要澄清的业务需求提供更多信息。Microsoft SQL Server 2005 Reporting Services 本身无法执行的操作之一是在标头中显示数据集中的数据。这篇文章将解释如何解决这个问题以及它是多么容易。

在“商业智能项目”部分中创建报表服务器项目并将其命名为 AdventureWorksLTReports。我使用 CodePlex 中的 AdventureWorksLT 示例数据库。

替代文本 http://www.cloudsocket.com/images/image-thumb.png

接下来,通过使用设计器右键单击报表区域来显示页眉。

替代文本 http://www.cloudsocket.com/images/image-thumb1.png

将出现页眉。如果您想显示页脚,可以从与页眉相同的菜单中访问。

替代文本 http://www.cloudsocket.com/images/image-thumb2.png

我创建了一个存储过程,该过程返回要在页眉中显示的销售订单的数据。我将在页眉中显示有关销售订单的以下信息:

  • 订购日期
  • 销售订单号
  • 公司
  • 销售人员
  • 应付总额

我为页眉中的每个数据字段创建一个文本框,并为相应的标签创建一个文本框。不要更改您希望在其中包含销售订单数据的文本框中的表达式。

替代文本 http://www.cloudsocket.com/images/image-thumb3.png

在报告正文中,为页眉中所需的每个数据字段放置一个文本框。在每个文本框的可见性中,为隐藏选择 True。这将是页眉中所需数据的占位符。

替代文本 http://www.cloudsocket.com/images/image-thumb4.png

您的报告应类似于下面显示的屏幕截图。

替代文本 http://www.cloudsocket.com/images/image-thumb5.png

最后一步也是最重要的一步是引用位于页眉的文本框中的隐藏文本框。我们使用以下表达式来引用所需的文本框:

=ReportItems!.Value

您的报告现在应类似于以下内容:

替代文本 http://www.cloudsocket.com/images/image-thumb6.png

您的报表预览现在应该在报表标题中包含销售订单标题数据。

替代文本 http://www.cloudsocket.com/images/image-thumb7.png

其他提示

您必须通过参数来完成此操作。为您想要显示的每条数据添加一个参数,然后将该参数设置为“隐藏”。然后将默认值设置为“来自查询”,并将数据集和值字段设置为适当的值。

我认为最好的选择是创建一个内部参数,默认值是要显示的数据集的字段。

这里有两种可能 解决方法:

  1. 您可以将数据绑定字段作为隐藏文本框放置在报表正文中,然后在标题中放置另一个文本框,其值指向正文中隐藏的文本框。

  2. 尝试使用报表参数来存储数据,并使用这些参数来访问标题中的数据。

如果您的报告跨越多个页面,请改用查询参数,并将文本框值设置为 =Parameters!Name.Value,则此技术将不起作用 本文.

我和 Orion Adrian 在一起。报告参数是要走的路。

我想在标题中显示所有返回行所共有的字段,对于这种情况,我选择了链接表解决方案(将包含该字段的表放置在正文中,并将标题中的文本框链接到该表)。

我这样做是因为如果您使用参数解决方案并且没有数据返回到相关字段,则会显示文本“参数缺少值”,而不仅仅是一个空白表。我认为这段文字会让用户感到困惑(因为参数甚至不可见)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top