使用 SSRS 为多个用户生成单个报告

Generate single report for multiple user using SSRS

我需要使用 SSRS 创建学生证书。我创建了新的 .rdl 文件并与数据源进行了设计和关联。

正如预期的那样,它适用于单身学生。但它不会创建包含多个证书的报告,而我的数据源 returns 多个学生详细信息。

我是 SSRS 的新手,请帮我实现这个目标。

如果您想为同一报告中数据集的每一行生成一个证书,您可以使用 tablix:

  • 向您的报告中添加一个 Tablix,其中列出了您的数据集数据
  • Rectangle 拖入 Details 行单元格之一
  • 使您拖动 Rectangle 的单元格足够大以容纳您所有的
  • 证书报告项目
  • Select 您所有的证书项并将它们移动到 Rectangle
  • 更新对数据集的任何引用以不包含 'scope'
    • 即:将=sum(Fields!ColName.Value, "Your Dataset")更改为=sum(Fields!ColName.Value)
  • 运行 报告

您现在应该为数据集中的每一行都有一个证书。

如果您想导出多个单独的证书,您将需要在您的报告中设置一个 data driven subscription,为返回的数据集的每一行运行一次。显然,您将需要调整您的报告,以便能够接收要为其生成证书的学生作为参数。

另一种方法是.. 如果您的数据集为每个学生返回一行,那么您需要在 tablix 上做的就是添加一个 parent 行组.. StudentID 上的组.. 或者每个记录都有一些独特的东西.. 转到组属性并在组末尾添加分页符。这应该为每个学生生成一个证书页.. 您可能需要调整组标题和页脚以及出现的类似内容。您会弄明白的……或者……观看有关如何进行基本 ssrs 报告的 youtube 视频。

我有一个子报表调用 StudentSub.rdl。这与 DataSet(存储过程)Sp_GetStudentName(@ClassNo int) 链接。这很好用,它总是只提供一个证书。

因为我想生成 class 明智的证书,在这种情况下,我想在一个 PDF 文件中获得多个报告页面。遵循以下步骤:

  1. 创建了名为 StudentReports.rdl
  2. 的新 RDL 文件
  3. 链接到相同的数据集存储过程Sp_GetStudentName。
  4. 从工具箱拖一个table到设计body。
  5. 为 table Header 和除一个 td 之外的某些列设置可见性 False。
  6. 右键单击该框 (td) 并插入子报告
  7. 右键单击子报表属性选择StudentSub子报表。
  8. 在子报表属性中添加参数 ClassNo 然后单击确定。

现在,当我通过传递 class 否来预览此 StudentReports 时。我得到正确的页数。 希望这会帮助其他人。 谢谢!