SSRS报告生成器参数

时间:2016-02-23 09:22:52

标签: sql-server visual-studio reporting-services ssrs-2008-r2

我在Visual Studio 2015中使用报表生成器时遇到以下问题: 当我尝试将日期参数(BETWEEN语句)添加到以下代码中时,VS会自动将它们更改为问号,例如。 @Datefrom - > '?'

SELECT DISTINCT au.FIRST_NAME AS 'Serwisant',
(SELECT COUNT(CHARGEID) AS Expr1
 FROM ChargesTable AS ct
 WHERE (TECHNICIANID = hdc.TECHNICIANID) 
 AND (DATEADD(s, DATEDIFF(s, GETUTCDATE(), GETDATE()) + TS_STARTTIME / 1000, '1970-01-01 00:00:00') BETWEEN DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)  AND DATEADD(s, - 1, DATEADD(mm, DATEDIFF(m, 0, GETDATE()) + 1, 0)) ) 
 AND (CHARGEID IN (SELECT CHARGEID
                   FROM WorkOrderToCharge) 
 OR CHARGEID IN (SELECT CHARGEID
                 FROM TaskToCharge 
                 WHERE (TASKID IN
                       (SELECT TASKID
                        FROM WorkOrderToTaskDetails))))) AS 'Ilosc wpisow'
FROM HelpDeskCrew AS hdc INNER JOIN
 AaaUser AS au ON au.USER_ID = hdc.TECHNICIANID

我的代码有3个或4个simillar块,带有'between'语句,当我将它们更改为参数时,VS会将所有这些更改为'?'并在报表设计器中给出了10个werid参数。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您似乎想要执行报告,用户可以在其中输入StartDate和EndDate参数。

假设您有一个数据源,为了实现这一目标,您需要根据您的查询创建数据集,如下所示:

SELECT BirthDate 
FROM DimCustomer 
WHERE BirthDate > @StartDate AND BirthDate < @EndDate

这将自动创建两个参数@StartDate和@EndDate。您可能希望将此参数更改为仅接受日期时间值。