2012-04-09 65 views
1

有沒有一種方法可以在我可以選擇多個日期並將其作爲參數存儲在ssrs中的報告中。選擇允許一個參數的多個值給出下拉列表。但我可以得到一個日曆控件,我可以選擇多個日期。能夠在ssrs中選擇多個日期(參數)

回答

2

從2008R2版本開始,SQL Server Reporting Services沒有內置此功能。我沒有看過2012年,但如果它提供了此功能,我會感到驚訝。

(你總是可以建立使用ReportViewer控件,URL訪問或其他顯示報表的訪問方法自己的界面。)

0

傑米說,你不能真正做到這一點。根據我的經驗,我所遇到的「最佳」工作是將參數值作爲一個文本字符串傳遞,並使用拆分函數來解析存儲過程中的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,',')) 

我希望這有助於!

相關問題