Report Builder 中的双向参数问题
Bi-directional Parameter issue in Report Builder
我手头有两项任务要在一份报告中完成。
应用程序 URL 过滤 - 将在 URL 中传递一个 ListID 以过滤报告。我通过将 @id 作为我的数据集的参数来实现这一点。在这种情况下,我只有一个参数。
报告服务器过滤 - 对于无权访问 application/db 的用户,他们可以转到报告服务器并从 Select 'ListName'填充列表 ID 参数的下拉参数(@ListName)。
我通过级联参数和两个数据集实现了这种情况,一个用于独立下拉参数(ListName),另一个用于依赖参数(ListID)。
但是由于我无法从应用程序中根据 ListName 过滤报告,我需要一种方法在同一报告中同时实现这两种情况。当我尝试使用来自应用程序 URL 的“?id=123”过滤报告时,它不会过滤报告。
您不需要两个参数,您只需要过滤 ListID,因此这是您唯一需要的参数。您只使用 ListName 来查找 ListID。
假设您的列表参数值数据集如下所示:
SELECT ListID, ListName FROM Lists
Link此数据集到您的 ListID 参数的可用值。
参数对象有一个 Value
属性 用于 运行 查询和 Label
属性 用于显示列表名称用户。将 ListID 映射到值,将 ListName 映射到标签。
现在应用程序可以简单地向报表提供列表 ID。但是,当用户 运行 提交报告时,他们将看到列表名称。当他们 select 一个时,相应的 ListID 将作为报告参数值提供。
我手头有两项任务要在一份报告中完成。
应用程序 URL 过滤 - 将在 URL 中传递一个 ListID 以过滤报告。我通过将 @id 作为我的数据集的参数来实现这一点。在这种情况下,我只有一个参数。
报告服务器过滤 - 对于无权访问 application/db 的用户,他们可以转到报告服务器并从 Select 'ListName'填充列表 ID 参数的下拉参数(@ListName)。 我通过级联参数和两个数据集实现了这种情况,一个用于独立下拉参数(ListName),另一个用于依赖参数(ListID)。
但是由于我无法从应用程序中根据 ListName 过滤报告,我需要一种方法在同一报告中同时实现这两种情况。当我尝试使用来自应用程序 URL 的“?id=123”过滤报告时,它不会过滤报告。
您不需要两个参数,您只需要过滤 ListID,因此这是您唯一需要的参数。您只使用 ListName 来查找 ListID。
假设您的列表参数值数据集如下所示:
SELECT ListID, ListName FROM Lists
Link此数据集到您的 ListID 参数的可用值。
参数对象有一个 Value
属性 用于 运行 查询和 Label
属性 用于显示列表名称用户。将 ListID 映射到值,将 ListName 映射到标签。
现在应用程序可以简单地向报表提供列表 ID。但是,当用户 运行 提交报告时,他们将看到列表名称。当他们 select 一个时,相应的 ListID 将作为报告参数值提供。