2010-11-16 2 views
5

Ich habe die folgende WHERE-Klausel einer SQL-Abfrage-Zeichenfolge in dem SSRS-Datensatz:Wie kann die Verwendung von SSRS-Dataset-Parametern mit der Timestamp-Escape-Klausel integriert werden?

WHERE "Input_date" >={ts '2009-01-01'} 
AND "Input_date" < {ts '2009-12-31'} 

Und jetzt, ich mag Berichtsparameter verwenden, die Daten in der SQL-Anweisung einpacken, dh @ Indate1 und @ Indate2.

Ich habe dies versucht, aber Fehler auftritt:

WHERE "Input_date" >={ts @indate1} 
AND "Input_date" < {ts @indate2} 

Bitte raten Sie freundlich. Danke.

Antwort

6

Was haben Sie getan, um diese Parameter hinzuzufügen? Ich nehme an, dass Sie die Datasetabfrage mit den Änderungen, die Sie in Ihrer Frage gepostet haben, geändert haben. Es gibt zwei weitere Schritte, die Sie durchführen müssen, um diese Arbeit zu machen:

  1. Definieren Sie einen neuen Parameter auf den Parameter-Ordner. Klicken Sie mit der rechten Maustaste auf den Parameter-Ordner und wählen Sie Parameter hinzufügen. Geben Sie an, welche Werte der Benutzer auswählen können soll. Wiederholen Sie den Vorgang für den zweiten Parameter.
  2. Fügen Sie die Parameter zum Datensatz hinzu, den Sie für den Bericht verwenden. Dies kann im Parameterbereich geschehen, wenn Sie den Datensatz bearbeiten. Fügen Sie zwei Parameter mit den Namen @indate1 und @indate2 hinzu und setzen Sie jeden Parameterwert auf die Parameter, die Sie in Schritt 1 definiert haben.
  3. Ändern Sie die SQL-Anweisung wie in Ihrem Beitrag beschrieben. Ich würde denken, dass Ihr SQL wie folgt aussehen sollte (Input_date unter der Annahme ist eine Spalte in der Tabelle):

WHERE Input_date >= @indate1 AND Input_date < @indate2

Dies ist spezifisch für die BIDS 2008-Version von Visual Studio. Wenn Sie Report Builder oder etwas anderes verwenden, lassen Sie es mich wissen, und ich kann die Anweisungen ein wenig ändern.

Verwandte Themen