συμβάν
Ελάτε μαζί μας στο FabCon Vegas
31 Μαρ, 11 μ.μ. - 2 Απρ, 11 μ.μ.
Η απόλυτη εκδήλωση Microsoft Fabric, Power BI, SQL και AI υπό την ηγεσία της κοινότητας. Από 31 Μαρτίου έως 2 Απριλίου 2025.
Εγγραφείτε σήμεραΑυτό το πρόγραμμα περιήγησης δεν υποστηρίζεται πλέον.
Κάντε αναβάθμιση σε Microsoft Edge για να επωφεληθείτε από τις τελευταίες δυνατότητες, τις ενημερώσεις ασφαλείας και την τεχνική υποστήριξη.
Ισχύει για:Υπολογιζόμενη στήληΥπολογιζόμενος πίνακαςMeasureΥπολογισμός απεικόνισης
Τροποποιεί τον τρόπο με τον οποίο εφαρμόζονται τα filters κατά την αξιολόγηση μιας συνάρτησης CALCULATEorCALCULATETABLE.
KEEPFILTERS(<expression>)
Όρος | Ορισμός |
---|---|
expression |
Οποιαδήποτε παράσταση. |
Ένας πίνακας values.
Χρησιμοποιείτε KEEPFILTERS στο περιβάλλον CALCULATEandCALCULATETABLE συναρτήσεων, για να παρακάμψετε την τυπική συμπεριφορά αυτών των συναρτήσεων.
Από προεπιλογή, filter ορίσματα σε συναρτήσεις όπως CALCULATE χρησιμοποιούνται ως το περιβάλλον για την αξιολόγηση της παράστασης, and ως τέτοια filter ορίσματα για CALCULATEreplaceall υπάρχουσες filters στις ίδιες στήλες. Το νέο περιβάλλον που εφαρμόζεται από το filter όρισμα για CALCULATE επηρεάζει μόνο τις υπάρχουσες filters στις στήλες που αναφέρονται ως μέρος του ορίσματος filter. Filters σε στήλες διαφορετικές από αυτές που αναφέρονται στα ορίσματα CALCULATEor άλλες related συναρτήσεις παραμένουν effectand αμετάβλητες.
Η συνάρτηση KEEPFILTERS σάς επιτρέπει να τροποποιήσετε αυτήν τη συμπεριφορά. Όταν χρησιμοποιείτε KEEPFILTERS, κάθε υπάρχον filters στο τρέχον περιβάλλον συγκρίνεται με τις στήλες στα filter ορίσματα, and η τομή αυτών των ορισμάτων χρησιμοποιείται ως περιβάλλον για την αξιολόγηση της παράστασης. Η καθαρή effect σε οποιαδήποτε στήλη είναι ότι ισχύουν και τα δύο σύνολα ορισμάτων: αμφότερα τα filter ορίσματα που χρησιμοποιούνται σε CALCULATEand το filters στα ορίσματα της συνάρτησης KEEPFILTER. Με άλλα λόγια, ενώ CALCULATEfiltersreplace το τρέχον περιβάλλον, KEEPFILTERS προσθέτει filters στο τρέχον περιβάλλον.
Αυτή η συνάρτηση υποστηρίζεται not για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες or κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).
Το παρακάτω παράδειγμα σάς καθοδηγεί σε ορισμένα συνήθη σενάρια που επιδεικνύουν τη χρήση της συνάρτησης KEEPFILTERS ως μέρος ενός τύπου CALCULATEorCALCULATETABLE.
Η first τρεις παραστάσεις λαμβάνουν απλά δεδομένα που θα χρησιμοποιηθούν για συγκρίσεις:
Πωλήσεις μέσω Internet για την πολιτεία της Ουάσιγκτον.
Πωλήσεις μέσω Internet για τις πολιτείες της Ουάσιγκτον and Όρεγκον (και οι δύο πολιτείες μαζί).
Πωλήσεις μέσω Internet για την πολιτεία της Ουάσιγκτον and την επαρχία της Βρετανικής Κολομβίας (και οι δύο περιοχές μαζί).
Η τέταρτη παράσταση υπολογίζει τις πωλήσεις μέσω Internet για την Ουάσιγκτον and Όρεγκον, ενώ εφαρμόζεται η filter για την Ουάσιγκτον and Βρετανική Κολομβία.
Η next παράσταση υπολογίζει τις πωλήσεις μέσω Internet για την Ουάσιγκτον and Όρεγκον, αλλά χρησιμοποιεί KEEPFILTERS; η filter για την Ουάσιγκτον and Βρετανική Κολομβία είναι μέρος του προηγούμενου πλαισίου.
EVALUATE ROW(
"$$ in WA"
, CALCULATE('Internet Sales'[Internet Total Sales]
, 'Geography'[State Province Code]="WA"
)
, "$$ in WA and OR"
, CALCULATE('Internet Sales'[Internet Total Sales]
, 'Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="OR"
)
, "$$ in WA and BC"
, CALCULATE('Internet Sales'[Internet Total Sales]
, 'Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="BC"
)
, "$$ in WA and OR ??"
, CALCULATE(
CALCULATE('Internet Sales'[Internet Total Sales]
,'Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="OR"
)
, 'Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="BC"
)
, "$$ in WA !!"
, CALCULATE(
CALCULATE('Internet Sales'[Internet Total Sales]
, KEEPFILTERS('Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="OR"
)
)
, 'Geography'[State Province Code]="WA"
|| 'Geography'[State Province Code]="BC"
)
)
Όταν αυτή η παράσταση αξιολογείται σε σχέση με sample βάση δεδομένων AdventureWorks DW, λαμβάνονται τα παρακάτω αποτελέσματα.
Στήλη | Value |
---|---|
[$$ in WA] |
$ 2,467,248.34 |
[$$ in WA and OR] |
$ 3,638,239.88 |
[$$ in WA and BC] |
$ 4,422,588.44 |
[$$ in WA and OR ??] |
$ 3,638,239.88 |
[$$ in WA !!] |
$ 2,467,248.34 |
Σημείωση
Τα παραπάνω αποτελέσματα μορφοποιήθηκαν σε έναν πίνακα, αντί για μία μόνο γραμμή, για εκπαιδευτικούς σκοπούς.
First, εξετάστε την παράσταση, [$$ in WA and OR ??]
. Ίσως αναρωτιέστε πώς αυτός ο τύπος θα μπορούσε να επιστρέψει το value για τις πωλήσεις στην Ουάσιγκτον and στο Όρεγκον, καθώς η εξωτερική CALCULATE παράσταση περιλαμβάνει μια filter για την Ουάσιγκτον and τη Βρετανική Κολομβία. Η απάντηση είναι ότι η προεπιλεγμένη συμπεριφορά του CALCULATE παρακάμπτει την εξωτερική filters στο πεδίο "Geography"[Κωδικός επαρχίας πολιτείας] and αντικαθιστά τα δικά της ορίσματα filter, επειδή τα filters ισχύουν για την ίδια στήλη.
Next, εξετάστε την παράσταση, [$$ in WA !!]
. Ίσως αναρωτιέστε πώς αυτός ο τύπος θα μπορούσε να επιστρέψει το value πωλήσεων στην Ουάσιγκτον and τίποτε άλλο, καθώς το όρισμα filter περιλαμβάνει το Oregon and η εξωτερική CALCULATE παράσταση περιλαμβάνει μια filter στην Ουάσιγκτον and τη Βρετανική Κολομβία. Η απάντηση είναι ότι KEEPFILTERS τροποποιεί την προεπιλεγμένη συμπεριφορά του CALCULATEand προσθέτει ένα επιπλέον filter. Επειδή χρησιμοποιείται η τομή του filters, now η εξωτερική filter'Geography'[State Province Code]="WA" || 'Geography'[State Province Code]="BC")
προστίθεται στο όρισμα filter'Geography'[State Province Code]="WA" || 'Geography'[State Province Code]="OR"
,. Επειδή και οι δύο filters ισχύουν για την ίδια στήλη, η filter'Geography'[State Province Code]="WA"
που προκύπτει είναι η filter που εφαρμόζεται κατά την αξιολόγηση της παράστασης.
συναρτήσεων
συμβάν
Ελάτε μαζί μας στο FabCon Vegas
31 Μαρ, 11 μ.μ. - 2 Απρ, 11 μ.μ.
Η απόλυτη εκδήλωση Microsoft Fabric, Power BI, SQL και AI υπό την ηγεσία της κοινότητας. Από 31 Μαρτίου έως 2 Απριλίου 2025.
Εγγραφείτε σήμερα