ALL
Ισχύει για:Υπολογιζόμενη στήληΥπολογιζόμενος πίνακαςMeasureΥπολογισμός απεικόνισης
Επιστρέφει all τις γραμμές ενός πίνακα, orall το values σε μια στήλη, αγνοώντας τυχόν filters που μπορεί να έχουν εφαρμοστεί. Αυτή η συνάρτηση είναι χρήσιμη για την εκκαθάριση filtersand τη δημιουργία υπολογισμών στη all των γραμμών σε έναν πίνακα.
Σύνταξη
ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )
Παραμέτρους
Όρος | Ορισμός |
---|---|
table |
Ο πίνακας στον οποίο θέλετε να γίνει εκκαθάριση filters. |
column |
Η στήλη στην οποία θέλετε να γίνει εκκαθάριση filters. |
Το όρισμα στη συνάρτηση ALL πρέπει να είναι είτε μια αναφορά σε έναν βασικό πίνακα or μια αναφορά σε μια βασική στήλη. Δεν μπορείτε να χρησιμοποιήσετε παραστάσεις πίνακα or παραστάσεις στήλης με τη συνάρτηση ALL.
Επιστροφή value
Ο πίνακας or στήλη έχοντας καταργήσει filters.
Παρατηρήσεις
Αυτή η συνάρτηση είναι not χρησιμοποιείται από μόνη της, αλλά χρησιμεύει ως ενδιάμεση συνάρτηση που μπορεί να χρησιμοποιηθεί για την αλλαγή του συνόλου των αποτελεσμάτων στα οποία εκτελείται κάποιος άλλος υπολογισμός.
Η κανονική συμπεριφορά για DAX παραστάσεις που περιέχουν τη συνάρτηση ALL() είναι ότι τυχόν filters που έχουν εφαρμοστεί θα αγνοηθούν. Ωστόσο, υπάρχουν ορισμένα σενάρια όπου αυτό είναι not περίπτωση εξαιτίας του
auto-exist
, μιας DAX τεχνολογίας που βελτιστοποιεί το φιλτράρισμα, προκειμένου να μειωθεί η ποσότητα επεξεργασίας που απαιτείται για ορισμένα ερωτήματα DAX. Ένα παράδειγμα όπου το auto-exist andALL() παρέχει μη αναμενόμενα αποτελέσματα είναι κατά το φιλτράρισμα σε δύο or περισσότερες στήλες του ίδιου πίνακα (όπως όταν χρησιμοποιείτε αναλυτές), and υπάρχει ένα measure στον ίδιο πίνακα που χρησιμοποιεί ALL(). Σε αυτήν την περίπτωση, το auto-exist θα συγχωνεύσει τα πολλαπλά filters σε μία and θα filter μόνο σε υπάρχοντες συνδυασμούς values. Λόγω αυτής της συγχώνευσης, η measure θα υπολογιστεί με βάση τους υπάρχοντες συνδυασμούς των valuesand το αποτέλεσμα θα βασίζεται σε φιλτραρισμένη values αντί να allvalues με τον αναμενόμενο τρόπο. Για να μάθετε περισσότερα σχετικά με το auto-exist andeffect σχετικά με τους υπολογισμούς, ανατρέξτε στο άρθρο του Microsoft MVP Alberto Ferrari για την κατανόηση του DAX Auto-Exist σχετικά με το sql.bi.com.Ο παρακάτω πίνακας περιγράφει πώς μπορείτε να χρησιμοποιήσετε τις συναρτήσεις ALLandALLEXCEPT σε διαφορετικά σενάρια.
Χρήση συνάρτησης and Περιγραφή ALL() Καταργεί allfilters παντού. ALL() μπορούν να χρησιμοποιηθούν μόνο για απαλοιφή filters, αλλά not να επιστραφεί ένας πίνακας. ALL(Πίνακας) Καταργεί allfilters από τον καθορισμένο πίνακα. Σε effect, η ALL(Πίνακας) επιστρέφει all της values στον πίνακα, καταργώντας τυχόν filters από το περιβάλλον που διαφορετικά θα μπορούσε να έχει εφαρμοστεί. Αυτή η συνάρτηση είναι χρήσιμη όταν εργάζεστε με πολλά επίπεδα ομαδοποίησης and θέλετε να δημιουργήσετε έναν υπολογισμό που δημιουργεί μια αναλογία μιας συγκεντρωτικής value προς το σύνολο value. Το first παράδειγμα επιδεικνύει αυτό το σενάριο. ALL (Column[, Column[, ...]]) Καταργεί allfilters από τις καθορισμένες στήλες του πίνακα. all άλλες filters σε άλλες στήλες του πίνακα εξακολουθούν να ισχύουν. All ορίσματα στήλης πρέπει να προέρχονται από τον ίδιο πίνακα. Η παραλλαγή της ALL(Στήλη) είναι χρήσιμη όταν θέλετε να καταργήσετε το filters περιβάλλοντος για μία or πιο συγκεκριμένες στήλες and για να διατηρήσετε all άλλες filtersπεριβάλλοντος . Τα secondand τρίτα παραδείγματα επιδεικνύουν αυτό το σενάριο. ALLEXCEPT(Πίνακας, Στήλη1 [,Column2]...) Καταργεί allfilters περιβάλλοντος στον πίνακα exceptfilters που εφαρμόζονται στις καθορισμένες στήλες. Αυτή είναι μια βολική συντόμευση για περιπτώσεις όπου θέλετε να καταργήσετε το filters σε πολλές, αλλά notall, στήλες σε έναν πίνακα. Αυτή η συνάρτηση υποστηρίζεται not για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες or κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).
Παράδειγμα 1
Calculate αναλογία των Πωλήσεων κατηγορίας προς τις Συνολικές πωλήσεις
Ας υποθέσουμε ότι θέλετε να find το ποσό των πωλήσεων για το τρέχον κελί, στον Συγκεντρωτικό πίνακα, διαιρούμενο με τις συνολικές πωλήσεις για τους μεταπωλητές all. Για να εξασφαλίσετε ότι ο παρονομαστής είναι ο ίδιος, ανεξάρτητα από τον τρόπο με τον οποίο ο χρήστης του Συγκεντρωτικού Πίνακα μπορεί να φιλτράρει or την ομαδοποίηση των δεδομένων, define έναν τύπο που χρησιμοποιεί ALL για να δημιουργήσει το σωστό γενικό σύνολο.
Ο παρακάτω πίνακας εμφανίζει τα αποτελέσματα όταν ένας νέος measure, AllΑναλογία πωλήσεων μεταπωλητών , δημιουργείται με χρήση του τύπου που εμφανίζεται στην ενότητα κώδικα. Για να δείτε πώς λειτουργεί αυτό, προσθέστε το πεδίο, CalendarYear, στην περιοχή Ετικέτες γραμμών
Ετικέτες γραμμών | Εξαρτήματα | Ποδήλατα | Ρουχισμός | Στοιχεία | Γενικό σύνολο |
---|---|---|---|---|---|
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])
Ο τύπος κατασκευάζεται ως εξής:
Ο αριθμητής,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, είναι η sum του values στο ResellerSales_USD[SalesAmount_USD] για το τρέχον κελί στον Συγκεντρωτικό Πίνακα, με filters περιβάλλοντος να εφαρμόζονται στο CalendarYear and ProductCategoryName.Για τον παρονομαστή, ξεκινάτε καθορίζοντας έναν πίνακα, ResellerSales_USD, and χρησιμοποιήσετε τη συνάρτηση ALL για να καταργήσετε allfilters περιβάλλοντος στον πίνακα.
Στη συνέχεια, χρησιμοποιείτε τη συνάρτηση SUMX για να sum το values στη στήλη ResellerSales_USD[SalesAmount_USD]. Με άλλα λόγια, λαμβάνετε την sum του ResellerSales_USD[SalesAmount_USD] για all πωλήσεις μεταπωλητών.
Παράδειγμα 2
Calculate αναλογία πωλήσεων Product και συνολικών πωλήσεων έως τις τρέχουσες Year
Ας υποθέσουμε ότι θέλετε να δημιουργήσετε έναν πίνακα που εμφανίζει το ποσοστό των πωλήσεων σε σύγκριση με τα έτη για κάθε product κατηγορία (ProductCategoryName). Για να λάβετε το ποσοστό για κάθε year σε κάθε value της ProductCategoryName, πρέπει να divide την sum πωλήσεων για τη συγκεκριμένη κατηγορία yearandproduct κατά την sum πωλήσεων για την ίδια κατηγορία product στη διάρκεια των all ετών. Με άλλα λόγια, θέλετε να διατηρήσετε την filter στο ProductCategoryName, αλλά να καταργήσετε την filter στη year κατά τον υπολογισμό του παρονομαστή του ποσοστού.
Ο παρακάτω πίνακας εμφανίζει τα αποτελέσματα όταν ένας νέος measure, πωλήσεις μεταπωλητών Year, δημιουργείται με χρήση του τύπου που εμφανίζεται στην ενότητα κώδικα. Για να δείτε πώς λειτουργεί αυτό, προσθέστε το πεδίο, CalendarYear, στην περιοχή
Ετικέτες γραμμών | Εξαρτήματα | Ποδήλατα | Ρουχισμός | Στοιχεία | Γενικό σύνολο |
---|---|---|---|---|---|
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]))
Ο τύπος κατασκευάζεται ως εξής:
Ο αριθμητής,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, είναι η sum της values στο ResellerSales_USD[SalesAmount_USD] για το τρέχον κελί στον συγκεντρωτικό πίνακα, με filters περιβάλλοντος να εφαρμόζονται στις στήλες CalendarYear and ProductCategoryName.Για τον παρονομαστή, καταργείτε την υπάρχουσα filter στο CalendarYear χρησιμοποιώντας τη συνάρτηση ALL(Column). Αυτό υπολογίζει την sum επί των υπόλοιπων γραμμών στον πίνακα ResellerSales_USD, μετά την εφαρμογή του υπάρχοντος filters περιβάλλοντος από τις ετικέτες στηλών. Το καθαρό effect είναι ότι για τον παρονομαστή ο sum υπολογίζεται πάνω στο επιλεγμένο ProductCategoryName (το σιωπηρό περιβάλλον filter) and για allvalues σε Year.
Παράδειγμα 3
Calculate συμβολή κατηγοριών Product στο σύνολο πωλήσεων ανά Year
Ας υποθέσουμε ότι θέλετε να δημιουργήσετε έναν πίνακα που εμφανίζει το ποσοστό των πωλήσεων για κάθε κατηγορία product, yearβάσηyear. Για να λάβετε το ποσοστό για κάθε κατηγορία product σε ένα συγκεκριμένο year, πρέπει να calculate το sum πωλήσεων για τη συγκεκριμένη κατηγορία product (ProductCategoryName) σε year n, and, στη συνέχεια, να divide το value που προκύπτει από το sum πωλήσεων για τις year n σε allproduct κατηγορίες. Με άλλα λόγια, θέλετε να διατηρήσετε την filter σε year, αλλά να καταργήσετε την filter στο ProductCategoryName κατά τον υπολογισμό του παρονομαστή του ποσοστού.
Ο παρακάτω πίνακας εμφανίζει τα αποτελέσματα όταν ένας νέος measure, Όνομα_κατηγορίας πωλήσεων μεταπωλητή, δημιουργείται με χρήση του τύπου που εμφανίζεται στην ενότητα κώδικα. Για να δείτε πώς λειτουργεί αυτό, προσθέστε το πεδίο, CalendarYear στην περιοχή ετικέτες γραμμών
Ετικέτες γραμμών | Εξαρτήματα | Ποδήλατα | Ρουχισμός | Στοιχεία | Γενικό σύνολο |
---|---|---|---|---|---|
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]))
Ο τύπος κατασκευάζεται ως εξής:
Ο αριθμητής,
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
, είναι ο sum της values στο ResellerSales_USD[SalesAmount_USD] για το τρέχον κελί στον Συγκεντρωτικό Πίνακα, με filters περιβάλλοντος να εφαρμόζονται στα πεδία, CalendarYear and ProductCategoryName.Για τον παρονομαστή, χρησιμοποιείτε τη συνάρτηση ALL(Στήλη), για να καταργήσετε το filter στο ProductCategoryName andcalculate το sum στις υπόλοιπες γραμμές στον πίνακα ResellerSales_USD, μετά την εφαρμογή του υπάρχοντος filters περιβάλλοντος από τις ετικέτες γραμμών. Το καθαρό effect είναι ότι, για τον παρονομαστή, η sum υπολογίζεται πάνω στο επιλεγμένο Year (το σιωπηρό περιβάλλον filter) and για allvalues του ProductCategoryName.
Related περιεχομένου
Συναρτήσεις FilterALL συνάρτησηALLEXCEPT συνάρτησηFILTER συνάρτηση