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


ΑΡΙΘΜΌς ΓΡΑΜΜΏΝ

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

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

Σύνταξη

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

Παράμετροι

Όρος Ορισμός
σχέση (Προαιρετικό) Μια παράσταση πίνακα από την οποία επιστρέφεται η γραμμή εξόδου.
Εάν καθοριστεί, όλες οι στήλες του <orderBy> και <του partitionBy> πρέπει να προέρχονται από αυτή.
Εάν παραλειφθεί:
- <η παράμετρος orderBy> πρέπει να καθοριστεί ρητά.
- Όλες οι <στήλες orderBy> και <partitionBy> πρέπει να είναι πλήρως προσδιορισμένες και να προέρχονται από έναν μόνο πίνακα.
- Λαμβάνει από προεπιλογή την ALLSELECTED() όλων των στηλών σε <orderBy> και <partitionBy>.
άξονας (Προαιρετικό) Ένας άξονας στο σχήμα απεικόνισης. Διατίθεται μόνο σε υπολογισμούς απεικονίσεων και αντικαθιστά <τη σχέση>.
orderBy (Προαιρετικό) Ένας όρος ORDERBY() που περιέχει τις στήλες που ορίζουν τον τρόπο ταξινόμησης κάθε διαμερίσματος.
Εάν παραλειφθεί:
- <η σχέση> πρέπει να καθοριστεί ρητά.
- Ορίζει από προεπιλογή την ταξινόμηση από κάθε στήλη σε <σχέση> που δεν έχει ήδη καθοριστεί στο <partitionBy>.
Κενά (Προαιρετικό) Μια απαρίθμηση που ορίζει τον τρόπο χειρισμού κενών τιμών κατά την ταξινόμηση.
Οι υποστηριζόμενες τιμές είναι:
  • DEFAULT (η προεπιλεγμένη τιμή), όπου η συμπεριφορά για τις αριθμητικές τιμές είναι κενές τιμές, ταξινομούνται μεταξύ μηδέν και αρνητικών τιμών. Η συμπεριφορά για τις συμβολοσειρές είναι ότι οι κενές τιμές ταξινομούνται πριν από όλες τις συμβολοσειρές, συμπεριλαμβανομένων των κενών συμβολοσειρών.
  • ΑΡΧΙΚΑ, τα κενά ταξινομούνται πάντα στην αρχή, ανεξάρτητα από την αύξουσα ή φθίνουσα σειρά ταξινόμησης.
  • LAST, τα κενά ταξινομούνται πάντα στο τέλος, ανεξάρτητα από την αύξουσα ή φθίνουσα σειρά ταξινόμησης.

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

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

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

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

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

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

Εάν <υπάρχει η επιλογή matchBy> , τότε η ROWNUMBER θα προσπαθήσει να χρησιμοποιήσει στήλες στα <matchBy> και <partitionBy> για την ιδιότητά της στην τρέχουσα γραμμή.
Εάν οι στήλες που καθορίζονται στο <στοιχείο orderBy> και <partitionBy> δεν μπορούν να αναγνωρίσουν με μοναδικό τρόπο κάθε γραμμή σε <σχέση>, τότε:

  • Η συνάρτηση ROWNUMBER θα προσπαθήσει να βρει τον ελάχιστο αριθμό πρόσθετων στηλών που απαιτούνται για τη μοναδική αναγνώριση κάθε γραμμής.
  • Εάν είναι δυνατή η ανιχνευσή τέτοιων στηλών, η ROWNUMBER θα
    • Προσπαθήστε να βρείτε τον ελάχιστο αριθμό πρόσθετων στηλών που απαιτούνται για τη μοναδική αναγνώριση κάθε γραμμής.
    • Προσαρτήστε αυτόματα αυτές τις νέες στήλες στον <όρο orderBy> .
    • Ταξινομήστε κάθε διαμέρισμα χρησιμοποιώντας αυτό το νέο σύνολο στηλών orderBy.
  • Εάν δεν είναι δυνατή η εντοπισμός τέτοιων στηλών και η συνάρτηση εντοπίσει δεσμό κατά τον χρόνο εκτέλεσης, επιστρέφεται σφάλμα.

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

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

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

EVALUATE
ADDCOLUMNS(
    'DimGeography',
    "UniqueRank",
    ROWNUMBER(
    	'DimGeography',
    	ORDERBY(
    		'DimGeography'[StateProvinceName], desc,
    		'DimGeography'[City], asc),
    	PARTITIONBY(
    		'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc

Επιστρέφει έναν πίνακα που κατατάσσει μοναδικά κάθε γεωγραφική τοποθεσία με το ίδιο EnglishCountryRegionName, κατά τα StateProvinceName και City.

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

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

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

SalesRankAllHistory = ROWNUMBER(ORDERBY([SalesAmount], DESC))

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

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

Υπολογισμός απεικόνισης DAX

ΕΥΡΕΤΉΡΙΟ
ORDERBY
PARTITIONBY
ΠΑΡΆΘΥΡΟ
ΒΑΘΜΌΣ