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