Φιλτράρισμα δεδομένων σε τύπους DAX

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

Σε αυτό το άρθρο

Δημιουργία φίλτρου σε πίνακα που χρησιμοποιείται σε έναν τύπο

Φίλτρα που καταργούν τα διπλότυπα

Πώς το περιβάλλον επηρεάζει τα φίλτρα

Κατάργηση φίλτρων

Παράκαμψη όλων των φίλτρων με τη συνάρτηση ALL

Παράκαμψη συγκεκριμένων φίλτρων με τη συνάρτηση ALLEXCEPT

Δημιουργία φίλτρου σε πίνακα που χρησιμοποιείται σε έναν τύπο

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

Για παράδειγμα, ας υποθέσουμε ότι έχετε έναν πίνακα δεδομένων που περιέχει πληροφορίες παραγγελιών σχετικά με τους μεταπωλητές και θέλετε να υπολογίσετε το ποσό που πώλησε κάθε μεταπωλητής. Ωστόσο, θέλετε να εμφανίσετε το ποσό πωλήσεων μόνο για τους μεταπωλητές που πούλησαν πολλές μονάδες των προϊόντων υψηλότερης τιμής. Ο παρακάτω τύπος, με βάση το δείγμα βιβλίου εργασίας DAX, εμφανίζει ένα παράδειγμα του τρόπου με τον οποίο μπορείτε να δημιουργήσετε αυτόν τον υπολογισμό χρησιμοποιώντας ένα φίλτρο:

= SUMX (
     ΦΊΛΤΡΟ (' ResellerSales_USD ', ' ResellerSales_USD ' [ποσότητα] > 5 &&
     ' ResellerSales_USD ' [ProductStandardCost_USD] > 100),
     ' ResellerSales_USD ' [SalesAmt]
     )

  • Το πρώτο μέρος του τύπου καθορίζει μία από τις Power Pivot συναρτήσεις συνάθροισης, η οποία λαμβάνει έναν πίνακα ως όρισμα. Το SUMX υπολογίζει ένα άθροισμα σε έναν πίνακα.

  • Το δεύτερο μέρος του τύπου, FILTER(table, expression),υποδεικνύει SUMX ποια δεδομένα θα χρησιμοποιηθούν. τοSUMX απαιτεί έναν πίνακα ή μια παράσταση που έχει ως αποτέλεσμα έναν πίνακα. Εδώ, αντί να χρησιμοποιήσετε όλα τα δεδομένα σε έναν πίνακα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση FILTER για να καθορίσετε ποιες από τις γραμμές από τον πίνακα χρησιμοποιούνται.

    Η παράσταση φίλτρου έχει δύο τμήματα: το πρώτο τμήμα ονομάζει τον πίνακα στον οποίο εφαρμόζεται το φίλτρο. Το δεύτερο τμήμα ορίζει μια παράσταση που θα χρησιμοποιηθεί ως συνθήκη φίλτρου. Σε αυτή την περίπτωση, φιλτράρετε τους μεταπωλητές που πωλούσαν περισσότερες από 5 μονάδες και προϊόντα που κοστίζουν περισσότερο από $100. Ο τελεστής, &&, είναι ένας λογικός τελεστής και τελεστής, ο οποίος υποδηλώνει ότι και τα δύο τμήματα της Συνθήκης πρέπει να είναι αληθή ώστε η γραμμή να ανήκει στο φιλτραρισμένο υποσύνολο.

  • Το τρίτο μέρος του τύπου υποδεικνύει τη συνάρτηση SUMX που πρέπει να αθροίζονται οι τιμές. Σε αυτή την περίπτωση, χρησιμοποιείτε μόνο το ποσό πωλήσεων.

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

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

Φίλτρα που καταργούν τα διπλότυπα

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

  • Η διακριτή συνάρτηση εξετάζει μια μεμονωμένη στήλη που καθορίζετε ως όρισμα στη συνάρτηση και επιστρέφει μια νέα στήλη που περιέχει μόνο τις ξεχωριστές τιμές.

  • Η συνάρτηση VALUEs επιστρέφει επίσης μια λίστα μοναδικών τιμών, αλλά επιστρέφει επίσης το άγνωστο μέλος. Αυτό είναι χρήσιμο όταν χρησιμοποιείτε τιμές από δύο πίνακες που ενώνονται με μια σχέση και λείπει μια τιμή σε έναν πίνακα και υπάρχει στην άλλη. Για περισσότερες πληροφορίες σχετικά με το άγνωστο μέλος, ανατρέξτε στο θέμα περιβάλλον σε ΤΎΠΟΥς DAX.

Και οι δύο αυτές συναρτήσεις επιστρέφουν μια ολόκληρη στήλη τιμών. Επομένως, μπορείτε να χρησιμοποιήσετε τις συναρτήσεις για να λάβετε μια λίστα με τις τιμές που μεταβιβάζονται στη συνέχεια σε μια άλλη συνάρτηση. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τον παρακάτω τύπο για να λάβετε μια λίστα με τα διακριτά προϊόντα που πωλούνται από έναν συγκεκριμένο μεταπωλητή, χρησιμοποιώντας τον μοναδικό αριθμό-κλειδί προϊόντος και, στη συνέχεια, να μετρήσετε τα προϊόντα σε αυτή τη λίστα χρησιμοποιώντας τη συνάρτηση COUNTROWS:

= COUNTROWS (διακριτή (' ResellerSales_USD ' [ProductKey]))

Αρχή της σελίδας

Πώς το περιβάλλον επηρεάζει τα φίλτρα

Όταν προσθέτετε έναν τύπο DAX σε έναν Συγκεντρωτικό πίνακα ή ένα Συγκεντρωτικό γράφημα, τα αποτελέσματα του τύπου μπορούν να επηρεαστούν από το περιβάλλον. Εάν εργάζεστε σε έναν Power Pivot πίνακα, το περιβάλλον είναι η τρέχουσα γραμμή και οι τιμές της. Εάν εργάζεστε σε έναν Συγκεντρωτικό πίνακα ή Συγκεντρωτικό γράφημα, το περιβάλλον σημαίνει το σύνολο ή το υποσύνολο των δεδομένων που ορίζονται από λειτουργίες όπως ο τεμαχισμός ή το φιλτράρισμα. Η σχεδίαση του Συγκεντρωτικού πίνακα ή του Συγκεντρωτικού γραφήματος επιβάλλει επίσης το δικό του περιβάλλον. Για παράδειγμα, εάν δημιουργήσετε έναν Συγκεντρωτικό πίνακα που ομαδοποιεί τις πωλήσεις ανά περιοχή και έτος, μόνο τα δεδομένα που ισχύουν για αυτές τις περιοχές και τα έτη εμφανίζονται στον Συγκεντρωτικό πίνακα. Επομένως, οποιαδήποτε μέτρα προσθέτετε στον Συγκεντρωτικό πίνακα υπολογίζονται στο περιβάλλον των επικεφαλίδων στηλών και γραμμών συν τυχόν φίλτρα στον τύπο μέτρησης.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα περιβάλλον σε ΤΎΠΟΥς DAX.

Αρχή της σελίδας

Κατάργηση φίλτρων

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

Παράκαμψη όλων των φίλτρων με τη συνάρτηση ALL

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

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

Για παράδειγμα, ας υποθέσουμε ότι έχετε τους πίνακες, τις πωλήσεις και τα προϊόντα και θέλετε να δημιουργήσετε έναν τύπο που θα υπολογίζει το άθροισμα των πωλήσεων για το τρέχον προϊόν διαιρούμενο με τις πωλήσεις για όλα τα προϊόντα. Πρέπει να λάβετε υπόψη το γεγονός ότι, εάν ο τύπος χρησιμοποιείται σε μια μέτρηση, ο χρήστης του Συγκεντρωτικού πίνακα μπορεί να χρησιμοποιεί έναν αναλυτή για να φιλτράρει ένα συγκεκριμένο προϊόν, με το όνομα του προϊόντος στις γραμμές. Επομένως, για να λάβετε την πραγματική τιμή του παρονομαστή ανεξάρτητα από τα φίλτρα ή τους αναλυτές, πρέπει να προσθέσετε τη συνάρτηση ALL για να παρακάμψετε τυχόν φίλτρα. Ο ακόλουθος τύπος είναι ένα παράδειγμα του τρόπου με τον οποίο μπορείτε να χρησιμοποιήσετε ΌΛΕς τις ενέργειες για να παρακάμψετε τα αποτελέσματα των προηγούμενων φίλτρων:

= SUM (πωλήσεις [ποσό])/SUMX (πωλήσεις [ποσό], φίλτρο (πωλήσεις, όλα (προϊόντα))))

  • Το πρώτο μέρος του τύπου, άθροισμα (πωλήσεις [ποσό]), υπολογίζει τον αριθμητή.

  • Το άθροισμα λαμβάνει υπόψη το τρέχον περιβάλλον, γεγονός που σημαίνει ότι εάν προσθέσετε τον τύπο σε μια υπολογιζόμενη στήλη, εφαρμόζεται το περιβάλλον γραμμής και, εάν προσθέσετε τον τύπο σε έναν Συγκεντρωτικό πίνακα ως μέτρο, εφαρμόζονται όλα τα φίλτρα που εφαρμόζονται στον Συγκεντρωτικό πίνακα (το περιβάλλον φίλτρου).

  • Το δεύτερο μέρος του τύπου, υπολογίζει τον παρονομαστή. Η συνάρτηση ALL παρακάμπτει τα φίλτρα που μπορεί να εφαρμοστούν στον πίνακα Products .

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

Παράκαμψη συγκεκριμένων φίλτρων με τη συνάρτηση ALLEXCEPT

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

Αρχή της σελίδας

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

Χρειάζεστε περισσότερη βοήθεια;

Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×