2017-02-01 23 views
0

レポートビルダを使用してレポートを作成し、レポートサーバーに公開しました。レポート1、主レポートには6つのパラメータがあります。 3つの多値パラメーターと3つの単一値パラメーター。レポート2をレポート1から別のウィンドウで開き、6つのパラメータすべてを渡したいとします。レポート2では、これらもパラメータとして作成されています。パラメータ: ネイバーフッド(マルチ) スタート(シングル) DATA_TYPE(マルチ) Prov_typeを(シングル) エンド(シングル) ソース(マルチ)追加ウィンドウでレポートを開くために複数値パラメータを渡すSSRS

我々は行動してテキストボックスを作成した報告書1では

javascriptコマンドを開きます。ここでは別のウィンドウを開きますが、

javascript:void(window.open('http://ourcompany/Reportserver/Pages/Report.aspx?%2fReports+in+Development%2funknown+provider+detail&rs:Command=Render&NEIGHBORHOOD="+join(Parameters!NEIGHBORHOOD.Value, "&NEIGHBORHOOD=")&"&SOURCE="+join(Parameters!SOURCE.Value,"&SOURCE=")&"&DATA_TYPE="+join(Parameters!DATA_TYPE.Value,"&DATA_TYPE=")&"&START="+Fields!START.Value+"&END="+Fields!END.Value+"&PROV_TYPE="+Fields!PROV_TYPE.Value+"'))

「有効でない」一般的なエラー私は、「パラメータ」と「フィールド」に置き換えてきた、それはまだ動作しませんを与える報告書1の現在の呼び出しがあります。静的フィールドを渡して作成した場合は、以下のように動作します。

javascript:void(window.open('http://ourcompany/Reportserver/Pages/Report.aspx?%2fReports+in+Development%2funknown+provider+detail&rs:Command=Render&rc:Parameters=true&NEIGHBORHOOD=Mesa&START=11/01/2016'))

任意の考え?ありがとう!

+1

(テキストボックスのプロパティ>>アクションタブの "レポートに移動"で)試してみましたか? – Kostya

+0

はい、動作しますが、同じウィンドウで開きます。レポートを独自のウィンドウで開くことを希望します。 – Wendi

答えて

0

問題の一部は、複数値のパラメータを複数回渡していることです。たとえば、式の一部は次のようになります。

...&SOURCE=A&SOURCE=B&SOURCE=C... 

URLにパラメータごとに1つの値しか設定できません。

ですから、それを解決するには値をカンマで区切って単一の文字列として渡します。次に、サブレポートで、それらを再度解析する必要があります。

"&SOURCE=" & join(Parameters!SOURCE.Value,",") 

URL長の制限などの追加問題が発生する可能性がありますが、これにより直ちに問題が解決されます。

+0

上記のコードを変更し、同じエラーrsInvalidItemPathを受け取りました。 "&SOURCE =" + join(パラメータ!SOURCE.Value、 "、") – Wendi

+0

特定のエラー "'/レポートを開発中/未知のプロバイダ詳細、join(パラメータ!NEIGHBORHOOD.Value、"、 ")、"、join(パラメータ! (パラメータ!DATA_TYPE.Value、 "、")、 "'は無効です。フルパスは260文字未満でなければなりません。その他の制限が適用されます。レポートサーバーがネイティブモードの場合、パスはスラッシュで始まる必要があります。 (rsInvalidItemPath) " – Wendi

0

わかりましたので、私は構文を研究し、それが動作していると信じています。私はそこにあったいくつかのアンパサンドを取り出しました。ここでコードは動作しています:

javascript:void(window.open('http://ourcompany/Reportserver/Pages/Report.aspx?%2fReports+in+Development%2funknown+provider+detail&rs:Command=Render&NEIGHBORHOOD="+join(Parameters!NEIGHBORHOOD.Value, ",")"&SOURCE="+join(Parameters!SOURCE.Value,",")"&DATA_TYPE="+join(Parameters!DATA_TYPE.Value,",")"&START="+Parameters!START.Value+"&END="+Parameters!END.Value+"&PROV_TYPE="+Parameters!PROV_TYPE.Value+"')) 

しかし、私はまったく別の問題があります。 SSRSのバグのように見えます。私はエラーが発生しました "レポートパラメータ 'START'は型には無効です(rsReportParameterTypeMismatch)"どちらのレポートでも、日付/時刻値です。私は、システム日時フォーマットを無駄に変更することによって、すべてのトリックを行ってきました。これについて何か考えていますか?ありがとう

関連する問題