使用 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 文件中获得多个报告页面。遵循以下步骤:
- 创建了名为 StudentReports.rdl
的新 RDL 文件
- 链接到相同的数据集存储过程Sp_GetStudentName。
- 从工具箱拖一个table到设计body。
- 为 table Header 和除一个 td 之外的某些列设置可见性 False。
- 右键单击该框 (td) 并插入子报告
- 右键单击子报表属性选择StudentSub子报表。
- 在子报表属性中添加参数 ClassNo 然后单击确定。
现在,当我通过传递 class 否来预览此 StudentReports 时。我得到正确的页数。
希望这会帮助其他人。
谢谢!
我需要使用 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 文件中获得多个报告页面。遵循以下步骤:
- 创建了名为 StudentReports.rdl 的新 RDL 文件
- 链接到相同的数据集存储过程Sp_GetStudentName。
- 从工具箱拖一个table到设计body。
- 为 table Header 和除一个 td 之外的某些列设置可见性 False。
- 右键单击该框 (td) 并插入子报告
- 右键单击子报表属性选择StudentSub子报表。
- 在子报表属性中添加参数 ClassNo 然后单击确定。
现在,当我通过传递 class 否来预览此 StudentReports 时。我得到正确的页数。 希望这会帮助其他人。 谢谢!