Εργασία με τη συμπεριφορά φίλτρου τιμής (προεπισκόπηση)
Οι επιλογές συμπεριφοράς φίλτρου τιμής στο Power BI σάς επιτρέπουν να επηρεάσετε τον αυτόματο μηχανισμό φιλτραρίσματος που υπάρχει στο DAX, ο οποίος εμφανίζεται όταν φιλτράρονται πολλές στήλες από τον ίδιο πίνακα. Αυτή η συμπεριφορά ονομάζεται ανεπίσημα "auto-exist".
Τι είναι η συμπεριφορά του φίλτρου τιμής
Όταν φιλτράρονται πολλές στήλες από τον ίδιο πίνακα, το DAX κατανοεί ότι πιθανώς δεν είναι έγκυροι όλοι οι συνδυασμοί τιμών σε αυτές τις στήλες και, κατά συνέπεια, αποκλείει αυτόματα μη έγκυρους συνδυασμούς. Ο μηχανισμός DAX δημιούργησε ένα συνενωμένο φίλτρο τιμής που όχι μόνο επιστρέφει έγκυρους συνδυασμούς, αλλά επηρεάζει επίσης τους υπολογισμούς που μετρήθηκαν. Η ρύθμιση συμπεριφοράς φίλτρου τιμής σάς επιτρέπει να αλλάξετε αυτήν τη συμπεριφορά στο σημασιολογικό μοντέλο σας. Μπορείτε να αποφασίσετε αν θέλετε να απενεργοποιήσετε τα φίλτρα συνενωμένων τιμών και να ενεργοποιήσετε τα ανεξάρτητα φίλτρα τιμών. Η ενεργοποίηση ανεξάρτητων φίλτρων τιμών ορίζοντας τη ρύθμιση συμπεριφοράς φίλτρου τιμών σε Ανεξάρτητο (δείτε παρακάτω σε αυτό το άρθρο) έχει ως αποτέλεσμα πολλαπλά φίλτρα στον ίδιο πίνακα να διατηρούνται ξεχωριστά αντί ο μηχανισμός DAX να συνδυάζει αυτά τα φίλτρα σε ένα.
Κατανόηση της συμπεριφοράς του φίλτρου τιμής
Όταν φιλτράρετε πολλές στήλες στον ίδιο πίνακα, η τρέχουσα προεπιλεγμένη συμπεριφορά φίλτρου τιμών λαμβάνει αυτά τα φίλτρα και τα συνδυάζει σε ένα, λαμβάνοντας υπόψη μόνο τους συνδυασμούς που υπάρχουν. Εξετάστε τις παρακάτω δύο στήλες στον ίδιο πίνακα:
- Year, το οποίο περιέχει τιμές όπως "2023".
- Μήνας, ο οποίος περιέχει τιμές όπως "Ιανουάριος 2024".
Εάν φιλτράρετε σε Έτος και Μήνα, δεδομένου ότι αυτές οι στήλες βρίσκονται στον ίδιο πίνακα, η συμπεριφορά φίλτρου τιμών συνδυάζει τα φίλτρα σε ένα, αλλά μόνο τους συνδυασμούς που υπάρχουν. Ο συνδυασμός του μήνα Ιανουαρίου 2024 με το έτος 2023 δεν υπάρχει και δεν θα συμπεριληφθεί στο φίλτρο. Υπάρχουν, ωστόσο, περιπτώσεις στις οποίες τα αποτελέσματα προκαλούν έκπληξη.
Ας δούμε ένα παράδειγμα, όπου έχουμε έναν κατάλογο που εμφανίζει τη διαθεσιμότητα χρωμάτων για προϊόντα κατά έτος. Ο κατασκευαστής αυτών των προϊόντων πειραματίστηκε με την παραγωγή προϊόντων σε διάφορα χρώματα όλα αυτά τα χρόνια:
Έχουμε τρία προϊόντα που ήταν διαθέσιμα σε διάφορα χρώματα με την πάροδο των ετών. Παρατηρήστε ότι δεν προσφέρονται κόκκινα προϊόντα το 2024. Αυτό θα είναι σημαντικό αργότερα. Τώρα, ας μετρήσουμε τον αριθμό των προϊόντων προσθέτοντας την παρακάτω μέτρηση:
Number of Products = COUNTROWS( 'Catalog' )`
Η ακόλουθη μήτρα εμφανίζει τον αριθμό των προϊόντων που είναι διαθέσιμα σε διάφορα χρώματα ανά έτος:
Τώρα, ας προσθέσουμε μια άλλη μέτρηση για να υπολογίσουμε τον συνολικό αριθμό προϊόντων για όλα τα έτη:
Number of Products All Years = CALCULATE ( [Number of Products], ALL ( 'Catalog'[Year] ) )
Ας βάλουμε αυτές τις μετρήσεις σε παράθεση και φιλτράρουμε για το έτος 2023 και μόνο το μπλε και το κόκκινο χρώμα (έτσι δεν υπάρχει μαύρο). Μπορείτε να δείτε ότι ο αριθμός των προϊόντων είναι 4 και ο αριθμός των προϊόντων σε όλα τα έτη για αυτά τα δύο χρώματα είναι 6:
Εάν αλλάξουμε το Έτος σε 2024, αναμένουμε ότι η μέτρηση "Αριθμός προϊόντων" θα επιστρέψει 2, καθώς υπάρχουν μόνο δύο προϊόντα με μπλε χρώμα το 2024 και δεν υπάρχουν κόκκινα προϊόντα σε αυτό το έτος. Επιπλέον, θα περιμέναμε ότι ο αριθμός των προϊόντων για όλα τα χρόνια δεν θα αλλάξει, διότι, εξάλλου, υποτίθεται ότι υπολογίζεται για όλα τα χρόνια. Ωστόσο, ο "Αριθμός προϊόντων για όλα τα έτη" αλλάζει από 6 σε 5:
Ο αριθμός των προϊόντων σε όλα τα έτη θα πρέπει να εξακολουθεί να είναι 6, όχι 5. Αυτό που βλέπουμε εδώ είναι η συμπεριφορά του φίλτρου τιμών στην πράξη: συνδυάζει φίλτρα στον ίδιο πίνακα, καταργώντας συνδυασμούς που δεν υπήρχαν. Τα φίλτρα είναι Year = 2024 και Color = Blue ή Red. Δεδομένου ότι αυτά τα δύο φίλτρα βρίσκονται στον ίδιο πίνακα, αυτά τα φίλτρα συνδυάζονται σε ένα φίλτρο που φιλτράρει μόνο για τους συνδυασμούς που υπάρχουν. Δεδομένου ότι δεν υπάρχουν κόκκινα προϊόντα στο 2024, το φίλτρο που εφαρμόζεται είναι Year = 2024 και Color = Blue. Επομένως, ο αριθμός των προϊόντων για όλα τα έτη μετρά τώρα μόνο τον αριθμό των μπλε προϊόντων, όχι των μπλε ή κόκκινων προϊόντων. Αυτή η τιμή επιστρέφει την τιμή 5, όπως μπορείτε να επιβεβαιώσετε στον πίνακα.
Επηρεασμός της συμπεριφοράς φίλτρου τιμών
Μπορείτε να ελέγξετε εάν θέλετε αυτή τη συμπεριφορά στο σημασιολογικό μοντέλο σας, χρησιμοποιώντας τη ρύθμιση Συμπεριφορά φίλτρου τιμής στο μοντέλο σημασιολογίας στο τμήμα παραθύρου ιδιοτήτων στην προβολή μοντέλου:
Υπάρχουν τρεις διαθέσιμες επιλογές:
- Αυτόματη - Αυτή είναι η προεπιλεγμένη ρύθμιση και αυτήν τη στιγμή ενεργοποιεί τη συμπεριφορά Coalesced. Όταν ολοκληρώσουμε αυτήν την προεπισκόπηση, τα νέα μοντέλα που έχουν οριστεί σε Αυτόματη θα χρησιμοποιούν την Ανεξάρτητη, θα ανακοινωθούν εκείνη τη στιγμή.
- Ανεξάρτητο - Αυτό επιβάλλει τα φίλτρα στον ίδιο πίνακα να διατηρούνται ξεχωριστά. Αφού ορίσετε τη ρύθμιση "Συμπεριφορά φίλτρου τιμής" σε Independent, ο συνολικός αριθμός προϊόντων για όλα τα έτη επιστρέφει 6 όπως αναμένεται (βλ. παρακάτω).
- Συνένωση - Αυτό επιβάλλει τη συμπεριφορά φίλτρου τιμής ώστε να ενεργοποιηθεί για το μοντέλο σημασιολογίας και έχει ως αποτέλεσμα τον συνδυασμό των φίλτρων στον ίδιο πίνακα σε ένα. Ο αριθμός των προϊόντων για όλα τα έτη στο παράδειγμά μας συνεχίζει να επιστρέφει στο 5.
Ο παρακάτω πίνακας εμφανίζει το αποτέλεσμα αυτής της ρύθμισης στο παράδειγμά μας:
Ρύθμιση συμπεριφοράς φίλτρου τιμής | Φίλτρα που εφαρμόζονται στο παράδειγμα | Αποτέλεσμα παραδείγματος μέτρησης |
---|---|---|
Αυτόματος | Year = 2024, Color = Blue |
5 |
Ανεξάρτητος | Year = 2024, Color = Blue ή Red |
6 |
Γαλαξιακοί | Year = 2024, Color = Blue |
5 |
Ο ορισμός της συμπεριφοράς φίλτρου τιμής σε Αυτόματη σημαίνει ότι είναι ίση με τη Συνάρτηση Coalesced προς το παρόν, αλλά θα μεταβεί στην επιλογή Ανεξάρτητο για νέα σημασιολογικά μοντέλα στο μέλλον. Εάν ορίσετε τη συμπεριφορά του φίλτρου τιμής σε Ανεξάρτητο, ο αριθμός των προϊόντων για όλες τις επιστροφές 6, όπως αναμένεται, δεδομένου ότι τα φίλτρα είναι Year = 2024 και Color = Blue ή Red και δεν συνδυάζονται πλέον:
Επόμενα βήματα
Τα παρακάτω άρθρα μπορεί να είναι χρήσιμα: