在报告中动态查询?

时间:2014-02-19 15:37:15

标签: reporting-services reportserver

我正在尝试制作一些报告。 我有这个问题:

SELECT  Agente.UserUri as Agente, COUNT(Agente.UserUri) as NumeroRisposte

FROM    Users as User1, Users as User2, Users as StartedByUser, Users as Agente,
        Phones as FromPhone, Phones as ConnectedPhone,
        SessionDetails as IVRSession, SessionDetails as AgenteSession,
        VoipDetails,
        ClientVersions as Client1Version, ClientVersions as Client2Version

WHERE   VoipDetails.SessionIdTime = IVRSession.SessionIdTime AND     
        VoipDetails.SessionIdSeq = IVRSession.SessionIdSeq AND
        VoipDetails.FromNumberId = FromPhone.PhoneId AND
        VoipDetails.FromNumberId = ConnectedPhone.PhoneId AND

        IVRSession.SessionIdTime = AgenteSession.ReplacesDialogIdTime AND    
        IVRSession.SessionIdSeq = AgenteSession.ReplacesDialogIdSeq AND
        Agente.UserId = AgenteSession.User1Id AND

        User1.UserId = IVRSession.User1Id AND
        User2.UserId = IVRSession.User2Id AND
        StartedByUser.UserId = IVRSession.SessionStartedById AND

        Client1Version.VersionId = IVRSession.User1ClientVerId AND
        Client2Version.VersionId = IVRSession.User2ClientVerId AND
        (Client1Version.ClientType = 1024 or Client2Version.ClientType = 1024) AND

        User2.UserUri = 'ivr0679071new' AND
        IVRSession.InviteTime BETWEEN '18/02/2014 16:28:19' AND '19/02/2014 16:28:19'

        GROUP BY Agente.UserUri
        ORDER BY Agente.UserUri

不要试图理解查询。

我只想知道如何使用Reports Parameters在BETWEEN条件下使用它们来过滤查询。

有可能吗?

2 个答案:

答案 0 :(得分:0)

我会使用参数占位符替换SQL中的两个日期字符串(例如'18 / 02/2014 16:28:19'),例如@StartDate和@EndDate。

然后我会添加两个报表参数StartDate和EndDate。数据类型为日期。

答案 1 :(得分:0)

从此

更改此代码
BETWEEN '18/02/2014 16:28:19' AND '19/02/2014 16:28:19'

到这个

BETWEEN @StartDate AND @EndDate

这将自动添加2个报告参数。