2011-12-11 61 views
0

系統 - 使用SSRS 2008 R2報表生成器3.0(或出價,如果你認爲答案就在那裏)SSRS 2008 R2報告參數與現在()默認不自動刷新

目標 - 創建一個從顯示的銷售數據的報告每個銷售區域過去24小時。報告需要每10分鐘刷新一次,並始終顯示上次刷新的最後24小時。但是,用戶仍然需要有能力改變時間表。

我做了什麼?

  1. 根據3個參數構建一個報告,顯示單個區域的銷售數據:StartTime,EndTime,RegionCode。讓我們把它叫做RegionalSales
  2. 內置一個主報告,其中包括RegionalSales的多個子報表。主報告有2個參數 - 開始時間(與默認值DATEADD( 「H」, - 24,現在()))和結束時間(與默認值現在())。我將StartTime和EndTime發送到子報告,並且每個子報告都分配了它自己的區域。
  3. 我已經設置了主報告的自動刷新屬性600

結果 - 起初一切似乎完美 - 主報告負載,並且顯示的數據是加載時間正確(比如說22:08)。但是,在自動刷新(在22:18發生)之後,數據在22:08仍然是正確的。

的問題是,在報告的第一次加載參數得到他們的默認值,我說(StartTime = 10/12/2011 22:08 & EndTime = 11/12/2011 22:08)。 但是,在自動刷新而不是參數更新(So I'll get StartTime = 10/12/2011 22:18 & EndTime = 11/12/2011 22:18)我仍舊得到舊值(StartTime = 10/12/2011 22:08 & EndTime = 11/12/2011 22:08)

任何想到爲什麼,以及如何改變這種情況?

謝謝!

+0

已測試的報表服務器上?開發環境具有複雜的刷新規則。 – jimconstable

+0

當然,所有報告都發布到報告服務器。 – user1092655

回答

1

如果我理解正確的...

遺憾的是,報告參數僅在第一負載得到他們的值,除非用戶手動點擊查看報告按鈕。

要解決這個問題,我想嘗試轉換的日期參數,不使用默認值,而是從查詢,而得到他們的價值和使用GETDATE相當於()爲您的RDBMS。如果我沒有記錯的話,這將需要你到另一個數據集添加到您的報告...但它不會真的是一個數據集,因爲對它的查詢將僅僅是SELECT GETDATE()或者類似的你RDBMS]和無論你需要做什麼變革。