我遇到了我構建的SSRS訂閱報告的問題。基本上我有2個數據集和1個參數,這兩個數據集被稱爲@ReportDate。第二個數據集沒有更新的SSRS訂閱參數
@ReportDate具有默認值=今天()。當報表每天早上運行並通過訂閱通過電子郵件發送時,dataset1始終會獲取當前日期的更新信息並且工作正常,但dataset2始終會返回報告成功運行的上一個日期的數據。所以就像參數不會將更新的值傳遞給該數據集,這很奇怪,因爲兩個數據集都使用相同的參數。當我去解決問題並運行報告時,數據集2將返回數據以獲得今天的日期,因此我無法複製該問題。難道我做錯了什麼?我正在使用SSRS 2008 R2。謝謝你的幫助。
編輯:發現問題。兩個數據集都共享相同的數據源,這意味着數據集並行運行,而不是按照我在報告生成器中看到的順序運行。數據集2的數據依賴於在執行數據集1期間填充的表。數據集2在數據集1之前完成,因此它沒有選擇當前的日期數據。我更新了數據源上的一項設置,以便數據集按照它們在報告構建器中的顯示順序每次運行1次。我更改的設置是檢查名爲「處理查詢時使用單個事務」的數據源屬性中的複選框。
你在你的參數在where子句設定爲尋找了一天回來就好其中date = DATEADD(DD,-1,@DateParameter)? – newGuy
在數據集1的開頭引用參數時有一些錯誤檢查,但在這之外,實際上在兩個數據集中拉取數據的where子句相同。 – BrandedSwordsMan
這兩個數據集都使用相同的數據源嗎? – StevenWhite