Met behulp van IIF in SSRS

stemmen
0

Ik probeer% te berekenen voor elke groep (logisch zijn 'Groep A gesprekken / Total gesprekken').

Het probleem is dat voor sommige groepen moet ik (MAX (Fields! OverallCalls.Value) te gebruiken terwijl voor andere die ik moet gebruiken (MAX (Fields! TotalCalls.Value). Om die reden heb ik een extra IIF statement toegevoegd helemaal onderaan, maar om een ​​of andere reden krijg ik een fout zeggend: 'te veel argumenten om publieke functies IsNothing (Expression als Voorwerp) zoals van Boole'.

=FORMATPERCENT(
       Sum(
IIF(Fields!Group.Value = Dissatisfactions Total,
       Fields!TotalDissatisfactions.Value,
IIF(Fields!Group.Value = RID Total,
       Fields!TotalRidDissatisfactions.Value,
       IIF(
              Fields!Group.Value = CRT OR
              Fields!Group.Value = Escalations
              ,Fields!ComplaintID.Value
              ,IIF(
                           Fields!Group.Value = Calls
                           ,Fields!Calls.Value
                           ,0
                     )
       )
       )
       )  
       ) / IIF(IsNothing(MAX(Fields!OverallCalls.Value), (MAX(Fields!TotalCalls.Value), (MAX(Fields!OverallCalls.Value)
       )
De vraag is gesteld op 24/10/2019 om 11:52
bron van user
In andere talen...                            


1 antwoorden

stemmen
1

Er zijn fouten met ontbrekende haakje.

Probeer de volgende code

=FORMATPERCENT(
Sum(
    IIF(Fields!Group.Value = "Dissatisfactions Total",
        Fields!TotalDissatisfactions.Value,
        IIF(Fields!Group.Value = "RID Total",
            Fields!TotalRidDissatisfactions.Value,
            IIF(
            Fields!Group.Value = "CRT" OR Fields!Group.Value = "Escalations",
                Fields!ComplaintID.Value,
                IIF(
                    Fields!Group.Value = "Calls",
                    Fields!Calls.Value,
                    0
                    )
                )
            )
        )  
   ) 
   / 
   IIF(IsNothing(MAX(Fields!OverallCalls.Value)),  
        MAX(Fields!TotalCalls.Value),  
        MAX(Fields!OverallCalls.Value) 
    )
   )

Ook voor een betere leesbaarheid als je veel geneste Iif uitspraken die ik zou adviseren met schakelaar, zoals de volgende code

=FORMATPERCENT(
Sum(
    Switch (
        Fields!Group.Value = "Dissatisfactions Total", Fields!TotalDissatisfactions.Value,
        Fields!Group.Value = "RID Total", Fields!TotalRidDissatisfactions.Value,
        Fields!Group.Value = "CRT" OR Fields!Group.Value = "Escalations", Fields!ComplaintID.Value,
        Fields!Group.Value = "Calls", Fields!Calls.Value,
        True, 0
        )

   / 
   IIF(IsNothing(MAX(Fields!OverallCalls.Value)),  
        MAX(Fields!TotalCalls.Value),  
        MAX(Fields!OverallCalls.Value) 
    )
   )   
antwoordde op 24/10/2019 om 12:22
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more