Χρησιμοποιώντας IIF στην SSRS

ψήφοι
0

Προσπαθώ να υπολογίσει% τιμή για κάθε ομάδα (η λογική είναι «Ομάδα Α κλήσεις / Σύνολο Κλήσεις»).

Το πρόβλημα είναι ότι για ορισμένες ομάδες θα πρέπει να χρησιμοποιήσετε (MAX (Τα πεδία! OverallCalls.Value) ενώ για άλλους αυτά που πρέπει να χρησιμοποιήσετε (MAX (Τα πεδία! TotalCalls.Value). Για το λόγο αυτό, έχω προσθέσει ένα επιπλέον δήλωση IIF στο κάτω μέρος, όμως, για κάποιο λόγο να πάρω ένα λάθος λέγοντας: «Πάρα πολλά επιχειρήματα για δημόσιες λειτουργίες IsNothing (Έκφραση Όπως Object) Όπως Μπουλ».

=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)
       )
Δημοσιεύθηκε 24/10/2019 στις 11:52
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
1

Υπάρχουν λάθη που τους λείπουν οι παρενθέσεις.

Δοκιμάστε την παρακάτω κωδικό

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

Επίσης, για την καλύτερη αναγνωσιμότητα όταν έχετε πολλά ένθετα δηλώσεις IIF Θα συμβουλές μέσω του διακόπτη όπως τον κωδικό

=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) 
    )
   )   
Απαντήθηκε 24/10/2019 στις 12:22
πηγή χρήστη

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