2012-04-09 32 views
1

複数の日付を選択して、ssrsのレポート用のストアドプロシージャのパラメータとして渡す方法はありますか。パラメータの複数の値を許可するを選択すると、ドロップダウンリストが表示されます。複数の日付を選択できるカレンダーコントロールを取得できますか?複数の日付(パラメータ)をssrsで選択することが可能

答えて

2

SQL Server Reporting Servicesには、2008R2バージョン以降、この機能は組み込まれていません。2012年は見ていませんが、これが提供されていれば驚かれるでしょう。

(あなたは常にReportViewerコントロール、URLへのアクセスやレポートを表示するには、別のアクセス方法を使用して独自のインターフェイスを構築することができます。)

0

ジェイミーが述べたように、あなたが本当にこれを行うことはできません。私が経験した "最良の"作業は、パラメータ値を1つのテキスト文字列として渡し、分割関数を使用してストアドプロシージャの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,',')) 

ようになりますあなたのところ私はこれが役に立てば幸い!

関連する問題