Reporting services 如何为客户下拉列表中的每个客户打印SSRS报告

Reporting services 如何为客户下拉列表中的每个客户打印SSRS报告,reporting-services,Reporting Services,我们有一个以customerID为参数的SSRS报告,我们希望为Customer下拉列表中的每个客户打印一份报告。然而,名单上有几百个客户,我们无法手动检查每个客户。有没有办法让报告自动通过客户下拉列表,为每个客户生成一份报告,这样我们就可以一次打印出报告?您可以通过几种方法来实现这一点。由于您已经有了一个针对单个客户的报告,因此很容易将其用作子报告 请注意,与大多数选项一样,这将为您提供一个包含所有内容的单一报告,而不会提供实际的单个报告 因此,创建一个新报告。创建一个数据集(比如说dsCus

我们有一个以customerID为参数的SSRS报告,我们希望为Customer下拉列表中的每个客户打印一份报告。然而,名单上有几百个客户,我们无法手动检查每个客户。有没有办法让报告自动通过客户下拉列表,为每个客户生成一份报告,这样我们就可以一次打印出报告?

您可以通过几种方法来实现这一点。由于您已经有了一个针对单个客户的报告,因此很容易将其用作子报告

请注意,与大多数选项一样,这将为您提供一个包含所有内容的单一报告,而不会提供实际的单个报告

因此,创建一个新报告。创建一个数据集(比如说
dsCustomers
),其中包含您需要从中报告的CustomerID列表。此数据集可以是一个简单的查询,例如针对exmaple的
从MyCustomerTable中选择CustomerID

现在向报表中添加一个表,并将其数据集属性设置为
dsCustomers

从表中删除标题行,因为我们不需要它,并删除除一列以外的所有列,因此tablix只是一个文本框。让这个文本框变宽(不管它有多宽,只是为了让东西更容易看)

现在在剩余的文本框中,右键单击并选择“插入=>Subreport”

右键单击子报表占位符并选择“属性”

现在将子报表设置为原始报表

在“参数”部分中,为子报表的参数添加一个参数条目。假设子报表采用名为
CustID
的参数,然后从下拉列表中选择
CustID
。在右侧的参数值中,将其设置为
dsCustomers
数据集字段的名称(在本例中为
CustomerID

就这样

现在,当您运行报表时,tablix将为每个CustomerID生成一行,每一行将包含子报表

您可能也希望在行组上设置分页符,以便每个客户从一个新页面开始