我有一份报告要完成两项任务。
应用程序URL过滤-URL中将传递一个ListID以过滤报告。我通过使用@id作为数据集的参数来实现这一点。在这种情况下,我只有一个参数。
Reporting Server筛选-对于无权访问application / db的用户,他们可以转到Reporting Server并从一个填充List ID参数的下拉参数(@ListName)中选择一个“ ListName”。我通过级联参数并具有两个数据集(一个用于独立的下拉参数(ListName),另一个用于相关参数(ListID))实现了此方案。
但是由于我无法根据应用程序中的ListName筛选报告,因此我需要一种在同一个报告中实现两者的方法。当我尝试从应用程序URL使用'?id = 123'过滤报告时,它不会过滤报告。
您不需要两个参数,只需要对ListID进行过滤,因此这是您唯一需要的参数。您仅使用ListName查找ListID。
假设您的list参数值的数据集看起来像这样:
SELECT ListID, ListName FROM Lists
将此数据集链接到ListID参数的可用值。
参数对象具有用于运行查询的Value
属性和向用户显示列表名称的Label
属性。将ListID映射到Value,将ListName映射到Label。
现在,应用程序可以简单地为报告提供列表ID。但是,当用户运行报告时,他们将看到列表名称。当他们选择一个时,将提供相应的ListID作为报告参数Value。