質問

私はストアドプロシージャを実行するレポートがあります:

EXEC ra_spProjectCalendar @Month, @Year, @ProjectID

PROJECTIDは複数選択ドロップダウンです。単一のプロジェクトを選択した場合は、それが正常に動作します。私は複数のプロジェクトを選択した場合、私はエラーを取得します:

"Must declare scalar variable "@ProjectID"

これは、私が[データ]タブからそれを実行したとき、私はプレビューモードに入れたときに、しかし、私は問題を抱えて正常に動作します。

役に立ちましたか?

解決

あなたの例では、

-

私は式としてクエリを構築することで動作するように似た何かを得ました

="EXEC ra_spProjectCalendar @Month = '" & Parameters!Month.Value & "',@Year='" & Parameters!Year.Value & "',@ProjectID = '" &  Join(Parameters!ProjectID.Value, ",") & "'"

ターゲットSPの一部のコードは出力を作成するために参加する中で使用される一時テーブルに複数選択文字列を分割します。

それは以降のビットに移動しているSSRSや物事への私たちの移動の開始時に右だった - -

私たちはこのようにそれをやってしまった理由を私は覚えていないことができますが、それはあなたが記述問題であったかもしれない

他のヒント

私は、同じエラーが発生しました:スカラー変数を宣言する必要があります。

私は今、最初に確認することを実現していること、あなたはSSRSは、自動的にデータセットのプロパティのパラメータ]タブでPARAMTERエントリを作成することを、テキスト、またはストアドプロシージャの種類としてストアドプロシージャとしてクエリを入力したとき。 それはそれらを作成していない場合、それはあなたのクエリを正しく読み取ることができません。

私の場合は、分析サービスキューブを呼び出すためにOPENQUERYを使用し、角括弧を多く含むフィールド名を参照しました。残念ながら、SSRSはきれいに整形されるようにコードを再フォーマットするのが大好き「[対策]。[SomeMeasure]」この醜いエスケープ文字の混乱に変身します [測定] [Somemeasure]]]

あなたは別のツールでそのクエリを編集した場合、再度SSRSにそれを再コピーし、その構文を読み取ることができませんSSRS!でも、それはそれを生成し、しかし!だから、すべての余分な角括弧を削除し、二重引用符を交換し、それが再び動作し、パラメータを生成ブームます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top