2017-02-03 2 views
0

ich unter Expression, die ichAttemted durch Null-Fehler in SSRS Expression teilen

  =IIF((Sum(Fields!Starts.Value)-Sum(Fields!Withdrawn.Value))=0, Nothing, 
(Sum(Fields!Starts.Value)-Sum(Fields!Withdrawn.Value))/(Max(Fields!Year1Starts.Value))) 

in meinem Bericht bin mit Wenn ich den Bericht ausführen ich folgende Meldung bin immer und erscheint als #Error

Warning 1 [rsRuntimeErrorInExpression] 
    The Value expression for the textrun ‘Textbox110.Paragraphs[0].TextRuns[0]’ contains an error: 
Attempted to divide by zero. 

habe ich versucht, diese aber immer gleichen Fehler:

=IIF((Sum(Fields!Starts.Value) - Sum(Fields!Withdrawn.Value)) = 0, Nothing, 
(Sum(Fields!Starts.Value) - Sum(Fields!Withdrawn.Value))/ 
IIF(Max(Fields!Year1Starts.Value)=0,1,Max(Fields!Year1Starts‌​.Value))) 

Kann jemand bitte helfen?

Aruna

Antwort

1

Ich versuchte dies und es funktioniert:

=IIF(Max(Fields!Year1Starts.Value)=0,0,(Sum(Fields!Starts.Value) 
    - Sum(Fields!Withdrawn.Value))/IIF(Max(Fields!Year1Starts.Value)=0,1, 
Max(Fields!Year1Starts.Value))) 

ich dies gefolgt:

=IIF (Denominator = 0, Nothing, Numerator/IIF(Denominator = 0, 1, Denominator)) 
1

Sie haben Teiler zu handhaben und verhindern, dass es 0 als Wert zu bekommen. Etwas wie:

=IIf(Fields!SomeField.Value = 0, 0, Fields!SomeOtherField.Value/IIf(Fields!SomeField.Value = 0, 1, Fields!SomeField.Value)) 

Diese 0 mit 1 in Divisor ersetzen wird und somit diese Fehler vermeiden.