如何在选择报表服务参数值时自动选择另一个参数值



我正在使用SSAS的数据创建报告。

在多值参数中,我想在选择另一个参数时自动选择参数的值。

例如:In Month参数;在值列表中选择第六个月将选择从1号到6号的所有值。或者检查参数的值也会检查前一个值。

程序将类似于检查"Select All"选项,该选项检查所有可用的值。

欢迎提出任何建议。

谢谢你的帮助。

我将以两种方式之一将第二个参数绑定到第一个参数。对于这两种情况,我都会设置"数据集"来绑定参数。

  1. 你可以在数据集上设置一个'Filter'来只返回一个标准。

  2. 第二个数据集中可以有一个谓词,该谓词引用第一个参数设置的参数

EG:所以如果我有一个"人"数据集:(这两个都应该在SSRS 2008或2012中工作)

declare @Person Table ( personID int identity, person varchar(8));
insert into @Person values ('Brett'),('Sean'),('Chad'),('Michael'),('Ray'),('Erik'),('Queyn');
Select top 100 *
from @Person p

然后是'orders'数据集:

declare @Orders table ( OrderID int identity, PersonID int, Desciption varchar(32), Amount int);
insert into @Orders values (1, 'Shirt', 20),(1, 'Shoes', 50),(2, 'Shirt', 22),(2, 'Shoes', 52),(3, 'Shirt', 20),(3, 'Shoes', 50),(3, 'Hat', 20),(4, 'Shirt', 20),(5, 'Shirt', 20),(5, 'Pants', 30),
(6, 'Shirt', 20),(6, 'RunningShoes', 70),(7, 'Shirt', 22),(7, 'Shoes', 40),(7, 'Coat', 80)
select *
from @Orders

如果我设置一个Person变量,使用'从查询中获取数据',我设置'PersonID'为值,'Person '为标签。然后,我可以设置第二个参数,通过添加过滤器或where子句(如

)从第一个参数获取其值:
select *
from @Orders 
where PersonID in (@Person)

最新更新