2

자. 보고서를 작성 중이며 #error가있는 것 같습니다. 그것은 제로 오류로 나누는 것 같지만 솔루션을 해결할 수 없습니다. 표현 :SSRS로 0으로 나누기 오류 표현

=(Sum(Fields!Line_Sell.Value) - Sum(Fields!Line_Cost.Value))/Sum(Fields!Line_Sell.Value) 

내가 RS 비교적 새로운 오전하지만

ISNULL() 

하지만 성공

을 시도했습니다.

도움이된다면 정말 좋을 것 같습니다.

감사

+0

의 값하지만 기쁨,이 문제를 해결합니다. 값) - Sum (Fields! Line_Cost.Value)/iif (Sum (Fields! Line_Sell.Value) = 0,1, Sum (Fields! Line_Sell.Value)) – Steven

답변

1

는 의견의 표현이 완료 보이지 않는, 그래서 당신이 작동하지 않았다 다음 시도 무엇을 말할 수 없다. 나눗셈을 수행하기 전에 반드시 0을 테스트하고 싶습니다.

당신이 시도 할 수 있습니다 : 그 열매를 산출 결과는 아직 아니라면,

=iif((Sum(Fields!Line_Sell.Value) = 0 or IsNothing(Sum(Fields!Line_Sell.Value)), 0,Sum(Fields!Line_Sell.Value) - Sum(Fields!Line_Cost.Value))/Sum(Fields!Line_Sell.Value)) 

을 표현하고 실행을 무너 뜨리는 :

=iif(Sum(Fields!Line_Sell.Value) = 0, 0, (Sum(Fields!Line_Sell.Value) - Sum(Fields!Line_Cost.Value))/Sum(Fields!Line_Sell.Value)) 

또는도 빈 값을 확인하기 위해, 당신이 시도 할 수 있습니다 보고서. Sum (Fields! Line_Sell.Value)을 단독으로 사용해보고 보고서를 실행하고 얻은 결과를 확인하십시오. 보다 효율적으로 Fields! Line_Sell.Value에 하나의 열을, Fields! Line_Cost.Value에 하나의 열을 가진 테이블을 생성하십시오. 표에서 세부 행을 포함하고 각 행을 개별적으로 Sum 함수로 가져올 수 있도록 총 행을 추가하십시오. 집계 함수가 작동하지 않는 이유를 추정하기 위해 세부 레코드를 조사해야합니다. 결론 - 표현을 분해하고 조각별로 테스트 해보십시오. 대답은 어딘가에있다.

+0

며칠 후, (Fields! Line_Sell.Value)/Sum (Fields! Line_Sell.Value)) 내가 작업했음을 알립니다. 너무 많은 값에 합산 – Steven

5

x/y로 설정된 표현식을 가정 해 보겠습니다. 여기서 y는 0 일 가능성이 있습니다. 경험 한대로 SSRS는이 값을 #ERR (또는 때때로 NaN)으로 변경합니다. 첫 번째 본능은 제로

=Iif(y = 0, 0, x/y) 

불행하게도, 이것은 당신이 0으로 나누는 시도라는 디버거 경고가 발생할 수 있습니다을 테스트하는 것입니다. 이는 SSRS가 컴파일하는 동안 전체 문을 평가하려고하기 때문입니다. 그 결과, 우리는이 당신의 y 값으로 나누어과 동일는

=x * y^-1 

을 평가할 수있는 값으로 SSRS를 제공해야하지만, SSRS는 평가를 할 수있다, 따라서 무한대로 나누어으로 이것을보고하고, . 마지막 단계로 코드를 Excel로 올바르게 내보낼 수 있는지 확인해야합니다. 2012 SSRS에서 (나중에 테스트하지는 않았지만) SSRS에는 가능한 0 값을 Excel에 0.000000000000000으로 내보내고 데이터 오류가 발생하는 문제가 있습니다. ! = IIF (합계 (필드 Line_Sell.Value) = 0, 0, 합계 (필드 Line_Sell : 우리 명시 적으로 출력 지금이 노력하고 제로

=Iif(x = 0 OR y = 0, 0, x * y^-1) 
관련 문제