2016-08-11 8 views
0

私はSSRSレポートをストアドプロシージャに基づいて作成しています。プロシージャは、ユーザーがパラメータに入力した月(たとえば201604)に基づいて、過去6か月のデータを呼び出します。現在、私はこのデータをマトリックスに入れていますが、その6ヶ月間には、直前の月と直前の月の差異の列を持つ必要があります(例:201604対201603)SSRSマトリックス分散列 - ゆっくりと実行されるレポート

今私は式ストアドプロシージャ内で作成した列を使用して、月が行内にあるかどうかを指定するには、CURRENT、PRIOR、または計算に使用されていない場合はNONEを使用します。

=SUM(IIF(Fields!VarHelper.Value = "CURRENT",1,0) * Fields!stock_value.Value 
    - 
    IIF(Fields!VarHelper.Value = "PRIOR",1,0) * Fields!stock_value.Value) 

私はレポート上の三つの領域/細胞では、この式を使用していて、何らかの理由でそれが(実行に45秒程度)非常にゆっくりと実行するレポートを引き起こしています。レポートにこれらの分散式がなければ、ほとんど瞬時に実行されます。

誰かがa)。マトリックスの最新の2か月間の分散を計算するより良い方法を提案するか、b)レポートのパフォーマンスに影響を与えている理由を明らかにすることができるか?

ありがとうございます!

答えて

0

クエリの計算結果を報告してください。 2つの方法が可能です:SQLクエリーを作成した場合:selectで選択します。 または、データセットにcalcultedフィールドを追加します。 これらのフィールドに合計を加えます。 データベースサーバーがレポートサーバーの代わりにジョブを作成するため、時間がかかることがあります。

関連する問題