【问题标题】:Displaying first row data in Report Header在报表标题中显示第一行数据
【发布时间】:2014-04-14 13:25:09
【问题描述】:

我有一个接受 EmpID 作为参数并列出员工所有部门的报告。该报告一次针对一名员工运行。但是它会在报告结果中列出 EmpID 和 EmpName。

现在,我需要在report header 中显示emp 名称。我知道我可以使用第二个查询来获取 emp 名称。但是,我正在寻找任何替代方法,我们可以使用它来列出 emp 名称而无需运行不同的查询(因为我们已经在查询结果中有数据)。

SSRS 2005 有没有办法做到这一点?

预期结果

【问题讨论】:

    标签: sql-server reporting-services


    【解决方案1】:

    您应该能够在表达式中使用 FIRST() 函数来仅从数据集中获取第一行数据。有时您可能需要对数据进行排序,以确保获得正确的行,但在您的情况下可能没有必要。

    请注意,FIRST() 的范围仅限于您的分组级别。

    【讨论】:

      【解决方案2】:

      注意:使用以下方法,导出到excel时不起作用。 EmpName 没有出现在标题中

      按照以下步骤操作

      1. 报告正文(报告的上方表格)中放置一个文本框(ID 为 txtPlantName)

        = "Employee" & First(Fields!EmpName.Value, "dsInboundContainer")

      2. 参考How to display dataset Field value in Page Header of SSRS report

      3. 标题中使用另一个文本框,并带有以下表达式。

        =ReportItems!txtPlantName.Value

      另请参阅Fields in Page Header - SSRS 2008

      Reporting Services 2008 中尚未广泛宣传的小新功能之一是能够从页眉和页脚中的表达式直接引用数据集字段和数据集聚合。您可以通过简单地将数据集字段直接拖到报表的页眉/页脚区域或手动编写表达式来完成此操作。

      注意:当我们使用编辑表达式时,它有一个DataSet,而First 已经存在。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多