在报表头中显示第一行数据

时间:2014-04-14 13:25:09

标签: sql-server reporting-services

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

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

有没有办法在SSRS 2005中执行此操作?

预期结果

enter image description here

2 个答案:

答案 0 :(得分:2)

您应该能够在Expression中使用FIRST()函数来仅捕获数据集中的第一行数据。有时您可能需要订购数据,以确保您获得正确的行,但在您的情况下可能没有必要。

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

答案 1 :(得分:0)

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

按照以下步骤

  1. 将一个文本框(ID为txtPlantName)放入报告正文上面表中的报告)

      

    ="员工" &安培;首先(Fields!EmpName.Value," dsInboundContainer")

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

  3. 标题中使用另一个文本框,其中包含以下表达式。

      

    = ReportItems!txtPlantName.Value

  4. 另请参阅Fields in Page Header - SSRS 2008

      

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

    注意:当我们使用“编辑表达式”时,它的DataSet已经存在First

    enter image description here