Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Ισχύει για:
Υπολογιζόμενη στήλη
Υπολογιζόμενος πίνακας
Μέτρηση
υπολογισμού απεικόνισης
Αξιολογεί μια παράσταση σε σχέση με μια λίστα τιμών και επιστρέφει μία από τις πολλές πιθανές παραστάσεις αποτελέσματος. Αυτή η συνάρτηση μπορεί να χρησιμοποιηθεί για να αποφύγετε την ύπαρξη πολλών ένθετών IF δηλώσεων.
Σύνταξη
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
Παράμετροι
| Όρος | Ορισμός |
|---|---|
expression |
Οποιαδήποτε παράσταση DAX που επιστρέφει μια μοναδική ανυσματική τιμή όπου η παράσταση πρέπει να αξιολογηθεί πολλές φορές (για κάθε γραμμή/περιβάλλον). |
value |
Μια σταθερά που θα αντιστοιχιστεί με τα αποτελέσματα του expression. |
result |
Οποιαδήποτε ανυσματική παράσταση προς αξιολόγηση εάν τα αποτελέσματα του expression συμφωνούν με την αντίστοιχη value. |
else |
Οποιαδήποτε ανυσματική παράσταση προς αξιολόγηση εάν το αποτέλεσμα της expression δεν συμφωνεί με κανένα από τα value ορίσματα. |
Τιμή επιστροφής
Εάν υπάρχει αντιστοιχία με ένα value, επιστρέφεται μια ανυσματική τιμή από την αντίστοιχη result. Εάν δεν υπάρχει αντιστοιχία με ένα value, επιστρέφεται μια τιμή από else. Εάν δεν καθοριστεί καμία από τις values και δεν έχει καθοριστεί else, επιστρέφεται BLANK.
Παρατηρήσεις
- Το
expressionπρος αξιολόγηση μπορεί να είναι μια σταθερή τιμή ή μια παράσταση. Μια συνήθης χρήση αυτής της συνάρτησης είναι ο ορισμός της πρώτης παραμέτρου σεTRUE. Δείτε τα παρακάτω παραδείγματα. - Όλες οι
resultπαραστάσεις και ηelseπαράσταση πρέπει να έχουν τον ίδιο τύπο δεδομένων. - Η σειρά των προϋποθέσεων έχει σημασία. Μόλις μία
valueσυμφωνεί, επιστρέφεται η αντίστοιχηresultκαι άλλες επόμενεςvaluesδεν αξιολογούνται. Βεβαιωθείτε ότι οι πιο περιοριστικέςvaluesπρος αξιολόγηση καθορίζονται πριν από λιγότερο περιοριστικέςvalues. Δείτε τα παρακάτω παραδείγματα.
Παραδείγματα
Μια συνήθης χρήση της SWITCH είναι η σύγκριση expression με σταθερές values. Το παρακάτω παράδειγμα δημιουργεί μια υπολογιζόμενη στήλη ονομάτων μηνών:
= 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, όπως φαίνεται στο παρακάτω παράδειγμα, η οποία συγκρίνει το επίπεδο αποθέματος αναδιάταξης και ασφάλειας σε προϊόντα για τον εντοπισμό πιθανών κινδύνων από την εξαντλημένη απόθεμα:
= 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 έχει σημασία. Στο παρακάτω παράδειγμα, η δεύτερη result δεν επιστρέφεται ποτέ, επειδή η πρώτη τιμή είναι λιγότερο περιοριστική από τη δεύτερη. Το αποτέλεσμα σε αυτό το παράδειγμα είναι πάντα A ή C, αλλά ποτέ δεν B.
= SWITCH (
TRUE,
Product[Standard Cost] < 100, "A",
Product[Standard Cost] < 10, "B",
"C"
)
Η ακόλουθη πρόταση επιστρέφει ένα σφάλμα, επειδή οι τύποι δεδομένων στα result ορίσματα είναι διαφορετικοί. Να θυμάστε ότι οι τύποι δεδομένων σε όλες result και else ορίσματα πρέπει να είναι ίδιοι.
= SWITCH (
[Class],
"L", "Large",
"H", 0.1
)