2011-08-09 42 views
3

我的報告有四個參數。其中三個是底層存儲過程數據源所必需的,但第四個參數僅用於顯示/隱藏報表中的項目。SSRS 2008 - 刷新報告而不重新查詢數據?

如果用戶更改了第四個參數的值,是否有辦法使用現有數據刷新報表而無需再次運行存儲過程?結果集不會改變,只有要顯示的行。

回答

2

Reporting Services 2008似乎將報表參數的每個組合視爲唯一集合,即使其中一些報表參數僅在報表內部,並且與存儲過程無關。因此,除了使用報表緩存外,即使只有內部參數發生更改,也無法阻止報表服務器往返數據庫。你基本上有兩種選擇:

  1. 打開在報表服務器報表緩存,並運行的 四個參數所有組合,使用戶將要訪問報告 服務器的緩存時,她運行的任何報告。這避免了往返數據庫,但僅限於你已經嘗試過的參數值。
  2. 用緩存行爲編寫底層存儲過程,以便將結果寫入數據庫表。每當運行存儲過程時,首先檢查表以查看當前一組參數值的結果是否已存儲在緩存表中,如果是,則將這些行返回給服務器。這仍然需要往返,但比再次運行該程序要快。