Ich versuche, einen SSRS-Beispielbericht zu erstellen, der mehrere ausgewählte Datenbereichsparameter zulässt. Ich war in der Lage, den Bericht zu erstellen, der es dem Benutzer erlaubt, einen der ReportPeriod mit der folgenden Abfrage auszuwählen. Jetzt möchte ich dem Benutzer erlauben, mehr als einen Parameter auszuwählen, und das exportierte Excel wird jedes Ergebnis in einem separaten Blatt haben. In MS Visual Studio habe ich den Parameter auf "Mehrere Werte erlauben" gesetzt. Wie soll ich mein SQL ändern?SSRS-Bericht, der die Auswahl mehrerer Datumsbereichsparameter zulässt
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'
Wie werden Sie Mutiple Datumsbereich auswählen? etwas fehlt in der Frage ?? Bitte zeigen Sie den Repot mit Parametern !! – Hiten004
@ Hiten004 Die Berichte selbst verwenden nur 2 Parameter: StartDate und EndDate, wie Sie in der SELECT-Anweisung sehen. Wenn ich den Bericht in Visual Studio erstellt habe, erstelle ich den Parameter ReportPeriod mit den Bezeichnungen 'D', 'W', 'M', 'X', 'Y'. Je nachdem, welcher Wert von ReportPeriod ausgewählt wurde, wird das entsprechende StartDate und EndDate festgelegt. – kemflan