我手头有两个任务要在一份报告中完成。
应用程序 URL 筛选- 将在 URL 中传递一个 ListID 以筛选报表。我通过将@id作为数据集的参数来实现这一点。在这种情况下,我只有一个参数。
报表服务器筛选 - 对于无权访问应用程序/数据库的用户,他们可以转到报表服务器,并从填充列表 ID 参数的下拉参数 (@ListName( 中选择"ListName"。 我通过级联参数并拥有两个数据集来实现此方案,一个用于独立的下拉参数(ListName(,另一个用于依赖参数(ListID(。
但是,由于我无法根据应用程序中的 ListName 筛选报表,因此我需要一种方法在同一报表中同时实现这两个目标。当我尝试使用应用程序 URL 中的"?id=123"过滤报告时,它不会过滤报告。
你不需要两个参数,你只需要过滤ListID,所以这是你唯一需要的参数。您只使用列表名称来查找列表 ID。
假设列表参数值的数据集如下所示:
SELECT ListID, ListName FROM Lists
将此数据集链接到 ListID 参数的可用值。
参数对象具有用于运行查询的Value
属性和向用户显示列表名称的Label
属性。将列表 ID 映射到值,将列表名称映射到标签。
现在,应用程序只需向报表提供列表 ID。但是,当用户运行报表时,他们将看到列表名称。当他们选择一个时,相应的 ListID 将作为报表参数 Value 提供。