Sehr neu zu SSRS so tragen hinzuzufügen mit mir ...Wie gespeicherte Prozedur Variablen SSRS 2012 Labels
ich einen SSRS-Bericht erstellt für eine gespeicherte Prozedur basiert und im Rahmen dieses Verfahrens berechne ich ein Startdate und Enddatum für meinen Bericht. Ich muss diese zwei Daten in dem Titel des Berichts verwenden, aber diese Variablen sind nicht Teil des Datasets, das aus der gespeicherten Prozedur erstellt wird.
Wie füge ich diese Variablen zum Titel des Berichts hinzu? Hier
ist der Code:
DECLARE @ThisDate date;
SET @ThisDate = getdate(); -- Current date
DECLARE @sdate AS int
SELECT @sdate = CONVERT(int, CONVERT(varchar(10), dateadd(yy, datediff(yy, 0, @ThisDate) - 2, 0), 112)) -- Beginning of previous 2 year
DECLARE @edate AS int
SELECT @edate = CONVERT(int, CONVERT(varchar(10), dateadd(mm, datediff(mm, -1, @ThisDate) - 1, -1), 112)) -- Last Day of previous month
meinen Bericht angezeigt werden soll:
Von @sdate durch @edate (von 2014.01.01 bis 2016.08.31)
Ich schätze die Hilfe!
Danke für Ihre Hilfe Hannover! Also habe ich beschlossen, Ihrer zweiten Wahl zu folgen und Parameter für Start_Date und End_Date hinzuzufügen. Ich füge Standardwerte hinzu und verstecke sie aus dem Bericht, so dass sie nur für den Berichtstitel verwendet werden. Die Start_Date-Berechnung, die ich auf dem StoreProc verwendete, ist "SELECT @sdate = CONVERT (int, KONVERT (varchar (10), Datumadd (yy, datediff (yy, 0, @ThisDate) - 2, 0), 112))" .. .Es könnte ein -3 sein, abhängig von einer IF-Anweisung. Die Berechnung für den Bericht entspricht Ihrer Empfehlung (und fügt die Bedingung hinzu) "= IIf (Monat (heute) = 1," 01/01/"& (JAHR (HEUTE) - 3)," 01/01/"& (JAHR (HEUTE) - 2)) ". – MROS65
ABER, ich habe havong Probleme mit der End_Date Berechnung, die der letzte Tag des vorherigen Monats von HEUTE sein muss. Ich habe dies im StoreProc verwendet "SELECT @edate = CONVERT (int, CONVERT (varchar (10), Datumadd (mm, datediff (mm, -1, @ ThisDate) - 1, -1), 112))" und ich ' Ich versuche, dies auf dem Bericht zu bauen, kann aber keine Umwandlung in Text erhalten "= dateadd (DateInterval.month, datediff (DateInterval.month, -1, TODAY) - 1, -1)". End_Date wird als Text definiert und selbst wenn ich es so ändere, dass ich Datum erhalte, das ich bekomme ... kann ich nicht in den Typ 'Date' umwandeln ... – MROS65
Es gibt wahrscheinlich einen einfacheren Weg, um das End_Date zu erhalten (letzter Tag des vorherigen Monats von HEUTE), aber ich kann es nicht finden :-( – MROS65