级联参数选择多个桩选项

时间:2016-10-08 12:41:49

标签: sql reporting-services

我在试图这样做的时候看了很多来源,但我发现它很混乱。

我在SSRS中有一个3参数报告 - 它们是级联的。

@County @LocalAuthority @Ward

在选择单个县或地方当局时工作正常,当我想选择一个或多个县时会出现问题....地方管理局参数只显示一个空白下拉列表。

我正在使用存储过程。这是我的主要数据集

@County varchar (max),
@LocalAuthority varchar (max),
@Ward varchar (max)

 SELECT

     [DateTimeOfCall] 
     ,HourOfDay 
    ,[ConcatAddress] 
    ,[LocalAuthority]
    ,[Ward] 
    ,[County] 
    ,[PropertyType]

FROM table1

WHERE   [County] in (@County) AND [LocalAuthority]in (@LocalAuthority) and 

  CHARINDEX(','+ward+',', ','+@ward+',') > 0

地方当局的第二个数据集

     @County varchar (max)       

     SELECT DISTINCT

    LocalAuthority,
    county              

    FROM table1

  WHERE [County] in (@County)

和Ward的最终数据集

     @LocalAuthority (max)

    SELECT DISTINCT


    Ward,
    LocalAuthority 


          FROM table1

   WHERE [LocalAuthority] in (@LocalAuthority)

所有帮助表示感谢,谢谢

1 个答案:

答案 0 :(得分:1)

当您在数据集中编写SQL代码时编写的SQL代码的工作方式,然后参数值只替换您编写的占位符。当您使用SP并且您具有多个值的参数时,您应该自己将值连接到一个字符串中,然后在SQL代码中解析(拆分)。 打开数据集属性,转到参数选项卡并编辑参数值,而不是传递@Country,你应该使它成为表达式=Join(Parameters!Country.Value, ",") 然后在SP的代码中,用逗号分割输入字符串,有很多站点可以找到如何执行此操作,例如: there。 当然,您需要为所有多值参数执行此操作。