2

SSRS에서 일관된 응답을 얻는 데 문제가있는 것 같습니다. 나는 상황을 설명 할 것이다.일관성없는 결과가있는 SSRS 보고서

  • 내 데이터베이스에는 "Sales"라고하는 테이블이 있습니다. Sales에는 성능이라는 열이 있습니다.이 열은 23 개의 출력 된 행 모두에서 일관됩니다 (오늘 0.80의 값).
  • SSDT가 포함 된 Visual Studio 2012 프로젝트가 있습니다. 이 프로젝트에는 20 가지 보고서가 있습니다. 모두 다 다르지만 한 가지 공통점이 있습니다. 왼쪽에 성능 번호가 표시된 표.
  • 이 성능 표는 나머지 보고서와 완전히 다릅니다. 쿼리 "Select * From Sales"가있는 "Perf"라는 데이터 집합을 나타냅니다. 내가 관심이있는 표의 필드는 =First(Fields!Performance.Value, "Perf")입니다. 모든 행은 성능에 대해 동일한 값을 가지므로 아무런 차이가 없어야하므로이 함수를 선택했습니다.
  • 서로 다른 보고서를 서로 비교할 때 보고서 중 일부는 0.80의 정답을 제공하지만 일부는 0.78의 답을 제공합니다. 이것이 어떻게 가능한지? 내가 캐시 제거하기 위해 다음 명령을 사용하여 보고서를 실행하기 전에

:

DBCC FREESESSIONCACHE 
DBCC FREEPROCCACHE 
DBCC DROPCLEANBUFFERS 

나는 무엇을 놓치고? 내가 뭔가 잘못하고 있는거야? 소프트웨어 현명 SQL Server Management Studio 2012 및 Visual Studio 2012를 사용합니다. 필요한 경우 자세한 정보 제공

+0

문제 자체가 "수정"되었습니다. SSRS를 반복해서 다시로드하면 매개 변수를 약간 수정하는 것뿐만 아니라이를 수정 한 것으로 보입니다. 이러한 의미에서 미리로드되거나 캐시 된 보고서의 문제인 것으로 보입니다. 이 문제를 해결하는 한 가지 방법은 .rdl 데이터를 제거하는 것입니다.하지만 보고서에서 사용할 수있는 매개 변수가있는 경우이 매개 변수를 변경하면 보고서를 다시로드해야하기 때문에 많은 도움이 될 수 있습니다. 나는 너를 위해서도 이것이 효과가 있기를 바란다! – JeroenB

+0

lol 방금 답변을 올렸지 만 이미 알아 냈다는 것을 깨닫지 못했습니다. 올바른 것이고 캐시 된 파일을 삭제하거나 새로 고칠 수 있으며 주어진 데이터 집합에 대한 매개 변수를 변경하면 SSRS는 캐시를 새로 고쳐야한다는 것을 알기에 충분히 똑똑합니다. – Bostaevski

답변

0

캐시 된 결과를 사용하여 SSRS 보고서 미리보기처럼 들립니다. 보고서를 미리보고 특정 데이터 세트의 매개 변수를 변경하지 않으면 데이터 세트의 캐시 된 사본 만 사용됩니다.

미리보기 모드에는 '새로 고침'버튼이 있습니다.이 버튼을 클릭하면 캐시를 삭제하고 데이터 세트를 새로 쿼리합니다. 또는 캐시 된 파일을 수동으로 삭제할 수 있습니다. RDL 파일과 동일한 폴더에 있습니다. 보고서는

MyReport.rdl 

당신은이 파일 (당신은 적어도 한 번 보고서를 미리했습니다 제공)

MyReport.rdl.data 

.DATA 파일을 삭제를 찾을 수를 호출하는 경우 예를 들어

및 보고서를 다시 실행하십시오. 소스에서 새로운 데이터 세트를 가져옵니다.