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를 사용합니다. 필요한 경우 자세한 정보 제공
문제 자체가 "수정"되었습니다. SSRS를 반복해서 다시로드하면 매개 변수를 약간 수정하는 것뿐만 아니라이를 수정 한 것으로 보입니다. 이러한 의미에서 미리로드되거나 캐시 된 보고서의 문제인 것으로 보입니다. 이 문제를 해결하는 한 가지 방법은 .rdl 데이터를 제거하는 것입니다.하지만 보고서에서 사용할 수있는 매개 변수가있는 경우이 매개 변수를 변경하면 보고서를 다시로드해야하기 때문에 많은 도움이 될 수 있습니다. 나는 너를 위해서도 이것이 효과가 있기를 바란다! – JeroenB
lol 방금 답변을 올렸지 만 이미 알아 냈다는 것을 깨닫지 못했습니다. 올바른 것이고 캐시 된 파일을 삭제하거나 새로 고칠 수 있으며 주어진 데이터 집합에 대한 매개 변수를 변경하면 SSRS는 캐시를 새로 고쳐야한다는 것을 알기에 충분히 똑똑합니다. – Bostaevski