0

我正在使用来自 SSAS 的数据处理 SSRS 以创建报告。

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

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

该过程类似于检查“全选”选项以检查所有可用值。

任何建议都将受到欢迎。

谢谢你的帮助。

4

1 回答 1

0

我会以两种方式之一将第二个参数绑定到第一个参数。对于两者,我都会设置“数据集”以用于绑定到参数。

  1. 您可以在数据集上设置“过滤器”以仅返回标准。

  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

然后是“订单”数据集:

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)
于 2013-04-05T17:39:46.353 回答