2012-07-03 5 views
0

다른 개발자가 만든 SSRS 보고서에서 오류를 디버그하려고합니다. 제가 말할 수있는 한 그것은 제로 문제에 의한 나눗셈입니다. 모든 보고서는 여기에서 마지막으로 백분율을 계산하는 것입니다. 저장 프로 시저는 결과를 반환하기 전에 모든 null 값을 0으로 변환하므로 문제가 무엇인지 여기에서 볼 수 없습니다. 어떤 아이디어?SSRS에서 0으로 나누기 오류

= 
Sum(IIf(Fields!ConstructionTradeDesc.Value = "Journeyman", 
    Fields!BlackF.Value + Fields!HispanicF.Value + Fields!AsianPacificF.Value + Fields!NativeAmericanF.Value + Fields!OtherF.Value, 
Nothing)) 
/
Sum(IIf(Fields!ConstructionTradeDesc.Value = "Journeyman" 
    and 
Fields!BlackM.Value + Fields!BlackF.Value + Fields!HispanicM.Value + Fields!HispanicF.Value + Fields!AsianPacificM.Value + Fields!AsianPacificF.Value + 
Fields!NativeAmericanM.Value + Fields!NativeAmericanF.Value + Fields!OtherM.Value + Fields!OtherF.Value > 0, 

Fields!BlackM.Value + Fields!BlackF.Value + Fields!HispanicM.Value + Fields!HispanicF.Value + Fields!AsianPacificM.Value + Fields!AsianPacificF.Value + 
Fields!NativeAmericanM.Value + Fields!NativeAmericanF.Value + Fields!OtherM.Value + Fields!OtherF.Value, 
1)) 
* 100 

답변

1

SSRS는 자동으로 0으로 나누기 오류를 처리하지 않지만 정확한 접근 방식이 될 수 있도록 코드에서 해결하려고합니다. 오류 목록 창 (보기 메뉴에서 열 수 있음)과 같이 모든 오류가 표시됩니까?

문제는 내부가 아닌 표현 외부에 IIF 기능을 배치해야 할 수 있다는 것입니다. 이렇게 뭔가 :

= 
Iif(Fields!ConstructionTradeDesc.Value = "Journeyman", 
    sum(Fields!BlackF.Value + Fields!HispanicF.Value + Fields!AsianPacificF.Value + Fields!NativeAmericanF.Value + Fields!OtherF.Value), 
Nothing) 
/
Iif(Fields!ConstructionTradeDesc.Value = "Journeyman" 
    and 
sum(Fields!BlackM.Value + Fields!BlackF.Value + Fields!HispanicM.Value + Fields!HispanicF.Value + Fields!AsianPacificM.Value + Fields!AsianPacificF.Value + 
Fields!NativeAmericanM.Value + Fields!NativeAmericanF.Value + Fields!OtherM.Value + Fields!OtherF.Value) > 0, 

sum(Fields!BlackM.Value + Fields!BlackF.Value + Fields!HispanicM.Value + Fields!HispanicF.Value + Fields!AsianPacificM.Value + Fields!AsianPacificF.Value + 
Fields!NativeAmericanM.Value + Fields!NativeAmericanF.Value + Fields!OtherM.Value + Fields!OtherF.Value), 
1) 
* 100 
관련 문제