SSRS 使用提供的参数打开子报告
SSRS Open sub report with provided parameters
我有一个包含 5 个参数的报告,我想从该报告中打开另一个包含 13 个参数的报告。
当我尝试打开此报告时,它说缺少某些参数。
我想知道是否有可能,如果我不传递参数,那么它应该在报告和 SQL 查询中忽略这些参数(所有这些都是多值参数)。
我不能使用“允许空值”,因为它们是多值参数。
This is main report
These are parameters in sub report which i want to call
有人可以帮我吗?或者我需要每次都用精确的参数创建单独的子报告
有两种常用的方法。
使用列表默认值填充参数
在您的子报表中,以@service 为例。如果您可以从数据库中获取服务列表,然后创建一个数据集来提供不同服务的列表,请将其用作参数的默认值。然后当你不从主报表传递任何东西时,子报表将使用所有服务。
将默认参数值设置为固定常数
另一个选项是将子报表参数设置为默认值,例如 *all
,然后在它传递给子报表的数据集查询时处理它。
所以数据集查询可能类似于
SELECT *
FROM myTable
WHERE location in (@location)
AND (service = '*All' OR service IN(@Service)
我有一个包含 5 个参数的报告,我想从该报告中打开另一个包含 13 个参数的报告。 当我尝试打开此报告时,它说缺少某些参数。 我想知道是否有可能,如果我不传递参数,那么它应该在报告和 SQL 查询中忽略这些参数(所有这些都是多值参数)。 我不能使用“允许空值”,因为它们是多值参数。
This is main report
These are parameters in sub report which i want to call
有人可以帮我吗?或者我需要每次都用精确的参数创建单独的子报告
有两种常用的方法。
使用列表默认值填充参数 在您的子报表中,以@service 为例。如果您可以从数据库中获取服务列表,然后创建一个数据集来提供不同服务的列表,请将其用作参数的默认值。然后当你不从主报表传递任何东西时,子报表将使用所有服务。
将默认参数值设置为固定常数
另一个选项是将子报表参数设置为默认值,例如 *all
,然后在它传递给子报表的数据集查询时处理它。
所以数据集查询可能类似于
SELECT *
FROM myTable
WHERE location in (@location)
AND (service = '*All' OR service IN(@Service)