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

时间:2017-11-21 13:10:32

标签: reporting-services ssrs-2008 ssrs-2012

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

它适用于单身学生。但是,当我的数据源返回多个学生详细信息时,它不会创建包含多个证书的报告。

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

3 个答案:

答案 0 :(得分:1)

如果要在同一报表中为数据集的每一行生成证书,可以使用tablix执行此操作:

  • 向您的报告添加Tablix,其中列出了您的数据集数据
  • Rectangle拖到其中一个Details行单元格
  • 将您拖动Rectangle的单元格设置为足以容纳所有
  • 的单元格
  • 证书报告项目
  • 选择所有证书项并将其移至Rectangle
  • 更新对数据集的任何引用,使其不包含“范围”
    • ie:将=sum(Fields!ColName.Value, "Your Dataset")更改为=sum(Fields!ColName.Value)
  • 运行报告

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我有一个子报告调用StudentSub.rdl。这与DataSet(存储过程)Sp_GetStudentName(@ClassNo int)相关联。这样工作正常,它总是只提供一个证书。

由于我想生成类明智的certifiacte,在这种情况下,我想在一个PDF文件中明智地获得多个报告。遵循以下步骤:

  1. 创建名为StudentReports.rdl的新RDL文件
  2. 链接到相同的数据集存储过程Sp_GetStudentName。
  3. 将表格从工具栏拖到设计主体。
  4. 为表标题设置可见性False,除了一个td。
  5. 之外设置一些列
  6. 右键单击该框(td)并插入子报告
  7. 右键单击子报表属性选择了StudentSub子报表。
  8. 在子报表属性中添加参数ClassNo,然后单击“确定”。
  9. 现在当我通过传递课程编号预览这个StudentReports时。我得到了正确的页数。 希望这会有助于他人。 谢谢!