Ich versuche, einen Parameter über die URL an SSRS zu übergeben und es scheint nicht zu funktionieren!
Ich versuche, eine userId (string) über die URL zu übergeben, die an die Datenbank übergeben und von der Abfrage verwendet wird.
basis-URL: http: //blah/Reports/Pages/Report.aspx? ItemPath = MyReport
versuchte es, aber es funktioniert nicht: http: //blah/Reports/Pages/Report.aspx? ItemPath = MyReport & UserId = fred
Irgendwelche Ideen
Versuchen Sie nicht nur das, was Shiraz gesagt hat:
http://<server>/ReportServer/Pages/ReportViewer.aspx?%2f<path>%2f<ReportName>&rs:Command=Render&UserID='fred'
Beachten Sie, dass der Pfad nur funktioniert, wenn Sie sich in einem einzigen Ordner befinden. Wenn ich dies tun muss, browse ich einfach über den Berichtserverpfad zum Bericht ("Berichte" ist der Berichts-Manager) und kopiere die URL und füge am Ende &<ParameterName>=<value>
hinzu.
Ich hatte die gleiche Frage und mehr, und obwohl dieser Thread alt ist, ist er immer noch gut, also habe ich für SSRS 2008R2 zusammenfassend ...
Situationen
Aktionen
Ersetzen Sie gegebenenfalls Reports/Pages/Report.aspx? ItemPath = durch ReportServer?. Mit anderen Worten: Statt dessen:
http://server/Reports/Pages/Report.aspx?ItemPath=/ReportFolder/ReportSubfolder/ReportName
Verwenden Sie diese Syntax:
http://server/ReportServer?/ReportFolder/ReportSubfolder/ReportName
Fügen Sie dem Bericht Parameter hinzu, und legen Sie ihn als ausgeblendet fest (oder sichtbar, wenn die Benutzeraktion zulässig ist. Beachten Sie jedoch, dass, obwohl sich der Berichtsparameter ändert, die URL nicht basierend auf einem aktualisierten Eintrag geändert wird).
Hängen Sie die Parameter an die URL mit & ParameterName = Value an
Parameter können mit @ParameterName im Bericht referenziert oder angezeigt werden, unabhängig davon, ob sie im Bericht oder in der URL festgelegt sind
Um die Symbolleiste auszublenden, in der Parameter angezeigt werden, fügen Sie der URL & rc hinzu: Toolbar = false ( reference )
Zusammenfassend können Sie eine URL mit eingebetteten Werten ausführen oder diese als Aktion aus einem Bericht heraus aufrufen und von einem anderen Bericht lesen:
http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID=ABC123&rc:Toolbar=false
Fragen Sie in den Eigenschaften des Berichts-Datasets ab: SELECT stuff FROM view WHERE User = @UserID
Setzen Sie im Bericht den Ausdruckswert auf [UserID] (oder = Fields! UserID.Value).
Beachten Sie, dass Sie bei einem Bericht mit mehreren Parametern möglicherweise alle Parameter in die URL aufnehmen müssen, auch wenn diese leer sind, je nachdem, wie Ihre Datasetabfrage geschrieben wird.
Um einen Parameter mit Action = Gehe zu URL zu übergeben, setzen Sie den Ausdruck auf:
="http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID="
&Fields!UserID.Value
&"&rc:Toolbar=false"
&"&rs:ClearSession=True"
Stellen Sie sicher, dass nach einem Ausdruck ein Leerzeichen steht, wenn gefolgt von & (ein Zeilenumbruch reicht nicht aus). Vor einem Ausdruck ist kein Platz erforderlich. Diese Methode kann einen Parameter übergeben, blendet diesen jedoch nicht aus, da er in der URL sichtbar ist.
Wenn Sie & rs nicht angeben: ClearSession = True, wird der Bericht nicht aktualisiert, bis der Browsersitzungscache gelöscht wird.
So übergeben Sie einen Parameter mit Action = Gehe zum Bericht:
Zu Referenzzwecken /=% 2f
Ich habe dieses Problem gerade selbst gelöst. Ich habe die Lösung auf MSDN gefunden: http://msdn.Microsoft.com/en-us/library/ms155391.aspx .
Das Format ist im Grunde
http://<server>/reportserver?/<path>/<report>&rs:Command=Render&<parameter>=<value>
Ändern Sie in Ihrer URL "Reports" in "ReportServer"
Übergeben Sie mehrere Werte per URL:
/ReportServer?%2fService+Specific+Reports%2fFilings%2fDrillDown%2f&StartDate=01/01/2010&EndDate=01/05/2010&statuses=1&statuses=2&rs%3AFormat=PDF
Das sollte funktionieren.
Ich habe ein ähnliches Problem gelöst, indem ich den Wert des verfügbaren Parameters in der URL anstelle der Bezeichnung des Parameters übergeben habe.
Zum Beispiel habe ich einen Bericht mit einem Parameter namens viewName und den vordefinierten Available Values für den Parameter sind: (Labels/Werte) orders/sub_orders, orderDetail/sub_orderDetail, product/sub_product.
Um diesen Bericht mit einer URL aufzurufen, die automatisch für parameter = product gerendert wird, müssen Sie den Wert und nicht die Bezeichnung angeben.
Dies wäre falsch: http: // server/reportserver?/Data + Dictionary/DetailedInfo & viewName = Produkt & rs: Befehl = Rendern
Dies ist richtig: http: // server/reportserver?/Data + Dictionary/DetailedInfo & viewName = sub_product & rs: Befehl = Rendern
Nach diesem link müssen Sie Ihrem Parameter u. U. vorangestellt sein, wenn Sie keine Proxy-Syntax verwenden
Ändern Sie "Reports" in "ReportServer" in Ihrer URL . Greifen Sie dazu auf diesen http://Host/ReportServer/
zu und von dort aus können Sie zu den Berichtsseiten gehen. Hängen Sie Ihre Parmater wie folgt an &<parameter>=<value>
Für detailliertere Informationen: