Κοινή χρήση μέσω


SWITCH

Ισχύει για:Υπολογιζόμενη στήληΥπολογιζόμενος πίνακαςMeasureΥπολογισμός απεικόνισης

Αξιολογεί μια παράσταση σε σχέση με μια λίστα valuesand επιστρέφει μία από τις πολλές πιθανές παραστάσεις αποτελέσματος. Αυτή η συνάρτηση μπορεί να χρησιμοποιηθεί για να αποφύγετε την ύπαρξη πολλών ένθετης IFstatements.

Σύνταξη

SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])

Παράμετροι

Όρος Ορισμός
expression Οποιαδήποτε παράσταση DAX που επιστρέφει μια μοναδική ανυσματική value όπου η παράσταση πρέπει να αξιολογηθεί πολλές φορές (για κάθε γραμμή/περιβάλλον).
value Μια σταθερά value να συμφωνεί με τα αποτελέσματα του expression.
result Οποιαδήποτε ανυσματική παράσταση προς αξιολόγηση if τα αποτελέσματα της expression συμφωνεί με την αντίστοιχη value.
else Οποιαδήποτε ανυσματική παράσταση προς αξιολόγηση if το αποτέλεσμα της expression δεν συμφωνεί με κανένα από τα value ορίσματα.

Επιστροφή value

If υπάρχει αντιστοιχία με ένα value, επιστρέφεται μια ανυσματική value από την αντίστοιχη result. If δεν υπάρχει αντιστοιχία με ένα value, επιστρέφεται μια value από else. If none της values αντιστοίχισης δεν έχει καθοριστεί andelse, επιστρέφεται BLANK.

Παρατηρήσεις

  • Το expression προς αξιολόγηση μπορεί να είναι μια σταθερά valueor μια παράσταση. Μια συνήθης χρήση αυτής της συνάρτησης είναι ο ορισμός της παραμέτρου first σε TRUE. Δείτε τα παρακάτω παραδείγματα.
  • All result παραστάσεις and η else παράσταση πρέπει να είναι του ίδιου τύπου δεδομένων.
  • Η σειρά των προϋποθέσεων έχει σημασία. Μόλις μία value συμφωνεί, επιστρέφεται η αντίστοιχη resultand άλλες επόμενες values δεν αξιολογούνται. Βεβαιωθείτε ότι οι πιο περιοριστικές values προς αξιολόγηση καθορίζονται πριν από λιγότερο περιοριστικές values. Δείτε τα παρακάτω παραδείγματα.

Παραδείγματα

Μια συνήθης χρήση της SWITCH είναι η σύγκριση expression με σταθερές values. Το παρακάτω παράδειγμα δημιουργεί μια υπολογιζόμενη στήλη ονομάτων month:

= SWITCH (
         [Month Number Of Year],
         1, "January",
         2, "February",
         3, "March",
         4, "April",
         5, "May",
         6, "June",
         7, "July",
         8, "August",
         9, "September",
         10, "October",
         11, "November",
         12, "December",
         "Unknown month number"
        )

Μια άλλη συνήθης χρήση του SWITCH είναι η replace πολλών ένθετης IFstatements. Αυτό επιτυγχάνεται ορίζοντας την παράσταση σε TRUE, όπως φαίνεται στο παρακάτω παράδειγμα, η οποία συγκρίνει το επίπεδο αποθέματος and σημείου αναδιάταξης and επιπέδου αποθέματος ασφαλείας στα προϊόντα για τον εντοπισμό πιθανών κινδύνων από την εξαντλημένη απόθεμα:

= SWITCH (
        TRUE,
        [Reorder Point] > [Safety Stock Level], "Good: Safety stock level exceeded",
        [Reorder Point] = [Safety Stock Level], "Minimal: Safety stock level met",
        [Reorder Point] < [Safety Stock Level], "At risk: Safety stock level not met",
        ISBLANK ( [Reorder Point] ), "Incomplete: Reorder point not set",
        ISBLANK ( [Safety Stock Level] ), "Incomplete: Safety stock level not set",
        "Unknown"
        )

Η σειρά των values έχει σημασία. Στο παρακάτω παράδειγμα, η secondresult δεν επιστρέφεται ποτέ, επειδή η firstvalue είναι λιγότερο περιοριστική από την second. Το αποτέλεσμα σε αυτό το παράδειγμα είναι πάντα AorC, αλλά ποτέ δεν B.

= SWITCH (
         TRUE,
         Product[Standard Cost] < 100, "A",
         Product[Standard Cost] < 10, "B",
         "C"
         )

Η ακόλουθη πρόταση επιστρέφει μια error καθώς οι τύποι δεδομένων στα result ορίσματα είναι διαφορετικοί. Να θυμάστε ότι οι τύποι δεδομένων σε allresultandelse ορίσματα πρέπει να είναι ίδιοι.

= SWITCH (
        [Class],
        "L", "Large",
        "H", 0.1
        )