能够在ssrs中选择多个日期(参数)

问题描述:

有没有一种方法可以在我可以选择多个日期并将其作为参数存储在ssrs中的报告中。选择允许一个参数的多个值给出下拉列表。但我可以得到一个日历控件,我可以选择多个日期。能够在ssrs中选择多个日期(参数)

从2008R2版本开始,SQL Server Reporting Services没有内置此功能。我没有看过2012年,但如果它提供了此功能,我会感到惊讶。

(你总是可以建立使用ReportViewer控件,URL访问或其他显示报表的访问方法自己的界面。)

杰米说,你不能真正做到这一点。根据我的经验,我所遇到的“最佳”工作是将参数值作为一个文本字符串传递,并使用拆分函数来解析存储过程中的WHERE条件。

USE [YOUR DATABASE] 
    GO 

    SET ANSI_NULLS ON 
    GO 
    SET QUOTED_IDENTIFIER ON 
    GO 

    CREATE FUNCTION [dbo].[split](
     @delimited NVARCHAR(MAX), 
     @delimiter NVARCHAR(100) 
    ) RETURNS @t TABLE (id INT IDENTITY(1,1), val NVARCHAR(MAX)) 
    AS 
    BEGIN 
     DECLARE @xml XML 
     SET @xml = N'<t>' + REPLACE(@delimited,@delimiter,'</t><t>') + '</t>' 

     INSERT INTO @t(val) 
     SELECT r.value('.','varchar(MAX)') as item 
     FROM @xml.nodes('/t') as records(r) 
     RETURN 
     END 

您的参数会是这样在你的存储过程:

@Parameter VARCHAR(200) 

那么你确定在您的存储过程的条件将是这样的

where convert(varchar(10), cast([YOURDATE] as date), 101) IN (select val from dbo.split(@Paramater,',')) 

我希望这有助于!