2009-04-17 3 views
2

일부 값이 숨겨 지도록 그룹 필터가있는 테이블을 만들었습니다. 그러나 위 값의 sum()을 나타내는 행은 여전히 ​​필터링 된 값을 계산합니다.합계에서 숨겨진 테이블 행 제외

일반적으로 필터를 쿼리에 적용하지만 동일한 데이터 집합을 동일한 보고서의 다른 테이블에서도 사용하므로 옵션이 아닙니다.

여기에 뭔가가 누락되었거나 MS Reporting Services의 결함입니까?

답변

4

이것은 데이터 테이블의 세부 구역을 렌더링하기 전에 테이블 머리글과 바닥 글의 값을 계산하기 때문에 SSRS의 "기능"인 것으로 나타납니다.

한 가지 방법은 필터가 필요한 테이블에서 행을 제외해야하는지 여부를 보여주는 데이터 소스에 파생 된 부울 열을 추가하는 것입니다 (데이터 소스가 SQL Server, CASE 문 또는 유사한 것을 사용한다고 가정). .

표 필터를 변경하여 표시기를 점검하고 표현식을 사용하여 조건부 합계를 계산하여 정확한 합계를 취할 수 있습니다.

=SUM(Iif(Fields!ExcludeRow.Value = True,0,Fields!ValueToSum.Value)) 
+0

Brilliant! 고마워. 나는 sum() 안에 iif()를 넣는 것을 생각하지 않았다. 나는 쿼리를 변경할 필요조차 없었습니다. 내 필터는 빈 제목 만 확인하므로 iif에 필터를 넣으면 문제가 해결되었습니다. – Rob1n

0

그것은 대답보다는 질문을 더 같은 것을 ... 당신이 행이 숨겨져 있는지 모르거나하지 않을 경우

방법 만 행 그룹 수준에서이 문제를 해결하려면?

즉,이 행 그룹별로 합계를 필터링하는 경우, 즉 행이 데이터 집합에서 제외되었는지 여부를 나타내는 입력란을 가질 수 없습니다.

예 : 나는 달, 환자 당 합계가있는 AR 에이징 보고서를 가지고 있습니다. 환자 당 음수 합계 (환자 행 그룹)를 필터링해야하지만 한 달에 열 그룹이 있으므로 데이터 집합이 환자 당 세분화 될 수 없으므로 SSRS가 숨기기를 결정하거나 숨기기를 결정할 수있는 유일한 장소입니다. 행은 행 그룹 수준에 있습니다 ...

0

동일한 문제가 있었지만 Iif()를 입력 할 곳이 너무 많습니다. 그룹에서 필터를 제거하고 Tablix 속성 대화 상자 (Tablix 선택, 왼쪽 위 모서리 회색 상자를 마우스 오른쪽 단추로 클릭 한 다음 Tablixc 속성 선택)에 필터를 적용하여 문제를 해결했습니다.