RANKX
Ισχύει για:Υπολογιζόμενη στήληΥπολογιζόμενος πίνακαςΜέτρηση υπολογισμού απεικόνισης
Επιστρέφει την κατάταξη ενός αριθμού σε μια λίστα αριθμών για κάθε γραμμή στο όρισμα table
.
Σύνταξη
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
Παράμετροι
table
παράσταση Any DAX που επιστρέφει έναν πίνακα δεδομένων μέσω του οποίου υπολογίζεται η παράσταση.
expression
παράσταση Any DAX που επιστρέφει μια μοναδική ανυσματική τιμή. Η παράσταση αξιολογείται για κάθε γραμμή του table
, για να δημιουργήσει όλες τις πιθανές τιμές για κατάταξη. Ανατρέξτε στην ενότητα "Παρατηρήσεις" για να κατανοήσετε τη συμπεριφορά της συνάρτησης όταν expression
αξιολογείται ως BLANK.
value
(Προαιρετικό) Οποιαδήποτε DAX παράσταση που επιστρέφει μια μοναδική ανυσματική τιμή της οποίας η κατάταξη πρέπει να βρεθεί. Για να κατανοήσετε τη συμπεριφορά της συνάρτησης, όταν δεν βρεθεί value
στην παράσταση, ανατρέξτε στην ενότητα "Παρατηρήσεις".
Όταν παραλειφθεί η παράμετρος value
, αντί για αυτό χρησιμοποιείται η τιμή της παράστασης στην τρέχουσα γραμμή.
order
(Προαιρετικό) Μια τιμή που καθορίζει τον τρόπο κατάταξης value
, από χαμηλή προς υψηλή ή από υψηλή προς χαμηλή:
τιμή | εναλλακτική τιμή | Περιγραφή |
---|---|---|
0 (μηδέν) | FALSE |
Ταξινομεί σε φθίνουσα σειρά τις τιμές της παράστασης. Εάν η τιμή ισούται με τον μεγαλύτερο αριθμό στην παράσταση, τότε RANKX επιστρέφει 1. Αυτή είναι η προεπιλεγμένη τιμή όταν παραλειφθεί η παράμετρος σειράς. |
1 | TRUE |
Ταξινομεί σε αύξουσα σειρά την παράσταση. Εάν η τιμή ισούται με τον μικρότερο αριθμό στην παράσταση, τότε RANKX επιστρέφει 1. |
ties
(Προαιρετικό) Μια απαρίθμηση που ορίζει τον τρόπο προσδιορισμού της κατάταξης όταν υπάρχουν δεσμοί.
απαρίθμηση | Περιγραφή |
---|---|
Skip |
Η επόμενη τιμή κατάταξης, μετά από έναν δεσμό, είναι η τιμή κατάταξης του δεσμού συν το πλήθος των δεσμευμένων τιμών. Για παράδειγμα, εάν είναι συνδεδεμένες πέντε (5) τιμές με κατάταξη 11, τότε η επόμενη τιμή θα λάβει την κατάταξη 16 (11 + 5). Αυτή είναι η προεπιλεγμένη τιμή όταν παραλειφθεί ties παράμετρος. |
Dense |
Η επόμενη τιμή κατάταξης, μετά από έναν δεσμό, είναι η επόμενη τιμή κατάταξης. Για παράδειγμα, εάν είναι συνδεδεμένες πέντε (5) τιμές με κατάταξη 11, τότε η επόμενη τιμή θα λάβει την κατάταξη 12. |
Τιμή επιστροφής
Ο αριθμός κατάταξης των value
μεταξύ όλων των πιθανών τιμών των expression
, οι οποίες αξιολογήθηκαν για όλες τις γραμμές table
αριθμών.
Παρατηρήσεις
Εάν
expression
ήvalue
αποδίδει BLANK αντιμετωπίζεται ως 0 (μηδέν) για όλες τις παραστάσεις που έχουν ως αποτέλεσμα έναν αριθμό ή ως κενό κείμενο για όλες τις παραστάσεις κειμένου.Εάν το
value
δεν είναι μεταξύ όλων των πιθανών τιμών τουexpression
τότε RANKX προσθέτει προσωρινάvalue
στις τιμές απόexpression
και αξιολογεί εκ νέου RANKX για να προσδιορίσει τη σωστή κατάταξη τουvalue
.Μπορείτε να παραλείψετε τα προαιρετικά ορίσματα τοποθετώντας ένα κενό κόμμα (,) στη λίστα ορισμάτων, όπως
RANKX(Inventory, [InventoryCost],,,"Dense")
.Συγκρίσεις που σχετίζονται με ισότητα (
=
,<
,>
,>=
και<=
) μεταξύ τιμών με τον δεκαδικό αριθμό τύπο δεδομένων μπορεί πιθανώς να επιστρέψει μη αναμενόμενα αποτελέσματα κατά τη χρήση RANKX συνάρτησης. Μπορεί να προκύψουν εσφαλμένα αποτελέσματα καθώς οι τιμές με δεκαδικό αριθμό τύπο δεδομένων αποθηκεύονται ως αριθμοί κινητής υποδιαστολής IEEE Standard 754 και έχουν εγγενείς περιορισμούς στην ακρίβειά τους. Για να αποφύγετε μη αναμενόμενα αποτελέσματα, αλλάξτε τον τύπο δεδομένων σε Δεκαδικός αριθμός σταθερής υποδιαστολής ή κάντε αναγκαστική στρογγυλοποίηση χρησιμοποιώντας ROUND.Αυτή η συνάρτηση δεν υποστηρίζεται για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες ή σε κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).
Παράδειγμα
Η ακόλουθη υπολογιζόμενη στήλη στον πίνακα Προϊόντα υπολογίζει την κατάταξη πωλήσεων για κάθε προϊόν στο κανάλι Internet.
= RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))