我正在使用SSAS中的数据开发SSRS以创建报告。
在多值参数中,我想在选择另一个时自动选择参数值。
例如:在Month参数中;选择值列表中的第6个月将选择从1到6的所有值。或者检查参数值也将检查先前的值。
该过程类似于检查“全选”选项,检查所有可用值。
任何建议都会受到欢迎。
感谢您的帮助。
答案 0 :(得分:0)
我会以两种方式之一将第二个参数绑定到第一个参数。对于两者,我都会设置'数据集'来用于绑定参数。
您可以在数据集上设置“过滤器”以仅返回条件。
您可以在第二个日期集中使用谓词,该谓词引用第一个参数设置的参数。
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
然后是'订单'数据集:
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)