1

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

4

2 に答える 2

2

バージョン 2008R2 の SQL Server Reporting Services には、この機能が組み込まれていません。

(ReportViewer コントロール、URL アクセス、またはレポートを表示する別のアクセス方法を使用して、独自のインターフェイスをいつでも構築できます。)

于 2012-04-09T14:39:38.303 に答える
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 条件は次のようになります。

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

これが役立つことを願っています!

于 2016-11-01T14:28:07.387 に答える