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


ΌΛΟΙ

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

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

Σύνταξη

ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )  

Παράμετροι

Όρος Ορισμός
πίνακας Ο πίνακας στον οποίο θέλετε να γίνει εκκαθάριση των φίλτρων.
στήλη Η στήλη στην οποία θέλετε να γίνει εκκαθάριση των φίλτρων.

Το όρισμα στη συνάρτηση ALL πρέπει να είναι είτε μια αναφορά σε έναν βασικό πίνακα είτε μια αναφορά σε μια στήλη βάσης. Δεν μπορείτε να χρησιμοποιήσετε παραστάσεις πίνακα ή παραστάσεις στήλης με τη συνάρτηση ALL.

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

Ο πίνακας ή η στήλη όπου έχουν καταργηθεί τα φίλτρα.

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

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

  • Η κανονική συμπεριφορά για παραστάσεις DAX που περιέχουν τη συνάρτηση ALL() είναι ότι θα παραβλεφθούν τυχόν φίλτρα που έχουν εφαρμοστεί. Ωστόσο, υπάρχουν ορισμένα σενάρια όπου αυτό δεν ισχύει εξαιτίας του auto-exist, μιας τεχνολογίας DAX που βελτιστοποιεί το φιλτράρισμα προκειμένου να μειωθεί ο όγκος της επεξεργασίας που απαιτείται για ορισμένα ερωτήματα DAX. Ένα παράδειγμα όπου το auto-exist και η ALL() παρέχουν μη αναμενόμενα αποτελέσματα είναι κατά το φιλτράρισμα σε δύο ή περισσότερες στήλες του ίδιου πίνακα (όπως κατά τη χρήση αναλυτών) και υπάρχει μια μέτρηση στον ίδιο πίνακα που χρησιμοποιεί την ALL(). Σε αυτήν την περίπτωση, το auto-exist θα συγχωνεύσει τα πολλαπλά φίλτρα σε ένα και θα φιλτράρει μόνο με βάση τους υπάρχοντες συνδυασμούς τιμών. Λόγω αυτής της συγχώνευσης, η μέτρηση θα υπολογιστεί με βάση τους υπάρχοντες συνδυασμούς τιμών και το αποτέλεσμα θα βασίζεται σε φιλτραρισμένες τιμές αντί για όλες τις τιμές όπως αναμένεται. Για να μάθετε περισσότερα σχετικά με το auto-exist και τις επιπτώσεις του στους υπολογισμούς, ανατρέξτε στο άρθρο του Microsoft MVP Alberto Ferrari Κατανόηση του DAX Auto-Exist στο sql.bi.com.

  • Ο παρακάτω πίνακας περιγράφει πώς μπορείτε να χρησιμοποιήσετε τις συναρτήσεις ALL και ALLEXCEPT σε διάφορα σενάρια.

    Συνάρτηση και χρήση Περιγραφή
    ALL() Καταργεί όλα τα φίλτρα παντού. Η ALL() μπορεί να χρησιμοποιηθεί μόνο για εκκαθάριση φίλτρων, όχι όμως για επιστροφή ενός πίνακα.
    ALL(Table) Καταργεί όλα τα φίλτρα από τον καθορισμένο πίνακα. Στην πραγματικότητα, η συνάρτηση ALL(Table) επιστρέφει όλες τις τιμές του πίνακα, καταργώντας τυχόν φίλτρα που διαφορετικά θα είχαν εφαρμοστεί στο περιβάλλον. Αυτή η συνάρτηση είναι χρήσιμη όταν εργάζεστε με πολλά επίπεδα ομαδοποίησης και θέλετε να δημιουργήσετε έναν υπολογισμό που δημιουργεί μια αναλογία μιας συγκεντρωτικής τιμής προς τη συνολική τιμή. Το πρώτο παράδειγμα δείχνει αυτό το σενάριο.
    ALL (Column[, Column[, ...]]) Καταργεί όλα τα φίλτρα από τις καθορισμένες στήλες του πίνακα. Εξακολουθούν να ισχύουν όλα τα άλλα φίλτρα σε άλλες στήλες του πίνακα. Όλα τα ορίσματα στήλης πρέπει να προέρχονται από τον ίδιο πίνακα. Η παραλλαγή της συνάρτησης ALL(Column) είναι χρήσιμη όταν θέλετε να καταργήσετε τα φίλτρα περιβάλλοντος για μία ή περισσότερες συγκεκριμένες στήλες και να διατηρήσετε όλα τα άλλα φίλτρα περιβάλλοντος. Το δεύτερο και τρίτο παράδειγμα επιδεικνύουν αυτό το σενάριο.
    ALLEXCEPT(Table, Column1 [,Column2]...) Καταργεί όλα τα φίλτρα περιβάλλοντος του πίνακα εκτός από τα φίλτρα που εφαρμόζονται στις καθορισμένες στήλες. Αυτή είναι μια βολική συντόμευση για περιπτώσεις όπου θέλετε να καταργήσετε τα φίλτρα σε πολλές από τις στήλες ενός πίνακα, αλλά όχι σε όλες.
  • Αυτή η συνάρτηση δεν υποστηρίζεται για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες ή σε κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).

Παράδειγμα 1

Υπολογισμός αναλογίας Για πωλήσεις κατηγορίας προς Σύνολο πωλήσεων

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

Ο παρακάτω πίνακας εμφανίζει τα αποτελέσματα όταν μια νέα μέτρηση, Όλες οι αναλογίες πωλήσεων μεταπωλητών, δημιουργείται με χρήση του τύπου που εμφανίζεται στην ενότητα κώδικα. Για να δείτε πώς λειτουργεί αυτό, προσθέστε το πεδίο, CalendarYear, στην περιοχή Ετικέτες γραμμών του Συγκεντρωτικού Πίνακα και προσθέστε το πεδίο, ProductCategoryName, στην περιοχή Ετικέτες στηλών . Στη συνέχεια, σύρετε τη μέτρηση, Όλες οι αναλογίες πωλήσεων μεταπωλητών, στην περιοχή Τιμές του Συγκεντρωτικού Πίνακα. Για να προβάλετε τα αποτελέσματα ως ποσοστά, χρησιμοποιήστε τις δυνατότητες μορφοποίησης του Excel για να εφαρμόσετε μια μορφοποίηση ποσοστού αριθμού στα κελιά που περιέχουν τη μέτρηση.

Ετικέτες γραμμών Αξεσουάρ Ποδήλατα Ρουχισμός Στοιχεία Γενικό σύνολο
2005 0.02% 9.10% 0.04% 0.75% 9.91%
2006 0.11% 24.71% 0.60% 4.48% 29.90%
2007 0.36% 31.71% 1.07% 6.79% 39.93%
2008 0.20% 16.95% 0.48% 2.63% 20.26%
Γενικό σύνολο 0.70% 82.47% 2.18% 14,65% 100,00%

Τύπος

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])  

Ο τύπος κατασκευάζεται ως εξής:

  1. Ο αριθμητής, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), είναι το άθροισμα των τιμών στο ResellerSales_USD[SalesAmount_USD] για το τρέχον κελί στον Συγκεντρωτικό Πίνακα, με φίλτρα περιβάλλοντος που εφαρμόζονται στα CalendarYear και ProductCategoryName.

  2. Για τον παρονομαστή, ξεκινάτε καθορίζοντας έναν πίνακα, ResellerSales_USD και χρησιμοποιείτε τη συνάρτηση ALL για να καταργήσετε όλα τα φίλτρα περιβάλλοντος του πίνακα.

  3. Στη συνέχεια, χρησιμοποιείτε τη συνάρτηση SUMX για να αθροίσετε τις τιμές στη στήλη ResellerSales_USD[SalesAmount_USD]. Με άλλα λόγια, λαμβάνετε το άθροισμα των ResellerSales_USD[SalesAmount_USD] για όλες τις πωλήσεις μεταπωλητών.

Παράδειγμα 2

Υπολογισμός της αναλογίας Πωλήσεις προϊόντων προς το Σύνολο πωλήσεων κατά τη διάρκεια του τρέχοντος έτους

Ας υποθέσουμε ότι θέλετε να δημιουργήσετε έναν πίνακα που εμφανίζει το ποσοστό των πωλήσεων σε σύγκριση με τα έτη για κάθε κατηγορία προϊόντος (ProductCategoryName). Για να λάβετε το ποσοστό για κάθε έτος σε κάθε τιμή του ProductCategoryName, πρέπει να διαιρέσετε το άθροισμα των πωλήσεων για το συγκεκριμένο έτος και την κατηγορία προϊόντων με το άθροισμα των πωλήσεων για την ίδια κατηγορία προϊόντος για όλα τα έτη. Με άλλα λόγια, θέλετε να διατηρήσετε το φίλτρο στο ProductCategoryName, αλλά να καταργήσετε το φίλτρο στο έτος κατά τον υπολογισμό του παρονομαστή του ποσοστού.

Ο παρακάτω πίνακας εμφανίζει τα αποτελέσματα όταν μια νέα μέτρηση, Έτος πωλήσεων μεταπωλητή, δημιουργείται με χρήση του τύπου που εμφανίζεται στην ενότητα κώδικα. Για να δείτε πώς λειτουργεί αυτό, προσθέστε το πεδίο, CalendarYear, στην περιοχή Ετικέτες γραμμών ενός Συγκεντρωτικού Πίνακα και προσθέστε το πεδίο, ProductCategoryName, στην περιοχή Ετικέτες στηλών . Για να προβάλετε τα αποτελέσματα ως ποσοστά, χρησιμοποιήστε τις δυνατότητες μορφοποίησης του Excel για να εφαρμόσετε μια μορφή ποσοστού αριθμού στα κελιά που περιέχουν τη μέτρηση, Έτος πωλήσεων μεταπωλητή.

Ετικέτες γραμμών Αξεσουάρ Ποδήλατα Ρουχισμός Στοιχεία Γενικό σύνολο
2005 3.48% 11.03% 1.91% 5.12% 9.91%
2006 16.21% 29.96% 27.29% 30.59% 29.90%
2007 51.62% 38.45% 48.86% 46.36% 39.93%
2008 28.69% 20.56% 21.95% 17.92% 20.26%
Γενικό σύνολο 100,00% 100,00% 100,00% 100,00% 100,00%

Τύπος

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))  

Ο τύπος κατασκευάζεται ως εξής:

  1. Ο αριθμητής, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), είναι το άθροισμα των τιμών στο ResellerSales_USD[SalesAmount_USD] για το τρέχον κελί στον συγκεντρωτικό πίνακα, με φίλτρα περιβάλλοντος που εφαρμόζονται στις στήλες CalendarYear και ProductCategoryName.

  2. Για τον παρονομαστή, καταργείτε το υπάρχον φίλτρο στη στήλη CalendarYear χρησιμοποιώντας τη συνάρτηση ALL(Column). Αυτό υπολογίζει το άθροισμα των υπόλοιπων γραμμών στον πίνακα ResellerSales_USD, μετά την εφαρμογή των υπαρχόντων φίλτρων περιβάλλοντος από τις ετικέτες στήλης. Το καθαρό αποτέλεσμα είναι ότι για τον παρονομαστή το άθροισμα υπολογίζεται πάνω στο επιλεγμένο ProductCategoryName (το σιωπηρό φίλτρο περιβάλλοντος) και για όλες τις τιμές του έτους.

Παράδειγμα 3

Υπολογισμός συμβολής κατηγοριών προϊόντων στο Σύνολο πωλήσεων ανά έτος

Ας υποθέσουμε ότι θέλετε να δημιουργήσετε έναν πίνακα που εμφανίζει το ποσοστό των πωλήσεων για κάθε κατηγορία προϊόντων, ανά έτος. Για να λάβετε το ποσοστό για κάθε κατηγορία προϊόντος σε ένα συγκεκριμένο έτος, πρέπει να υπολογίσετε το άθροισμα των πωλήσεων για τη συγκεκριμένη κατηγορία προϊόντος (ProductCategoryName) κατά το έτος n και, στη συνέχεια, να διαιρέσετε την προκύπτον τιμή με το άθροισμα των πωλήσεων για το έτος n για όλες τις κατηγορίες προϊόντων. Με άλλα λόγια, θέλετε να διατηρήσετε το φίλτρο στο έτος, αλλά να καταργήσετε το φίλτρο στο ProductCategoryName κατά τον υπολογισμό του παρονομαστή του ποσοστού.

Ο παρακάτω πίνακας εμφανίζει τα αποτελέσματα όταν μια νέα μέτρηση, Όνομα_κατηγορίας πωλήσεων μεταπωλητή, δημιουργείται με χρήση του τύπου που εμφανίζεται στην ενότητα κώδικα. Για να δείτε πώς λειτουργεί αυτό, προσθέστε το πεδίο, CalendarYear, στην περιοχή Ετικέτες γραμμών του Συγκεντρωτικού Πίνακα και προσθέστε το πεδίο, ProductCategoryName, στην περιοχή Ετικέτες στηλών . Στη συνέχεια, προσθέστε τη νέα μέτρηση στην περιοχή Τιμές του Συγκεντρωτικού Πίνακα. Για να προβάλετε τα αποτελέσματα ως ποσοστά, χρησιμοποιήστε τις δυνατότητες μορφοποίησης του Excel για να εφαρμόσετε μια μορφή ποσοστού αριθμού στα κελιά που περιέχουν τη νέα μέτρηση, Όνομα_κατηγορίας πωλήσεων μεταπωλητή.

Ετικέτες γραμμών Αξεσουάρ Ποδήλατα Ρουχισμός Στοιχεία Γενικό σύνολο
2005 0.25% 91.76% 0.42% 7.57% 100,00%
2006 0.38% 82.64% 1.99% 14.99% 100,00%
2007 0.90% 79.42% 2.67% 17.01% 100,00%
2008 0.99% 83.69% 2.37% 12.96% 100,00%
Γενικό σύνολο 0.70% 82.47% 2.18% 14,65% 100,00%

Τύπος

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))  

Ο τύπος κατασκευάζεται ως εξής:

  1. Ο αριθμητής, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), είναι το άθροισμα των τιμών στο ResellerSales_USD[SalesAmount_USD] για το τρέχον κελί στον Συγκεντρωτικό Πίνακα, με φίλτρα περιβάλλοντος που εφαρμόζονται στα πεδία, CalendarYear και ProductCategoryName.

  2. Για τον παρονομαστή, χρησιμοποιείτε τη συνάρτηση ALL(Column), για να καταργήσετε το φίλτρο στο ProductCategoryName και να υπολογίσετε το άθροισμα των υπόλοιπων γραμμών στον ResellerSales_USD πίνακα, μετά την εφαρμογή των υπαρχόντων φίλτρων περιβάλλοντος από τις ετικέτες γραμμών. Το καθαρό αποτέλεσμα είναι ότι, για τον παρονομαστή, το άθροισμα υπολογίζεται πάνω στο επιλεγμένο Έτος (το σιωπηρό φίλτρο περιβάλλοντος) και για όλες τις τιμές του ProductCategoryName.

Συναρτήσεις φιλτραρίσματος
Συνάρτηση ALL
Συνάρτηση ALLEXCEPT
Συνάρτηση FILTER