CALCULATETABLE
Ισχύει για:Υπολογιζόμενη στήληΥπολογιζόμενος πίνακαςΜέτρηση υπολογισμού απεικόνισης
Αξιολογεί μια παράσταση πίνακα σε ένα τροποποιημένο περιβάλλον φίλτρου.
Σημείωση
Υπάρχει επίσης η συνάρτηση CALCULATE. Εκτελεί ακριβώς την ίδια λειτουργικότητα, εκτός από την τροποποίηση του περιβάλλοντος φίλτρου που εφαρμόζεται σε μια παράσταση που επιστρέφει μια ανυσματική τιμή.
Σύνταξη
CALCULATETABLE(<expression>[, <filter1> [, <filter2> [, …]]])
Παραμέτρους
Όρος | Ορισμός |
---|---|
expression |
Η παράσταση πίνακα προς αξιολόγηση. |
filter1, filter2,… |
(Προαιρετικό) Δυαδικές παραστάσεις ή παραστάσεις πίνακα που ορίζουν φίλτρα ή συναρτήσεις τροποποιητή φίλτρου. |
Η παράσταση που χρησιμοποιείται ως η πρώτη παράμετρος πρέπει να είναι ένας πίνακας μοντέλου ή μια συνάρτηση που επιστρέφει έναν πίνακα.
Τα φίλτρα μπορεί να είναι:
- Παραστάσεις φίλτρου δυαδικής τιμής
- Παραστάσεις φίλτρου πίνακα
- Συναρτήσεις τροποποίησης φίλτρου
Όταν υπάρχουν πολλά φίλτρα, αξιολογούνται χρησιμοποιώντας τον ANDλογικό τελεστή. Αυτό σημαίνει ότι όλες οι συνθήκες πρέπει να TRUE
ταυτόχρονα.
Παραστάσεις φίλτρου δυαδικής τιμής
Ένα φίλτρο δυαδικής παράστασης είναι μια παράσταση που αξιολογείται ως TRUE
ή FALSE
. Υπάρχουν διάφοροι κανόνες με τους οποίους πρέπει να συμμορφώνονται:
- Μπορούν να αναφέρουν μόνο μία στήλη.
- Δεν μπορούν να αναφέρουν μετρήσεις.
- Δεν μπορούν να χρησιμοποιήσουν μια ένθετης συνάρτησης CALCULATE.
Ξεκινώντας από την έκδοση Σεπτεμβρίου 2021 του Power BI Desktop, ισχύουν επίσης τα εξής:
- Δεν μπορούν να χρησιμοποιήσουν συναρτήσεις που σαρώνουν ή επιστρέφουν έναν πίνακα, εκτός εάν διαβιβαάζονται ως ορίσματα σε συναρτήσεις συνάθροισης.
- Οι μπορούν να περιέχουν μια συνάρτηση συνάθροισης που επιστρέφει μια ανυσματική τιμή.
Παράσταση φίλτρου πίνακα
Ένα φίλτρο παράστασης πίνακα εφαρμόζει ένα αντικείμενο πίνακα ως φίλτρο. Μπορεί να είναι μια αναφορά σε έναν πίνακα μοντέλου, αλλά πιθανότατα είναι μια συνάρτηση που επιστρέφει ένα αντικείμενο πίνακα. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση FILTER για να εφαρμόσετε σύνθετες συνθήκες φιλτραρίσματος, συμπεριλαμβανομένων εκείνων που δεν μπορούν να καθοριστούν από μια παράσταση δυαδικού φίλτρου.
Συναρτήσεις τροποποίησης φίλτρου
Οι συναρτήσεις τροποποιητή φίλτρου σάς επιτρέπουν να κάνετε περισσότερα από την απλή προσθήκη φίλτρων. Σας παρέχουν πρόσθετο έλεγχο κατά την τροποποίηση του περιβάλλοντος φίλτρου.
Λειτουργία | Σκοπός |
---|---|
REMOVEFILTERS | Καταργήστε όλα τα φίλτρα ή τα φίλτρα από μία ή περισσότερες στήλες ενός πίνακα ή από όλες τις στήλες ενός μοναδικού πίνακα. |
ALL 1, ALLEXCEPT, ALLNOBLANKROW | Καταργήστε τα φίλτρα από μία ή περισσότερες στήλες ή από όλες τις στήλες ενός μοναδικού πίνακα. |
KEEPFILTERS | Προσθέστε φίλτρο χωρίς να καταργήσετε υπάρχοντα φίλτρα στις ίδιες στήλες. |
USERELATIONSHIP | Ενεργοποιήστε μια ανενεργή σχέση μεταξύ σχετικών στηλών, όπου η ενεργή σχέση θα γίνει αυτόματα ανενεργή. |
CROSSFILTER | Τροποποιήστε την κατεύθυνση του φίλτρου (από αμφίδρομο σε μονή ή από μονή σε αμφίδρομες) ή απενεργοποιήστε μια σχέση. |
1 Συνάρτηση ALL και οι παραλλαγές της συμπεριφέρονται τόσο ως τροποποιητές φίλτρων όσο και ως συναρτήσεις που επιστρέφουν αντικείμενα πίνακα. Εάν η συνάρτηση REMOVEFILTERS υποστηρίζεται από το εργαλείο σας, είναι προτιμότερο να τη χρησιμοποιήσετε για να καταργήσετε φίλτρα.
Τιμή επιστροφής
Ένας πίνακας τιμών.
Παρατηρήσεις
Όταν παρέχονται παραστάσεις φίλτρου, η συνάρτηση CALCULATETABLE τροποποιεί το περιβάλλον φίλτρου για να αξιολογήσει την παράσταση. Για κάθε παράσταση φίλτρου, υπάρχουν δύο πιθανά τυπικά αποτελέσματα όταν η παράσταση φίλτρου δεν αναδιπλώνεται στη συνάρτηση KEEPFILTERS:
- Εάν οι στήλες (ή οι πίνακες) δεν βρίσκονται στο περιβάλλον φίλτρου, τότε θα προστεθούν νέα φίλτρα στο περιβάλλον φίλτρου για την αξιολόγηση της παράστασης.
- Εάν οι στήλες (ή οι πίνακες) βρίσκονται ήδη στο περιβάλλον φίλτρου, τα υπάρχοντα φίλτρα θα αντικατασταθούν από τα νέα φίλτρα για την αξιολόγηση της CALCULATETABLE παράστασης.
Αυτή η συνάρτηση δεν υποστηρίζεται για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες ή σε κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).
Παράδειγμα
Το παρακάτω παράδειγμα χρησιμοποιεί τη συνάρτηση CALCULATETABLE για να λάβει το άθροισμα των πωλήσεων Internet για το 2006. Αυτή η τιμή χρησιμοποιείται αργότερα για τον υπολογισμό της αναλογίας των πωλήσεων Internet σε σύγκριση με όλες τις πωλήσεις για το έτος 2006.
Ο παρακάτω τύπος:
= SUMX(
CALCULATETABLE(
'InternetSales_USD',
'DateTime'[CalendarYear] = 2006
),
[SalesAmount_USD]
)
Έχει ως αποτέλεσμα τον παρακάτω πίνακα:
Ετικέτες γραμμών | Internet SalesAmount_USD | CalculateTable 2006 Internet Sales | Αναλογία πωλήσεων Internet το 2006 |
---|---|---|---|
2005 | $2,627,031.40 | $5,681,440.58 | 0.46 |
2006 | $5,681,440.58 | $5,681,440.58 | 1.00 |
2007 | $8,705,066.67 | $5,681,440.58 | 1.53 |
2008 | $9,041,288.80 | $5,681,440.58 | 1.59 |
Γενικό σύνολο | $26,054,827.45 | $5,681,440.58 | 4.59 |
Σχετικό περιεχόμενο
- περιβάλλοντος φίλτρου
- συνάρτηση CALCULATE (DAX)
- συναρτήσεις Filter (DAX)