SSRS:表达式按日期过滤

问题描述:

我有一个数据集,其中包含给定期间的电话数据,我需要根据一天中的小时过滤此数据,以便我可以在显示高峰期的图表中使用此数据。SSRS:表达式按日期过滤

到目前为止,我有这样的表达:

=Count(IIF(DatePart("h", Fields!CallStart.Value = 7), Fields!ID.Value, 0)) 

所以,我曾希望这种表达会做的是复制这个SQL查询:

select * from PhoneData 
where MONTH(callstart) = 7 and YEAR(callstart) = 2012 and DATEPART(HH, callstart) = 7 
and Direction ='i' and Part1Device not like 'v%' and Continuation = '0' 

月份和年份的设定数据集查询。

只要说,表达式不起作用,我不明白为什么..任何帮助将不胜感激。

看起来你的DatePart函数的右括号是在错误的地方。尝试这个。

=Sum(IIF(DatePart("h", Fields!CallStart.Value) = 7, 1, 0)) 
+0

我以前曾尝试过这种方式,但它不起作用。我应该只返回13行,但是我超过6000. – 2012-07-30 08:33:26

+0

@DeanMcGarrigle您是否将它与您试图复制的整个SQL查询进行比较?您只能将它与来自PhoneData的** select *进行比较,其中MONTH(callstart)= 7 **。在报告服务表达式中,您仍然有更多条件撰写。 – JKF 2012-07-30 20:02:03

+0

不是整个查询。上面的查询是我用于数据集的,使用年份和月份的参数,因此数据已经过滤。它只是我需要的时间,因此表达。 – 2012-07-31 07:30:32