ΔΙΑΚΌΠΤΗ

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

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

Σύνταξη

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

Παράμετροι

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

Επιστρεφόμενη αξία

Εάν υπάρχει αντιστοιχία με μια τιμή, επιστρέφεται μια ανυσματική τιμή από το αντίστοιχο αποτέλεσμα . Εάν δεν υπάρχει αντιστοιχία με μια τιμή, επιστρέφεται μια τιμή από την άλλη . Εάν καμία από τις τιμές δεν συμφωνεί και δεν έχει καθοριστεί κάποια άλλη τιμή, επιστρέφεται BLANK.

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

  • Η παράσταση προς αξιολόγηση μπορεί να είναι μια τιμή σταθεράς ή μια παράσταση. Μια συνήθης χρήση αυτής της συνάρτησης είναι ο ορισμός της πρώτης παραμέτρου σε TRUE. Δείτε τα παρακάτω παραδείγματα.
  • Όλες οι παραστάσεις αποτελεσμάτων και η παράσταση else πρέπει να έχουν τον ίδιο τύπο δεδομένων.
  • Η σειρά των προϋποθέσεων έχει σημασία. Μόλις αντιστοιχιστεί μία τιμή, επιστρέφεται το αντίστοιχο αποτέλεσμα και άλλες επόμενες τιμές δεν αξιολογούνται. Βεβαιωθείτε ότι οι πιο περιοριστικές τιμές προς αξιολόγηση καθορίζονται πριν από τις λιγότερο περιοριστικές τιμές. Δείτε τα παρακάτω παραδείγματα.

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

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

= 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 είναι η αντικατάσταση πολλών ένθετών δηλώσεων IF. Αυτό επιτυγχάνεται ορίζοντας την παράσταση σε TRUE, όπως φαίνεται στο παρακάτω παράδειγμα, η οποία συγκρίνει το Σημείο αναδιάταξης και Θυρίδα ty Επιπέδου αποθέματος σε προϊόντα για τον εντοπισμό πιθανών κινδύνων από την εξαντλημένη απόθεμα:

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


Η σειρά των τιμών έχει σημασία. Στο παρακάτω παράδειγμα, το δεύτερο αποτέλεσμα δεν επιστρέφεται ποτέ, επειδή η πρώτη τιμή είναι λιγότερο περιοριστική από τη δεύτερη. Το αποτέλεσμα σε αυτό το παράδειγμα είναι πάντα "A" ή "C", αλλά ποτέ "B".

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

Η ακόλουθη πρόταση επιστρέφει ένα σφάλμα, επειδή οι τύποι δεδομένων στα ορίσματα που προκύπτουν είναι διαφορετικοί. Να θυμάστε ότι οι τύποι δεδομένων σε όλα τα ορίσματα αποτελέσματος και else πρέπει να είναι ίδιοι.

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