SSRS - TEXT数据类型参数的多个值

时间:2014-01-03 21:45:29

标签: reporting-services ssrs-2008

我是SSRS报告的新手,并根据TEXT查询创建了报告:

select * from customers
where residence_state = :state -- oracle, or @state for SQL Server

这生成了参数,我可以在“报告参数属性 - 可用值”窗口中给出一个值,例如“CA”。这很好,但是,假设我希望:state(或@state)参数包含'CA'+'AZ'+'WA'。最简单的方法是什么?

2 个答案:

答案 0 :(得分:3)

对于MSSQL,将查询更改为

select * from customers
where residence_state in (@state)

这将使参数多值化。另外,请检查SSRS中的参数属性。确保

  

允许多个值

已经过检查。

答案 1 :(得分:1)

对于多选参数,SSRS传递逗号分隔的值列表。下面的代码来自一个报告,其中参数@program是逗号分隔的uniqueidentifiers集。

- 我创建了一个表变量

    declare @programs table
    (
        program_id uniqueidentifier
    )

    declare @myid uniqueidentifier

- 然后我解析参数值(声明为@program varchar(max) - 如您所见,我知道每个参数的长度。 - 如果您确实使用charindex来查找下一个值的位置         而len(@program)> 0         开始

        set @myid = convert(uniqueidentifier, left(@program, 36))
        set @program = substring(@program, 38, len(@program))
        --print @program

        insert @programs values(@myid)
    End

我希望这会有所帮助。