2009-05-18 6 views
6

부울 값이있는 열이있는 데이터 집합이있는 보고서가 있습니다. 테이블 바닥 글에서 x/y을 표시하고자하는 경우 8164는이 얼마나 많은 행이 true이고 y인지는 전체 행의 개수입니다. SSRS : 실제 행을 계산하는 방법

현재 나는이 있습니다

=Count(Fields!Transfered.Value).ToString() + "/" + CountRows().ToString() 

을하지만 첫 번째는 마지막 부분과 동일하게된다. 나는 이것을 시도했다 :

=Sum(Fields!Transfered.Value).ToString() + "/" + CountRows().ToString() 

그러나 그것은 내가 이해할 수 있다고 생각하는 오류를 만든다. 저는 사실이 1이고 거짓이 0 인 숫자로 부울을 변환하면 멋지게 작동 할 수 있다고 생각했습니다. 그러나 나는 그것을 어떻게 할 수 있습니까? 아니면이 모든 것을 함께하는 더 똑똑한 방법입니까?

업데이트 :는 이제

=Sum(CInt(Fields!Transfered.Value)).ToString() + "/" + CountRows().ToString() 

을 시도하고 부정적인 결과도 있고 ...

O.o

이 또한 내가 대답으로 게시 작동하는 방법을 발견했다. 하지만 나는 그것을 대답으로 아직 받아들이지 않을 것이다. 누군가가 더 좋은 방법을 가지고 있다면 =)

답변

9

일이 잘못된 이유는 말할 수

=Sum(IIF(Fields!Transfered.Value, 1, 0)).ToString() + "/" + CountRows().ToString() 
...

  • 카운트 (필드! Transfered.Value)는 단순히 행의 수입니다. 일명 COUNTROWS()
  • 합계가 (필드! Transfered.Value가) 집계하려고
  • = 오류 "true"또는 "false"
  • 합계 (에 CInt (! Transfered.Value)가 필드) 요약 -1과 0 것 VB 때문에 .NET 진정한 = -1
  • 합계 (IIF (필드! Transfered.Value, 1, 0))

추가 IIF을 방지하기 위해, 당신의 합계를 부정 사용할 수있는 솔루션 = 부호 문제 해결 모두 -1s

마지막으로 두 가지 해결책이 모두 OK 일 것입니다. 둘 다 똑같이 kludgy입니다

+2

고마워요! 상황이 더 명확 해졌습니다. D (왜 누군가가 사실로 만들겠습니까 = -1 ??) – Svish

+3

Dunno. 사람들이 VB.Net을 싫어하게 만드시겠습니까? ;-) – gbn

+1

글쎄, 그들은 어쨌든 좋은 일을 해냈다 : p C# FTW! – Svish

1

더 명확하고 논리적 인 방법이 더 있긴하지만, 그 방법을 찾아 냈다.

1

나는 오늘 이것을 보았고 적어도 SSRS에서 bool에 대해 음수 값을 얻은 유일한 사람이 아니라는 것을 확인했습니다. 감사.

내 솔루션은 절대 값으로 ABS를 사용하는 것이 었습니다. 표현을 읽을 때 조심하지 않으면 '-'가 빠지는 부분을 시각적으로 쉽게 볼 수 있기 때문에 표현을 무효화하는 것보다 낫습니다.

하지만 본질적으로 똑같은 여기

0

의 당신이 그것을 경우 카운트에서 두 번째 부분을 그룹화 값

=CountDistinct(IIF(Fields!TrueOrFalseField.Value, 
        Fields!GroupedField.Value, 
        "BadValueToBeRemovedFromCount")) 
       -IIF(CountDistinct(Fields!TrueOrFalseField.Value)=1 
           and First(Fields!TrueOrFalseField.Value) 
        , 0, 1) 

-IIF(CountDistinct(Fields!TrueOrFalseField.Value)=1 
            and First(Fields!TrueOrFalseField.Value) 
         , 0, 1) 

제거 (1)을 계산하는 방법입니다 TrueFalse 값이 있거나 하나의 고유 한 false 값만있는 경우

관련 문제