【发布时间】:2013-11-26 15:21:02
【问题描述】:
我为 ssrs 报告数据集编写了此查询。该报告适用于单个参数值,当为参数选择多个值时会填充错误。
@iteration 是一个多值报告参数。
create table #hftable
( id int ,startdate datetime, environment nvarchar(50), iteration nvarchar(50))
insert #hgtable( id , startdate,environment , iteration)
select distinct wit.id, max(wit.startdate),environment , i.iteration
from Workers wit
join iteration i
on wit.sckid=i.sckid
and i.iterationlabel in (@iteration)
where system_rev =(SELECT MAX(system_rev) AS system_rev
FROM workers
WHERE system_id = wit.system_id)
group by wit.id, i.iteration,environment
order by i.iteration
select count(*) ,environment from #hftable
group by iteration,environment
order by iteration
【问题讨论】:
-
你能发布错误吗?还有什么数据类型是你的参数?和
iterationlabel? -
@Lamak : 迭代标签是 nvarchar(4000) 数据类型。没有声明参数。错误“当子查询不使用 EXISTS 引入时,选择列表中只能指定一个表达式”
-
那你需要进入“参数”定义,勾选“多值”选项
-
他确实说过“@iteration 是一个多值报告参数。”然而?是否允许 NULL 值?可用值从何而来?从映射到
iteration.iterationlabel的数据集? -
@LAMAK 我确实检查了多值选项。
标签: sql sql-server-2008 tsql reporting-services ssrs-2008