URLを介してSSRSにパラメーターを渡そうとしていますが、機能していないようです!
データベースに渡され、クエリで使用されるURLを介してuserId(文字列)を渡そうとしています。
ベースURL: http://blah/Reports/Pages/Report.aspx?ItemPath = MyReport
これを試してみましたが、機能しません: http://blah/Reports/Pages/Report.aspx?ItemPath = MyReport&UserId = fred
何か案は
シラーズが言ったことに加えて、次のようなものを試してください。
http://<server>/ReportServer/Pages/ReportViewer.aspx?%2f<path>%2f<ReportName>&rs:Command=Render&UserID='fred'
パスは、単一のフォルダーにいる場合にのみ機能することに注意してください。これを行う必要がある場合は、reportserverパス(「レポート」はレポートマネージャー)を使用してレポートを参照し、URLをコピーしてから&<ParameterName>=<value>
最後まで。
私は同じ質問などをしましたが、このスレッドは古いですが、まだ良いものですので、SSRS 2008R2の要約では...
状況
アクション
該当する場合は、Reports/Pages/Report.aspx?ItemPath =をReportServer?。言い換えれば、これの代わりに:
http://server/Reports/Pages/Report.aspx?ItemPath=/ReportFolder/ReportSubfolder/ReportName
次の構文を使用します。
http://server/ReportServer?/ReportFolder/ReportSubfolder/ReportName
レポートにパラメーターを追加し、非表示(またはユーザーアクションが許可されている場合は表示)に設定します。ただし、レポートパラメーターが変更される間、URLはnot更新されたエントリに基づいて変更します)。
&ParameterName = Valueを使用してパラメーターをURLに添付する
パラメータは、レポートまたはURLのどちらで設定されていても、@ ParameterNameを使用してレポートで参照または表示できます。
パラメーターが表示されるツールバーを非表示にするには、URLに&rc:Toolbar = falseを追加します( reference )
これらをすべてまとめると、値が埋め込まれたURLを実行したり、あるレポートからアクションとして呼び出して別のレポートで読み取ったりすることができます。
http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID=ABC123&rc:Toolbar=false
レポートデータセットプロパティクエリ:SELECT stuff FROM view WHERE User = @UserID
レポートで、式の値を[UserID](または= Fields!UserID.Value)に設定します
レポートに複数のパラメーターがある場合、データセットクエリの記述方法によっては、空白であってもすべてのパラメーターをURLに含める必要がある場合があることに注意してください。
Action = Go to URLを使用してパラメーターを渡すには、expressionを次のように設定します。
="http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID="
&Fields!UserID.Value
&"&rc:Toolbar=false"
&"&rs:ClearSession=True"
&が後に続く場合は、式の後に必ずスペースを入れてください(改行だけでは不十分です)。式の前にスペースは必要ありません。このメソッドはパラメーターを渡すことができますが、URLに表示されるため、パラメーターを非表示にしません。
&rs:ClearSession = Trueを含めない場合、ブラウザセッションキャッシュがクリアされるまでレポートは更新されません。
Action = Go to reportを使用してパラメーターを渡すには:
参考のため、 / =%2f
私はこの問題を自分で解決しました。 MSDNで解決策を見つけました: http://msdn.Microsoft.com/en-us/library/ms155391.aspx 。
形式は基本的に
http://<server>/reportserver?/<path>/<report>&rs:Command=Render&<parameter>=<value>
URLの「レポート」を「レポートサーバー」に変更してみてください
URL経由で複数の値を渡してみてください:
/ReportServer?%2fService+Specific+Reports%2fFilings%2fDrillDown%2f&StartDate=01/01/2010&EndDate=01/05/2010&statuses=1&statuses=2&rs%3AFormat=PDF
これは動作するはずです。
パラメータのラベルの代わりにURLで使用可能なパラメータの値を渡すことで、同様の問題を解決しました。
たとえば、viewNameという名前のパラメーターを持つレポートがあり、パラメーターの定義済みの利用可能な値は次のとおりです:(ラベル/値)orders/sub_orders、orderDetail/sub_orderDetail、product/sub_product。
Parameter = productに対して自動的にレンダリングするURLを使用してこのレポートを呼び出すには、ラベルではなく値を指定する必要があります。
これは間違っています: http:// server/reportserver?/ Data + Dictionary/DetailedInfo&viewName = product&rs:Command = Render
このように link プロキシ構文を使用しない場合は、パラメーターの前に&rpを付ける必要があります
URLの「レポート」を「ReportServer」に変更してみてください。そのためには、このhttp://Host/ReportServer/
にアクセスするだけで、そこからレポートページにアクセスできます。この&<parameter>=<value>
のようにパラメーターを追加します
詳細については: