2016-07-12 10 views
2

SSRSから一貫した回答を得ることに問題があるようです。私は状況を説明します。矛盾した結果を伴うSSRSレポート

  • 私は私のデータベースに「Sales」と呼ばれるテーブルを持っています。 Salesでは、パフォーマンスと呼ばれる列があります。これは、出力された23行すべて(今日は0.80の値)で一貫しています。
  • 私はVisual Studio 2012でSSDTを使用したプロジェクトを持っています。このプロジェクトには20のレポートがありますが、それらのすべてが異なることをしていますが、共通点が1つあります。左側の表にはパフォーマンス番号が表示されています。
  • このパフォーマンス表は、残りのレポートとは完全に緩いです。 「Perf」というデータセットを参照するだけで、クエリは「Select * From Sales」となります。私が興味を持っているテーブルのフィールドは、=First(Fields!Performance.Value, "Perf")です。すべての行がパフォーマンスと同じ値を持つので、この関数を選択したので、違いはありません。
  • 複数のレポートを比較すると、いくつかのレポートでは0.80の正解が返されますが、その中には0.78の回答があります。これはどのように可能ですか?私はキャッシュを取り除くために、次のコマンドを使用するレポートを実行する前

DBCC FREESESSIONCACHE 
DBCC FREEPROCCACHE 
DBCC DROPCLEANBUFFERS 

私は何をしないのですか?私は何か間違っているのですか?私はSQL Server Management Studio 2012とVisual Studio 2012を使用しています。必要に応じて詳細情報を提供します。

+0

問題は「修正」されています。 SSRSを何度も再ロードすると、パラメータを少し修正するだけでなく、それを修正したようです。この意味では、プリロードまたはキャッシュされたレポートの問題と思われます。この問題を解決する方法の1つは明らかに.rdlデータを削除することですが、レポートでパラメータを使用できる場合は、これらのパラメータを変更するとレポートが強制的にリロードされるため、多くの面で役立ちます。私はこれも皆さんのために働くことを願っています! – JeroenB

+0

lol私はちょうど答えを掲示しましたが、あなたはそれをすでに理解していたとは気づきませんでした。あなたは正しいです、キャッシュされたファイルを削除またはリフレッシュすることができますし、特定のデータセットのパラメータを変更する場合、SSRSはキャッシュをリフレッシュする必要があることを知るのに十分スマートです。 – Bostaevski

答えて

0

キャッシュされた結果を使用してSSRSレポートのプレビューがあるようです。レポートをプレビューし、特定のデータセットのパラメータを変更しない場合は、データセットのキャッシュされたコピーを使用します。

プレビューモードでは、キャッシュを削除し、データセットを新しく照会すると思う「更新」ボタンがあります。また、キャッシュされたファイルを手動で削除することもできます。それらはRDLファイルと同じフォルダにあります。例えば

レポートが

MyReport.rdl 

と呼ばれる場合も

MyReport.rdl.data 

は.dataのファイルを削除します(あなたは少なくとも一度レポートをプレビューしてきて)このファイルを見つけることができますし、レポートを再実行します。ソースから新しいデータセットを取得します。

関連する問題