7

multivalueレポート間のパラメータを操作するときに問題が発生します。

複数値パラメーターを定義したメインレポートがあります。これを使用してSQLクエリを実行し、データセットにデータを入力します。このパラメーターは、WHERE句で次のように使用されます。

WHERE values IN (@parameter)

正常に動作しており、期待されるデータを取得します。

次に、このメインレポートはこのパラメーターをサブレポートに渡します。パラメータはサブレポートでも複数値として定義されており、パラメータのドロップダウンリストで確認できる限り、正しい方法で値を受け取ります。このようなもの:A、B、C

重要なのは、サブレポートのデータセットにデータを入力するクエリは何も返さないということです。また、メインレポート(すでに機能している)のように定義されたWHERE句もあります

WHERE values IN (@parameter)

クエリを手動で実行する場合、値を次のようにハードコーディングします。

WHERE values IN ('A', 'B', 'C')

動作しますが、パラメーターを使用しようとすると動作しません。だから、どういうわけかそれは途中でフォーマットや値を失っています。

別のスレッドで提案されたサブレポートのデータセット定義でこのソリューションを試しました。

 =join(Parameters!<your param name>.Value,",")

しかし、それは私には機能しません。データセットはまだ空です。

私が欠けているものについて何かアイデアはありますか?

ありがとう!:)

4

3 に答える 3

13

これは「うまくいく」はずです。サブレポートのパラメータが複数値として設定されていることを確認してください。通常、親レポートとまったく同じクエリを使用して「使用可能な値」を提供します。

パラメータ全体をサブレポートに渡していることを確認します。親レポートのサブレポートプロパティでは、パラメータの値はでは[@MyParamName]なく読み取ります<<Expr>>。後者の場合は、式を編集して、末尾に(0)が付いていないことを確認してください。しかし=Parameters!MyParamName.Value、正しくはありません =Parameters!MyParamName.Value(0)

于 2012-12-05T17:55:57.413 に答える
3

レポートを最初から作成し直しただけで、機能しました。途中で何か忘れてしまったに違いない。

とにかく、誰かがそれを必要とする場合に備えて、メインレポートとサブレポートの2つのパラメータを複数値として定義する必要があります。次に、クエリで次のようにクラスで使用INする必要があります。WHERE

WHERE field IN (@parameter)

そして、他に何も必要ありません。私は次のことをする必要はありませんでした:

=join(Parameters!<your param name>.Value,",")

それは私のために働いた

于 2012-12-05T20:32:48.263 に答える
3

私は同じ問題を抱えてここに引き寄せられたので、あなたが何をしたか知っていると思います。サブレポートは正常に設定されましたが、親レポートにパラメーターバインディングを入力すると、Valueドロップダウンにパラメーターが表示されなかったため、式ビルダーを使用してパラメーターを選択しました。これにより、値に灰色の<< Expr >>マーカーが残り、リストから値を1つだけ選択した場合にのみ機能します。これを置き換えると[@MyParam]、選択した値の数に関係なく正常に機能しました。値式ビルダーを見てみると、少し近づいて作成されていました=Parameters!MyParam.Value(0)。を削除すると、(0)それも修正されます。

于 2014-10-24T04:34:13.303 に答える