2017-05-19 9 views
0

5つのレポートを1つにまとめたSSRSレポートがあります。各レポートは、異なるストアドプロシージャから作成されます。最初のページは、各レポートからレコード数を提供するための要約です。私は、個々のレポートのカウントを提供するストアドプロシージャのフィールドを作成しました:phycountとnonphyscount。異なるデータセットからSSRSのレコードをカウントしようとしています

enter image description here

アクティブはRecertは別から来て、最初は他から来て、1つのデータセットから来ている、など

私が遊んでてきた:私はこのような表を作成しようとしていますLookupとLookupSetを使用していますが、エラーが発生しているだけでなく、それが正しい方向であるかどうかはわかりません。

誰でもこれを行う方法を知っていますか?

+0

入力は単なる値ですか? 1つのprocを作成してすべてのカウントを実行し、それをデータセットとして返そうとしましたか? –

+0

私はそれについて考えていましたが、それはさらに難しくなると思います。格納されたprocsはフィールドとしてカウントを返しますが、これらのフィールドはテーブルに入力されません(これは作成できません)。私は、5つの他のprocsからのすべてのクエリを実行する1つのprocを作成する必要があり、これは本当にレポートの実行時間を増加させるでしょう。 – jackstraw22

+0

申し訳ありませんが私は誤解しました、私はあなたがレポートの最初のページとしてそれを持っていたと思いました。カウントをテーブルに保存できますか?実行時にクエリを実行せずに他のレポートからカウントを取得する方法はわかりません。 –

答えて

0

ルックアップとルックアップセットは、特定の値をデータセットから取得するためのものです。非常に便利ですが、達成しようとしていることには必要ありません。

集計関数SUMとCOUNTを使用して、実行したいことを達成できます。これらの関数の優れた点は、実際にIIFステートメントを内部に埋め込むことができることです。

私はあなたのデータセットが見えると命名されているが、それはこのようなものになるだろう正確にどのようにわからないんだけど...

SUM(IIF(フィールド!type.valueこの= "PhyCount"、1、0 )、 "Active")

合計関数は、データセットのすべての行を通過し、渡された値を合計します。 iif文は、データセットの型フィールドが "PhyCount"であるかどうかをチェックします。そうであれば1を返します。そうでない場合は0を返します。これはすべての行で発生するため、SUM関数はステータスがアクティブな各行のカウントを返します。

編集:iif文の後の "アクティブ"は、データセットの名前を指定します。

EDIT AGAIN:このソリューションは、SSRS 2008では動作しないようです。

+0

私はそれを理解したと思うし、私が正しいとすればそれはあまりにも悪くない。テーブルを作成してグループを追加しました。各行グループについて、各データセットのカウントフィールドを呼び出すことができました。= Sum(Fields!physicianct.Value、 "ds1licensettest") – jackstraw22

+0

@ Lucky - 私はあなたのソリューションを試しましたが、スコープパラメータが集約関数に対して有効です。私はこれを試した:合計(IIF(Fields!TypeValue = "phycount"、1、0)、 "Active")。あなたのソリューションは興味深いと思うし、これも同様に機能させたい。 – jackstraw22

+0

偉大な、あなたのための単純な和がうまくいく場合。私はSSRSにやりたくないことをするのが大好きです!私はちょうどこれをテストし、それが動作します:= SUM(IIF(Fields!Staff_Name.Value = "Blow、Joe"、1、0)、 "DataSet1") – Lucky

関連する問題