SSRS IIF

Inhoud op deze pagina:

SSRS IIF

De IIF functie, expressie of conditie (of hoe je het ook wil noemen) kan je gebruiken in SQL Server Reporting Services (SSRS) om een bepaalde waarde te tonen of juist niet te tonen (afhankelijk waar je de IIF gebruikt). Zo wordt de IIF vaak gebruikt om alleen iets te tonen als de IIF een “true” teruggeeft op de expressie die je gebruikt. Maar zo kan je ook een value teruggeven op basis van de IIF conditie.

In de twee voorbeelden hieronder geven we je een voorbeeld waarbij de IIF een boolean waarde van true teruggeeft en een voorbeeld waarbij de IIF een waarde teruggeeft op basis van de IIF conditie.

Voorbeeld 1: Geef een boolean value van True terug als de Inkomsten.Value een waarde heeft van meer dan 1000.

=IIF(Fields!Inkomsten.Value > 1000, True, False)

Voorbeeld 2: Geef de waarde van “Rendabel” terug als de Inkomsten.Value een waarde heeft van meer dan 1000. Als dit niet het geval is, geef dan de waarde “Niet Rendabel” terug.

=IIF(Fields!Inkomsten.Value > 1000, “Rendabel”, “Niet Rendabel”)


SSRS IIF isNothing

De IIF isNothing is speciaal in het leven geroepen om het omgaan met een NULL of lege waarde makkelijk te maken.

Zelf ben ik geen voorstander van de IIF isNothing functionaliteit, aangezien ik zoveel mogelijk in T-SQL probeer op te lossen. Zo kan je de IIF isNothing als volgt vermijden door de volgende T-SQL code te gebruiken:

SELECT ISNULL(tabel.Antwoord, “NA”) AS Antwoord

Wil je het toch liever in SSRS oplossen? Dan hebben we het volgende voorbeeld beschikbaar om de isNothing functionaliteit toe te passen.

Voorbeeld 1:

=IIF(IsNothing(Fields!Antwoord.Value),”NA”,Fields!Handtekening.Value)

Nested IIF (meerdere IIFs)

Zo is het ook mogelijk om meerdere IIFs te gebruiken in een expressie, als je de behoefte hebt om te controleren op meerdere condities. Dit wordt ook wel een Nested IIF genoemd. Hierin kan je behoorlijk ver gaan, maar mijn advies is altijd om dit te beperken om het leesbaar te houden voor jezelf en iemand anders. Ik raad je aan om zoveel mogelijk in T-SQL op te lossen zodat jouw SSRS rapport niet te ingewikkeld wordt. Jij (of een ander) kan dan het rapport eenvoudiger aanpassen.

In het volgende voorbeeld laten we zien hoe een Nested IIF werkt.

Voorbeeld 1: Als Bedrijf.Value leeg is (of NULL), geef dan de kleur Wit terug. Als Bedrijf.Value 1 is, geef dan de kleur Groen terug en anders de kleur Rood.

=IIF(Fields!Bedrijf.Value is nothing, “White”,IIF(Fields!Bedrijf.Value=1,”Green”,”Red”))

Heb je vragen over hoe een IIF werkt of hoe meedere IIF’s werken? Heb je vragen over je SSRS rapport? Neem dan gewoon even contact op (gratis hulp bij kleine vragen/aanpassingen).

Ben je op zoek naar een SQL Server Reporting Services specialist? Ook daarmee kunnen we je helpen.



Geef een antwoord