ALLNOBLANKROW
Ισχύει για: Υπολογισμός απεικόνισης υπολογιζόμενης στήλης υπολογιζόμενου πίνακα Μέτρηση
Από τον γονικό πίνακα μιας σχέσης, επιστρέφει όλες τις γραμμές εκτός από την κενή γραμμή ή όλες τις διακριτές τιμές μιας στήλης εκτός από την κενή γραμμή και δεν λαμβάνει υπόψη τυχόν φίλτρα περιβάλλοντος που μπορεί να υπάρχουν.
Σύνταξη
ALLNOBLANKROW( {<table> | <column>[, <column>[, <column>[,…]]]} )
Παράμετροι
Όρος | Ορισμός |
---|---|
πίνακας | Ο πίνακας στον οποίο καταργούνται όλα τα φίλτρα περιβάλλοντος. |
στήλη | Μια στήλη στην οποία καταργούνται όλα τα φίλτρα περιβάλλοντος. |
Πρέπει να διαβιβαστεί μόνο μία παράμετρος. Η παράμετρος είναι είτε πίνακας είτε στήλη.
Επιστρεφόμενη αξία
Ένας πίνακας, όταν η παράμετρος που διαβιβάστηκε ήταν ένας πίνακας ή μια στήλη τιμών, όταν η παράμετρος που διαβιβάστηκε ήταν στήλη.
Παρατηρήσεις
Η συνάρτηση ALLNOBLANKROW φιλτράρει μόνο την κενή γραμμή που θα εμφανίζει ένας γονικός πίνακας, σε μια σχέση, όταν υπάρχουν μία ή περισσότερες γραμμές στον θυγατρικό πίνακα που έχουν τιμές που δεν συμφωνούν με τη γονική στήλη. Δείτε το παρακάτω παράδειγμα για μια λεπτομερή επεξήγηση.
Ο παρακάτω πίνακας συνοψίζει τις παραλλαγές ΌΛΩΝ των στοιχείων που παρέχονται στο DAX και τις διαφορές τους:
Συνάρτηση και χρήση Περιγραφή ALL(Στήλη) Καταργεί όλα τα φίλτρα από την καθορισμένη στήλη στον πίνακα. όλα τα άλλα φίλτρα στον πίνακα, σε σχέση με άλλες στήλες, εξακολουθούν να ισχύουν. ALL(Table) Καταργεί όλα τα φίλτρα από τον καθορισμένο πίνακα. ALLEXCEPT(Table,Col1,Col2...) Παρακάμπτει όλα τα φίλτρα περιβάλλοντος του πίνακα εκτός από αυτά στις καθορισμένες στήλες. ALLNOBLANK(table|column) Από τον γονικό πίνακα μιας σχέσης, επιστρέφει όλες τις γραμμές εκτός από την κενή γραμμή ή όλες τις διακριτές τιμές μιας στήλης εκτός από την κενή γραμμή και δεν λαμβάνει υπόψη τυχόν φίλτρα περιβάλλοντος που μπορεί να υπάρχουν Για μια γενική περιγραφή του τρόπου λειτουργίας της συνάρτησης ALL, μαζί με παραδείγματα βήμα προς βήμα που χρησιμοποιούν την ALL(Table) και την ALL(Column), ανατρέξτε στο θέμα Συνάρτηση ALL.
Αυτή η συνάρτηση δεν υποστηρίζεται για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες ή σε κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).
Παράδειγμα
Στο δείγμα δεδομένων, ο ResellerSales_USD πίνακας περιέχει μία γραμμή που δεν έχει τιμές και, επομένως, δεν μπορεί να σχετίζεται με κανέναν από τους γονικές πίνακες στις σχέσεις μέσα στο βιβλίο εργασίας. Θα χρησιμοποιήσετε αυτόν τον πίνακα σε έναν Συγκεντρωτικό Πίνακα, ώστε να μπορείτε να δείτε τη συμπεριφορά κενής γραμμής και τον τρόπο χειρισμού των καταμετρημάτων σε μη συσχετισμένο δεδομένα.
Βήμα 1: Επαλήθευση των μη σχετιζόμενων δεδομένων
Ανοίξτε το παράθυρο Power Pivot και, στη συνέχεια, επιλέξτε τον πίνακα ResellerSales_USD. Στη στήλη ProductKey, φιλτράρετε για κενές τιμές. Θα παραμείνει μία γραμμή. Σε αυτή τη γραμμή, όλες οι τιμές στήλης θα πρέπει να είναι κενές εκτός από τη SalesOrderLineNumber.
Βήμα 2: Δημιουργία συγκεντρωτικού πίνακα
Δημιουργήστε έναν νέο Συγκεντρωτικό Πίνακα και, στη συνέχεια, σύρετε τη στήλη ημερομηνία/ώρα. [Ημερολογιακό έτος], στο τμήμα παραθύρου Ετικέτες γραμμών. Ο παρακάτω πίνακας εμφανίζει τα αναμενόμενα αποτελέσματα:
Ετικέτες γραμμών |
---|
2005 |
2006 |
2007 |
2008 |
Γενικό σύνολο |
Σημειώστε την κενή ετικέτα μεταξύ 2008 και Γενικό σύνολο. Αυτή η κενή ετικέτα αντιπροσωπεύει το Άγνωστο μέλος, το οποίο είναι μια ειδική ομάδα που δημιουργείται για να ληφθούν υπόψη οι τιμές στον θυγατρικό πίνακα που δεν έχουν αντίστοιχη τιμή στον γονικό πίνακα, σε αυτό το παράδειγμα την ημερομηνία/ώρα. Στήλη [Calendar Year].
Όταν δείτε αυτή την κενή ετικέτα στον Συγκεντρωτικό πίνακα, γνωρίζετε ότι ορισμένοι από τους πίνακες που σχετίζονται με τη στήλη, datetime. [Ημερολογιακό έτος], υπάρχουν είτε κενές τιμές είτε τιμές που δεν συμφωνούν. Ο γονικός πίνακας είναι αυτός που εμφανίζει την κενή ετικέτα, αλλά οι γραμμές που δεν συμφωνούν βρίσκονται σε έναν ή περισσότερους θυγατρικούς πίνακες.
Οι γραμμές που προστίθενται σε αυτή την κενή ομάδα ετικετών είναι είτε τιμές που δεν συμφωνούν με καμία τιμή στον γονικό πίνακα, για παράδειγμα, μια ημερομηνία που δεν υπάρχει στον πίνακα ημερομηνίας/ώρας, είτε τιμές null, που σημαίνει ότι δεν υπάρχει τιμή για την ημερομηνία. Σε αυτό το παράδειγμα, έχουμε τοποθετήσει μια κενή τιμή σε όλες τις στήλες του θυγατρικού πίνακα Sales. Η ύπαρξη περισσότερων τιμών στον γονικό πίνακα από ότι στους θυγατρικούς πίνακες δεν προκαλεί πρόβλημα.
Βήμα 3: Μέτρηση γραμμών με χρήση των στοιχείων ALL και ALLNOBLANK
Προσθέστε τις ακόλουθες δύο μετρήσεις στον πίνακα ημερομηνίας/ώρας, για να μετρήσετε τις γραμμές του πίνακα: Countrows ALLNOBLANK of datetime, Countrows ALL of datetime. Οι τύποι που μπορείτε να χρησιμοποιήσετε για να ορίσετε αυτές τις μετρήσεις είναι οι εξής:
// Countrows ALLNOBLANK of datetime
= COUNTROWS(ALLNOBLANKROW('DateTime'))
// Countrows ALL of datetime
= COUNTROWS(ALL('DateTime'))
// Countrows ALLNOBLANKROW of ResellerSales_USD
= COUNTROWS(ALLNOBLANKROW('ResellerSales_USD'))
// Countrows ALL of ResellerSales_USD
= COUNTROWS(ALL('ResellerSales_USD'))
Σε έναν κενό Συγκεντρωτικό Πίνακα προσθέστε ημερομηνία/ώρα. Στήλη [Calendar Year] στις ετικέτες γραμμών και, στη συνέχεια, προσθέστε τις μετρήσεις που μόλις δημιουργήσατε. Τα αποτελέσματα θα πρέπει να μοιάζουν με τον παρακάτω πίνακα:
Ετικέτες γραμμών | Countrows ALLNOBLANK of datetime | Countrows ALL of datetime |
---|---|---|
2005 | 1280 | 1281 |
2006 | 1280 | 1281 |
2007 | 1280 | 1281 |
2008 | 1280 | 1281 |
1280 | 1281 | |
Γενικό σύνολο | 1280 | 1281 |
Τα αποτελέσματα εμφανίζουν διαφορά 1 γραμμής στο πλήθος γραμμών πίνακα. Ωστόσο, εάν ανοίξετε το παράθυρο Power Pivot και επιλέξετε τον πίνακα ημερομηνίας/ώρας, δεν μπορείτε να βρείτε καμία κενή γραμμή στον πίνακα, επειδή η ειδική κενή γραμμή που αναφέρεται εδώ είναι το Άγνωστο μέλος.
Βήμα 4: Επαληθεύστε ότι το πλήθος είναι ακριβές
Για να αποδείξετε ότι το ALLNOBLANKROW δεν υπολογίζει πραγματικά κενές γραμμές και χειρίζεται μόνο την ειδική κενή γραμμή μόνο στον γονικό πίνακα, προσθέστε τις ακόλουθες δύο μετρήσεις στον πίνακα ResellerSales_USD: Countrows ALLNOBLANKROW of ResellerSales_USD, Countrows ALL of ResellerSales_USD.
Δημιουργήστε έναν νέο Συγκεντρωτικό Πίνακα και σύρετε τη στήλη ημερομηνία/ώρα. [Ημερολογιακό έτος], στο τμήμα παραθύρου Ετικέτες γραμμών. Προσθέστε τώρα τις μετρήσεις που μόλις δημιουργήσατε. Τα αποτελέσματα θα πρέπει να μοιάζουν με τα εξής:
Ετικέτες γραμμών | Countrows ALLNOBLANKROW of ResellerSales_USD | Countrows ALL of ResellerSales_USD |
---|---|---|
2005 | 60856 | 60856 |
2006 | 60856 | 60856 |
2007 | 60856 | 60856 |
2008 | 60856 | 60856 |
60856 | 60856 | |
Γενικό σύνολο | 60856 | 60856 |
Τώρα, οι δύο μετρήσεις έχουν τα ίδια αποτελέσματα. Αυτό συμβαίνει επειδή η συνάρτηση ALLNOBLANKROW δεν υπολογίζει τις πραγματικά κενές γραμμές σε έναν πίνακα, αλλά χειρίζεται μόνο την κενή γραμμή που είναι μια ειδική περίπτωση που δημιουργείται σε έναν γονικό πίνακα, όταν ένας ή περισσότεροι από τους θυγατρικούς πίνακες στη σχέση περιέχουν τιμές που δεν συμφωνούν ή κενές τιμές.