我在试图这样做的时候看了很多来源,但我发现它很混乱。
我在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)
所有帮助表示感谢,谢谢
答案 0 :(得分:1)
当您在数据集中编写SQL代码时编写的SQL代码的工作方式,然后参数值只替换您编写的占位符。当您使用SP并且您具有多个值的参数时,您应该自己将值连接到一个字符串中,然后在SQL代码中解析(拆分)。
打开数据集属性,转到参数选项卡并编辑参数值,而不是传递@Country,你应该使它成为表达式=Join(Parameters!Country.Value, ",")
然后在SP的代码中,用逗号分割输入字符串,有很多站点可以找到如何执行此操作,例如: there。
当然,您需要为所有多值参数执行此操作。