Φιλτράρισμα δεδομένων σε τύπους 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 για να καθορίσετε ποια από τις γραμμές από τον πίνακα που χρησιμοποιούνται.

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

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

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

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

Φίλτρα κατάργησης διπλότυπων τιμών

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

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

  • Η συνάρτηση ΤΙΜΈΣ επίσης επιστρέφει μια λίστα με μοναδικές τιμές, αλλά επιστρέφει επίσης το άγνωστο μέλος. Αυτό είναι χρήσιμο όταν χρησιμοποιείτε τιμές από δύο πίνακες που συνδέονται με σχέση και είναι μια τιμή που λείπουν σε έναν πίνακα και παρουσίαση στο άλλο. Για περισσότερες πληροφορίες σχετικά με το άγνωστο μέλος, ανατρέξτε στο θέμα περιβάλλον σε τύπους DAX.

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

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

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

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

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

Για περισσότερες πληροφορίες, ανατρέξτε στο άρθρο Το περιβάλλον σε τύπους DAX.

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

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

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

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

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

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

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

= SUM (Πωλήσεις [Ποσότητα]) / SUMX (Πωλήσεις [Ποσότητα], ΦΊΛΤΡΟ (Πωλήσεις, ALL(Products)))

  • Το πρώτο τμήμα του τύπου, SUM (Sales[Amount]), υπολογίζει τον αριθμητή.

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

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

Για περισσότερες πληροφορίες και λεπτομερή παραδείγματα, ανατρέξτε στο άρθρο Συνάρτηση ΑLL.

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

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

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

ΣΗΜΕΙΩΣΗ : Αποποίηση ευθυνών αυτόματης μετάφρασης: Αυτό το άρθρο έχει μεταφραστεί από ένα σύστημα υπολογιστή χωρίς ανθρώπινη παρέμβαση. Η Microsoft προσφέρει αυτές τις αυτόματες μεταφράσεις για να βοηθά τους μη αγγλόφωνους χρήστες να απολαμβάνουν περιεχόμενο σχετικά με προϊόντα, υπηρεσίες και τεχνολογίες της Microsoft. Το άρθρο προέρχεται από μηχανική μετάφραση, συνεπώς ενδέχεται να περιέχει λάθη λεξιλογίου, σύνταξης ή γραμματικής.

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

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

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

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

×