Home / Reporting Services / Divide by zero SSRS / delen door 0 #error

Divide by zero SSRS / delen door 0 #error

Delen door 0 is niet toegestaan in reporting services/sql server. Met deze eenvoudige formule kun je delen door 0 voorkomen zodat de #Error melding niet meer in je rapport verschijnt.

= IIF(SUM(FIELDS!OmzetVorigJaar.Value) + 0 = 0, Nothing, 
SUM(FIELDS!MargeVorigJaar.Value) / IIF(SUM(FIELDS!OmzetVorigJaar.Value)+0=0,1,
( SUM(FIELDS!OmzetVorigJaar.Value) ) ))

Deze formule rekent het margepercentage uit van het vorige jaar (margevorigjaar/ omzetvorigjaar).

Eerst controleer je of het getal waardoor je wilt delen 0 is ( getal + 0 = 0). Als dit zo is vul je de textbox op met Nothing en stopt de verdere berekening. Nothing is hetzelfde als NULL in SQL, alleen met een ander naampje. Je kunt ook een lege string in de textbox stoppen: “”. Mijn ervaring is dat je hiermee problemen kunt krijgen als je de uitkomst van deze cel in een andere cel wilt gebruiken (ReportItems). De input is dan een lege string en daar kun je geen formules mee maken.

Als het getal geen 0 is dan wordt de deling uitgevoerd.

Een andere truuk is om een stukje code op te nemen in de rapportage:

Public Function Divide(ByVal first As Double, ByVal second As Double) As Double
If second = 0 OR first = 0
Return 0
Else
Return first / second
End If
End Function

Vervolgens gebruik je dit in je Expressie:

=Code.Divide(SUM(X), SUM(Y) )

Check Also

prevent-divide-by-zero-ssrs

Prevent Divide by Zero in SSRS

In a previous post, I wrote about how to prevent the divide by zero issues …

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *