共用數據集的查詢結果可以複製到快取,以提供多個報表的一致數據,並改善數據集查詢的響應時間。 如同報表,您可以設定共用數據集,以在第一次使用時快取,或指定排程。
共用數據集可以包含在多個報表中,或做為元件定義的一部分。 藉由快取共用數據集,您可以為所有使用該數據集的報表提供一組一致的數據,同時減少針對外部數據源執行的數據集查詢次數。
下列清單提供何時快取共享資料集的範例:
查詢需要大量的時間才能執行。
查詢會採用參數,但大部分時間,參數組合的數目很小。 每個組合都會建立快取的查詢結果。
查詢會在一天、一周或月份的可預測時間執行。
查詢會執行,因為它是透過電子郵件傳遞的報告中引用共用數據集的結果,在短時間內可能會有大量人員點擊該連結。
下列清單提供何時不快取共用數據集的範例:
查詢結果必須一律包含最新的數據。
查詢會快速執行。
查詢不常執行。
查詢會採用參數、參數組合的數目很大,而且沒有比另一個組合更可能的組合。
共用資料集所依據的資料來源具有即時或 Windows 內建認證。
共用資料集篩選器或查詢包含對全局集合 User 的引用的表達式。
如果使用者選擇與針對快取結果集指定的預設值不同的報表參數值,數據集查詢會主動執行,而且不會針對該查詢使用快取的結果。
快取共享數據集
若要啟用共享資料集的快取,您必須選取共用數據集上的快取選項。 啟用快取之後,共用數據集的查詢結果會在第一次使用時複製到快取。 如果共享數據集具有參數,則每個參數組合都會在快取中建立新的項目。
雖然特定參數組合的查詢結果位於快取中,但每個已啟動進行處理且包含具有這些參數值的共用數據集參考的報表都會使用快取的數據。
您可以指定資料在快取中过期之前的保留時間長度。 如需詳細資訊,請參閱快取頁面、共用數據集(報表管理員)。
預先載入快取
您可以建立快取重新整理計劃來預先載入快取。 使用快取更新計劃,您可以指定使用項目特定的排程或共用排程來更新快取的頻率。 若要避免同一項目有多個快取項目,您指定的排程應允許足夠的時間在外部數據來源上進行查詢處理。 例如,如果查詢需要 20 分鐘才能執行,重新整理排程應該大於 20 分鐘。 如需詳細資訊,請參閱 排程。
若要建立共用數據集的快取重新整理計劃,適用下列條件。
必須啟用共用數據集以進行快取。
共用資料集相依的共享數據源無法使用提示或 Windows 整合式認證。
如果共用資料集具有參數,您必須針對未標示為唯讀的每個參數指定靜態預設值。 唯讀參數一律會使用預設值。 若要快取多個參數組合的共享數據集,您必須為每個值組合建立個別的快取重新整理計劃。 參數不能包含其他數據集的參考。
每個快取重新整理計劃只會與一個共享數據集或報表相關聯。
您必須擁有共享數據集的 ReadPolicy 和 UpdatePolicy 許可權。
快取更新計劃同時套用至共用數據集和報表。 如需詳細資訊,請參閱快取重新整理選項(報表管理員)。
導致快取過期的條件
下列條件可能會導致共享數據集快取變成無效。
排程條件到期。 快取超時或到達到期時間。
共用排程已刪除。
共用排程的變更。 共用排程可以暫停,這也會影響快取到期的時間。
共用數據集的查詢定義會變更。
共用數據集所依賴的共享數據源的憑證發生變更。
共用數據集的快取選項會變更。
共用數據集之只讀參數的預設值變更。
屬於共享數據集定義一部分的篩選條件會變更。
共用數據集會從報表伺服器中刪除。 刪除共享數據集時,也會刪除相關聯的快取複本和快取重新整理計劃。
快取共用數據集重新整理計劃的更新不會影響已處理的報表。 更新快取重新整理計畫只影響引用共用數據集之報表的未來啟動。