En utilisant IIF dans SSRS

voix
0

Je suis en train de calculer la valeur de% pour chaque groupe (logique étant «Groupe A Appels / Total des appels).

Le problème est que pour certains groupes que je dois utiliser (MAX (Fields! OverallCalls.Value) alors que pour d'autres! TotalCalls.Value) ceux que je dois utiliser (MAX (champs. Pour cette raison, je l'ai ajouté une déclaration IIF supplémentaire au bas, cependant, pour une raison quelconque, je reçois une erreur disant: « Trop d'arguments aux fonctions publiques IsNothing (expression As Object) As Boolean ».

=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)
       )
Créé 24/10/2019 à 11:52
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Il y a des erreurs avec manquantes entre parenthèses.

Essayez le code suivant

=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) 
    )
   )

Aussi pour une meilleure lisibilité lorsque vous avez beaucoup de déclarations imbriquées IiF je vous conseille l'aide du commutateur comme le code suivant

=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) 
    )
   )   
Créé 24/10/2019 à 12:22
source utilisateur

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