0
複数の日付範囲パラメータを選択できるサンプルSSRSレポートを作成しようとしています。以下のクエリを使用してReportPeriodの1つを表示するように選択できるレポートを作成することができました。今私は、ユーザーが複数のパラメータを選択できるようにしたい、エクスポートされたExcelは別のシートの各結果を持っています。 MS Visual Studioでは、パラメータを「複数の値を許可」に設定しました。 SQLをどのように変更すればよいですか?複数の日付範囲パラメータを選択できるSSRSレポート
IF 'D' IN(@ReportPeriod)
BEGIN
SET @StartDate= DATEADD(day,DATEDIFF(day,1,GETDATE()),0)
SET @EndDate= DATEADD(day,DATEDIFF(day,0,GETDATE()),0)
END
にあなたの比較を変更してみてください、複数値のパラメータの特定の値をチェックするために
DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
DECLARE @ReportPeriod CHAR(1)
IF @ReportPeriod='D'
BEGIN
SET @StartDate= DATEADD(day,DATEDIFF(day,1,GETDATE()),0)
SET @EndDate= DATEADD(day,DATEDIFF(day,0,GETDATE()),0)
END
ELSE IF @ReportPeriod='W'
BEGIN
SET @StartDate = DATEADD(wk, DATEDIFF(wk,6, GETDATE()),-1)
SET @EndDate = DATEADD(wk, DATEDIFF(wk, 6, GETDATE()), 6)
END
ELSE IF @ReportPeriod='M'
BEGIN
SET @StartDate=DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)
SET @EndDate= DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, 0)
END
ELSE IF @ReportPeriod='X' -- Get Month To Date
BEGIN
SET @StartDate=DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)
SET @EndDate= DATEADD(day,DATEDIFF(day,0,GETDATE()),0)
END
ELSE IF @ReportPeriod='Y' -- Get Year To Date
BEGIN
SET @StartDate=DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
SET @EndDate= DATEADD(day,DATEDIFF(day,0,GETDATE()),0)
END
SELECT @StartDate AS 'StartDate', @EndDate AS 'EndDate'
どのように日付の範囲を無制限に選択する予定ですか?質問には何かがありませんか? paramentersでリボットを見せてください! – Hiten004
@ Hiten004レポート自体は、SELECTステートメントのようにStartDateとEndDateの2つのパラメータしか使用しません。 Visual Studioでレポートを作成したときに、ラベル「D」、「W」、「M」、「X」、「Y」を持つReportPeriodパラメータを作成します。また、ReportPeriodの値に応じて、StartDateとEndDateを設定します。 – kemflan