reporting-services - SSRS 打开带有提供参数的子报告
问题描述
我有一个包含 5 个参数的报告,我想从此报告中打开另一个包含 13 个参数的报告。当我尝试打开此报告时,它说缺少一些参数。我想知道是否有可能,如果我不传递参数,那么它应该在报告和 SQL 查询中忽略这些参数(所有这些都是多值参数)。我不能使用“允许空值”,因为这些是多值参数。
有人能帮助我吗?或者我每次都需要使用精确的参数创建单独的子报表
解决方案
有两种常见的方法可以做到这一点。
使用列表默认值填充参数 在您的子报告中,以@service 为例。如果您可以从数据库中获取服务列表,则创建一个数据集以提供不同服务的列表,将其用作参数的默认值。然后,当您不从主报表传递任何内容时,子报表将使用所有服务。
将默认参数值设置为固定常量
另一种选择是将子报表参数设置为默认值,例如*all
,然后在将其传递给子报表的数据集查询时进行处理。
所以数据集查询可能类似于
SELECT *
FROM myTable
WHERE location in (@location)
AND (service = '*All' OR service IN(@Service)
推荐阅读
- r - 如何获得稳健混合效应模型的 R^2(rlmer 命令;robustlmm)?
- java - 在 graphql-java 下尝试使用分析时出现 NonNullableFieldWasNullError
- asp.net - 如何使 ListBox 具有最大宽度?
- reactjs - 将数据从一个路由器(组件)传递到另一个
- scala - 如何在scala中为给定列汇总多行(行列表)而不转换为数据框
- mysql - 使用 Where 选择 X 作为 Y 查询,拥有 AND ORDER BY Y 会给出 1292 警告,但没有 ORDER BY 就可以
- jquery - 在哪里放置 $(Document).ready(function(){});
- python - 如何在列的所有条目中提取包含部分匹配字符串的行
- html - 设置 HTML5
- android - UI Automator 在捕获被测应用的屏幕之一时显示错误