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


RANK

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

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

Σύνταξη

RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )

Παραμέτρους

Όρος Ορισμός
ties (Προαιρετικό) Καθορίζει τον τρόπο χειρισμού της κατάταξης όταν δύο ή περισσότερες γραμμές είναι συνδεδεμένες.
Εάν καθοριστεί, η υποστηριζόμενη τιμή είναι είτε ΠΥΚΝΗ είτε SKIP.
Εάν παραλειφθεί:
- Επιστρέφει την τιμή SKIP
relation (Προαιρετικό) Μια παράσταση πίνακα από την οποία επιστρέφεται η γραμμή εξόδου.
Εάν καθοριστεί, όλες οι στήλες στο orderBy και partitionBy πρέπει να προέρχονται από αυτή.
Εάν παραλειφθεί:
- orderBy πρέπει να καθοριστεί ρητά.
- Όλες οι orderBy και partitionBy στήλες πρέπει να είναι πλήρως προσδιορισμένες και να προέρχονται από έναν μόνο πίνακα.
- Η προεπιλεγμένη τιμή ALLSELECTED() όλων των στηλών στα orderBy και partitionBy.
axis (Προαιρετικό) Ένας άξονας στο σχήμα απεικόνισης. Διατίθεται μόνο σε υπολογισμούς απεικονίσεων και αντικαθιστά relation.
orderBy (Προαιρετικό) Ένας όρος ORDERBY() που περιέχει τις στήλες που ορίζουν τον τρόπο ταξινόμησης κάθε διαμερίσματος.
Εάν παραλειφθεί:
- relation πρέπει να καθοριστεί ρητά.
- Ορίζει από προεπιλογή την ταξινόμηση βάσει κάθε στήλης σε relation που δεν έχει ήδη καθοριστεί στο partitionBy.
blanks (Προαιρετικό) Μια απαρίθμηση που ορίζει τον τρόπο χειρισμού κενών τιμών κατά την ταξινόμηση του relation ή του axis.
Οι υποστηριζόμενες τιμές είναι:
  • DEFAULT (η προεπιλεγμένη τιμή), όπου η συμπεριφορά για τις αριθμητικές τιμές είναι κενές τιμές, ταξινομούνται μεταξύ μηδέν και αρνητικών τιμών. Η συμπεριφορά για τις συμβολοσειρές είναι ότι οι κενές τιμές ταξινομούνται πριν από όλες τις συμβολοσειρές, συμπεριλαμβανομένων των κενών συμβολοσειρών.
  • FIRST, τα κενά ταξινομούνται πάντα στην αρχή, ανεξάρτητα από την αύξουσα ή φθίνουσα σειρά ταξινόμησης.
  • LAST, τα κενά ταξινομούνται πάντα στο τέλος, ανεξάρτητα από την αύξουσα ή φθίνουσα σειρά ταξινόμησης.

Σημείωση, όταν η παράμετρος blanks και τα κενά στην ORDERBY() συνάρτηση σε μεμονωμένες παραστάσεις καθορίζονται και τα δύο, blanks στη μεμονωμένη παράσταση orderBy έχει προτεραιότητα για τη σχετική παράσταση orderBy και οι παραστάσεις orderBy χωρίς να έχουν καθοριστεί blanks θα τηρηθεί η παράμετρος blanks στη γονική συνάρτηση.
partitionBy (Προαιρετικό) Ένας όρος () που περιέχει τις στήλες που καθορίζουν τον τρόπο διαμερισμού . Εάν παραλειφθεί, relation αντιμετωπίζεται ως ένα ενιαίο διαμέρισμα.
matchBy (Προαιρετικό) Ένας MATCHBY() όρος που περιέχει τις στήλες που ορίζουν τον τρόπο αντιστοίχισης δεδομένων και αναγνώρισης της τρέχουσας γραμμής.
reset (Προαιρετικό) Διατίθεται μόνο σε υπολογισμούς απεικονίσεων. Υποδεικνύει εάν γίνεται επαναφορά του υπολογισμού και σε ποιο επίπεδο της ιεραρχίας στηλών του σχήματος απεικόνισης. Οι αποδεκτές τιμές είναι: μια αναφορά πεδίου σε μια στήλη στο τρέχον σχήμα απεικόνισης, NONE (προεπιλογή), LOWESTPARENT, HIGHESTPARENTή ακέραιος. Η συμπεριφορά εξαρτάται από το σύμβολο ακέραιου:
- Εάν δεν είναι μηδέν ή παραλειφθεί, ο υπολογισμός δεν επαναφέρεται. Ισοδύναμο με NONE.
- Εάν είναι θετικό, ο ακέραιος αναγνωρίζει τη στήλη ξεκινώντας από την υψηλότερη, ανεξάρτητα από το επίπεδο λεπτομέρειας. HIGHESTPARENT ισοδυναμεί με 1.
- Εάν είναι αρνητικό, ο ακέραιος αναγνωρίζει τη στήλη ξεκινώντας από τη χαμηλότερη, σε σχέση με το τρέχον επίπεδο. LOWESTPARENT ισοδυναμεί με -1.

Τιμή επιστροφής

Ο αριθμός κατάταξης για το τρέχον περιβάλλον.

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

  • Κάθε orderBy, partitionByκαι matchBy στήλη πρέπει να έχει μια αντίστοιχη εξωτερική τιμή που σας βοηθά να ορίσετε την τρέχουσα γραμμή στην οποία θα λειτουργήσει, με την ακόλουθη συμπεριφορά:

    • Εάν υπάρχει ακριβώς μία αντίστοιχη εξωτερική στήλη, χρησιμοποιείται η τιμή της.
    • Εάν δεν υπάρχει αντίστοιχη εξωτερική στήλη, τότε:
      • RANK θα καθορίσει πρώτα όλες τις orderBy, partitionByκαι matchBy στήλες που δεν έχουν αντίστοιχη εξωτερική στήλη.
      • Για κάθε συνδυασμό υπαρχουσών τιμών για αυτές τις στήλες σε RANK γονικό περιβάλλον, αξιολογείται RANK και επιστρέφεται μια γραμμή.
      • Το τελικό αποτέλεσμα της RANKείναι ένας αριθμός κατάταξης.
  • Εάν υπάρχει matchBy, τότε RANK θα προσπαθήσει να χρησιμοποιήσει στήλες στο matchBy και partitionBy για να προσδιορίζει την τρέχουσα γραμμή.

  • Εάν οι στήλες που καθορίζονται εντός των orderBy και partitionBy δεν μπορούν να αναγνωρίσουν με μοναδικό τρόπο κάθε γραμμή σε relation, τότε δύο ή περισσότερες γραμμές μπορεί να έχουν την ίδια κατάταξη και η κατάταξη θα καθοριστεί από την παράμετρο ισοβαθμιών.

  • RANK επιστρέφει μια κενή τιμή για τις συνολικές γραμμές. Συνιστάται να ελέγχετε προσεκτικά την παραστάσεις.

  • RANK δεν συγκρίνεται με RANKX, καθώς το SUM συγκρίνεται με το SUMX.

  • reset μπορούν να χρησιμοποιηθούν μόνο σε υπολογισμούς απεικονίσεων και δεν μπορούν να χρησιμοποιηθούν σε συνδυασμό με orderBy ή partitionBy. Εάν υπάρχει reset, μπορεί να καθοριστεί axis, αλλά δεν relation.

Παράδειγμα 1 - υπολογιζόμενη στήλη

Το παρακάτω DAX ερώτημα:

EVALUATE
ADDCOLUMNS(
    'DimGeography',
    "Rank",
    RANK(
    	DENSE,
    	'DimGeography',
    	ORDERBY(
    		'DimGeography'[StateProvinceName], desc,
    		'DimGeography'[City], asc),
        LAST,
    	PARTITIONBY(
    		'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc

Επιστρέφει έναν πίνακα που κατατάσσει κάθε γεωγραφική τοποθεσία με το ίδιο EnglishCountryRegionName, κατά StateProvinceName και City. Οι κενές orderBy τιμές στήλης ταξινομούνται στο τέλος.

Παράδειγμα 2 - υπολογισμός απεικόνισης

Ο παρακάτω υπολογισμός απεικόνισης DAX ερωτήματα:

SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))

SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))

Δημιουργήστε δύο στήλες που κατατάσσονται κάθε μήνα με βάση τις συνολικές πωλήσεις, τόσο εντός κάθε έτους όσο και ολόκληρο το ιστορικό.

Το παρακάτω στιγμιότυπο οθόνης εμφανίζει τη μήτρα απεικόνισης και την πρώτη παράσταση υπολογισμού απεικόνισης:

υπολογισμού απεικόνισης

INDEX ORDERBY PARTITIONBY WINDOW ROWNUMBER