Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Οι χρήστες που είναι νέοι στο Power BI Desktop μπορούν να χρησιμοποιήσουν αυτό το άρθρο ως μια γρήγορη και εύκολη εισαγωγή σχετικά με τον τρόπο με τον οποίο μπορείτε να χρησιμοποιήσετε παραστάσεις ανάλυσης δεδομένων (DAX) για την επίλυση πολλών βασικών υπολογισμών και προβλημάτων ανάλυσης δεδομένων. Θα εξετάσουμε ορισμένες εννοιολογικές πληροφορίες, μια σειρά εργασιών που μπορείτε να ολοκληρώσετε και έναν έλεγχο γνώσεων για να ελέγξετε τι έχετε μάθει. Μετά την ολοκλήρωση αυτού του άρθρου, θα πρέπει να έχετε κατανοήσει καλά τις πιο σημαντικές θεμελιώδεις έννοιες στο DAX.
Τι είναι το DAX;
Το DAX είναι μια συλλογή συναρτήσεων, τελεστών και σταθερών που μπορούν να χρησιμοποιηθούν σε έναν τύπο ή παράσταση για τον υπολογισμό και την επιστροφή μίας ή περισσότερων τιμών. Το DAX σάς βοηθά να δημιουργήσετε νέες πληροφορίες από δεδομένα που υπάρχουν ήδη στο μοντέλο σας.
Γιατί είναι τόσο σημαντικό το DAX;
Είναι εύκολο να δημιουργήσετε ένα νέο αρχείο Power BI Desktop και να εισαγάγετε ορισμένα δεδομένα σε αυτό. Μπορείτε ακόμη και να δημιουργήσετε αναφορές που εμφανίζουν πολύτιμες πληροφορίες χωρίς να χρησιμοποιήσετε καθόλου τύπους DAX. Τι γίνεται όμως αν χρειαστεί να αναλύσετε το ποσοστό ανάπτυξης σε όλες τις κατηγορίες προϊόντων και για διαφορετικά εύρη ημερομηνιών; Ή, πρέπει να υπολογίσετε την ανάπτυξη από έτος σε έτος σε σύγκριση με τις τάσεις της αγοράς; Οι τύποι DAX παρέχουν αυτήν τη δυνατότητα και πολλές άλλες σημαντικές δυνατότητες. Η εκμάθηση του τρόπου δημιουργίας αποτελεσματικών τύπων DAX θα σας βοηθήσει να αξιοποιήσετε στο έπακρο τα δεδομένα σας. Όταν λάβετε τις πληροφορίες που χρειάζεστε, μπορείτε να αρχίσετε να επιλύετε πραγματικά επιχειρηματικά προβλήματα που επηρεάζουν το τελικό αποτέλεσμα.
Prerequisites
Μπορεί να είστε ήδη εξοικειωμένοι με τη δημιουργία τύπων στο Microsoft Excel και αυτή η γνώση θα σας βοηθήσει να κατανοήσετε το DAX. Ωστόσο, ακόμα και αν δεν έχετε εμπειρία με τύπους του Excel, οι έννοιες που περιγράφονται εδώ θα σας βοηθήσουν να ξεκινήσετε τη δημιουργία τύπων DAX και την επίλυση πραγματικών προβλημάτων BI αμέσως.
Θα επικεντρωθούμε στην κατανόηση των τύπων DAX που χρησιμοποιούνται σε υπολογισμούς, πιο συγκεκριμένα, σε μετρήσεις και υπολογιζόμενες στήλες. Θα πρέπει να είστε ήδη εξοικειωμένοι με τη χρήση του Power BI Desktop για την εισαγωγή δεδομένων και την προσθήκη πεδίων σε μια αναφορά και θα πρέπει επίσης να είστε εξοικειωμένοι με τις θεμελιώδεις έννοιες των μετρήσεων και των υπολογιζόμενων στηλών.
Παράδειγμα βιβλίου εργασίας
Ο καλύτερος τρόπος για να μάθετε το DAX είναι να δημιουργήσετε ορισμένους βασικούς τύπους, να τους χρησιμοποιήσετε με πραγματικά δεδομένα και να δείτε τα αποτελέσματα μόνοι σας. Τα παραδείγματα και οι εργασίες εδώ χρησιμοποιούν το αρχείο Contoso Sales Sample for Power BI Desktop. Αυτό το δείγμα αρχείου είναι το ίδιο που χρησιμοποιείται στο άρθρο Εκμάθηση: Δημιουργία των δικών σας μετρήσεων στο Power BI Desktop .
Ας αρχίσουμε
Θα πλαισιώσουμε την κατανόησή μας για το DAX γύρω από τρεις θεμελιώδεις έννοιες: Σύνταξη, Συναρτήσεις και Περιβάλλον. Υπάρχουν και άλλες σημαντικές έννοιες στο DAX, αλλά η κατανόηση αυτών των τριών εννοιών θα παρέχει την καλύτερη βάση πάνω στην οποία μπορείτε να αναπτύξετε τις δεξιότητές σας στο DAX.
Syntax
Πριν δημιουργήσετε τους δικούς σας τύπους, ας ρίξουμε μια ματιά στη σύνταξη τύπων DAX. Η σύνταξη περιλαμβάνει τα διάφορα στοιχεία που συνθέτουν έναν τύπο, ή πιο απλά, τον τρόπο γραφής του τύπου. Για παράδειγμα, ακολουθεί ένας απλός τύπος DAX για μια μέτρηση:
Αυτός ο τύπος περιλαμβάνει τα ακόλουθα συντακτικά στοιχεία:
A. Το όνομα μέτρησης, Total Sales.
B. Ο τελεστής του συμβόλου ίσον (=), ο οποίος υποδεικνύει την αρχή του τύπου. Όταν υπολογιστεί, θα επιστρέψει ένα αποτέλεσμα.
C. Η συνάρτηση DAX SUM, η οποία αθροίζει όλους τους αριθμούς στη στήλη Sales[SalesAmount]. Θα μάθετε περισσότερα σχετικά με τις συναρτήσεις αργότερα.
D. Παρενθέσεις (), οι οποίες περιβάλλουν μια παράσταση που περιέχει ένα ή περισσότερα ορίσματα. Οι περισσότερες συναρτήσεις απαιτούν τουλάχιστον ένα όρισμα. Ένα όρισμα μεταβιβάζει μια τιμή σε μια συνάρτηση.
E. Ο αναφερόμενος πίνακας, Sales.
F. Η αναφερόμενη στήλη, [SalesAmount], στον πίνακα Sales. Με αυτό το όρισμα, η συνάρτηση SUM γνωρίζει σε ποια στήλη θα συναθροίσει ένα SUM.
Όταν προσπαθείτε να κατανοήσετε έναν τύπο DAX, είναι συχνά χρήσιμο να αναλύσετε κάθε ένα από τα στοιχεία σε μια γλώσσα που σκέφτεστε και μιλάτε καθημερινά. Για παράδειγμα, μπορείτε να διαβάσετε αυτόν τον τύπο ως:
Για τη μέτρηση με το όνομα Total Sales, υπολογίστε (=) το SUM των τιμών στη στήλη [SalesAmount ] στον πίνακα Sales.
Όταν προστίθεται σε μια αναφορά, αυτή η μέτρηση υπολογίζει και επιστρέφει τιμές αθροίζοντας τα ποσά πωλήσεων για καθένα από τα άλλα πεδία που συμπεριλαμβάνουμε, για παράδειγμα, Κινητά τηλέφωνα στις ΗΠΑ.
Μπορεί να σκέφτεστε: "Αυτή η μέτρηση δεν κάνει το ίδιο πράγμα σαν να προσέθετα απλώς το πεδίο SalesAmount στην αναφορά μου;" Λοιπόν, ναι. Ωστόσο, υπάρχει ένας καλός λόγος για να δημιουργήσουμε τη δική μας μέτρηση που αθροίζει τιμές από το πεδίο SalesAmount: Μπορούμε να το χρησιμοποιήσουμε ως όρισμα σε άλλους τύπους. Αυτή η λύση μπορεί να φαίνεται λίγο συγκεχυμένη τώρα, αλλά καθώς αυξάνονται οι δεξιότητές σας στον τύπο DAX, η γνώση αυτής της μέτρησης θα κάνει τους τύπους και το μοντέλο σας πιο αποτελεσματικά. Στην πραγματικότητα, θα δείτε τη μέτρηση Total Sales να εμφανίζεται ως όρισμα σε άλλους τύπους αργότερα.
Ας δούμε μερικά ακόμη πράγματα σχετικά με αυτόν τον τύπο. Συγκεκριμένα, εισαγάγαμε μια συνάρτηση, το SUM. Οι συναρτήσεις είναι προγραμμένοι τύποι που διευκολύνουν την εκτέλεση σύνθετων υπολογισμών και χειρισμών με αριθμούς, ημερομηνίες, ώρα, κείμενο και άλλα. Θα μάθετε περισσότερα σχετικά με τις συναρτήσεις αργότερα.
Βλέπετε επίσης ότι πριν από το όνομα της στήλης [SalesAmount] προηγήθηκε ο πίνακας Sales στον οποίο ανήκει η στήλη. Αυτό το όνομα είναι γνωστό ως πλήρως προσδιορισμένο όνομα στήλης, καθώς περιλαμβάνει το όνομα της στήλης πριν από το όνομα του πίνακα. Οι στήλες που αναφέρονται στον ίδιο πίνακα δεν απαιτούν να συμπεριληφθεί το όνομα του πίνακα στον τύπο, γεγονός που μπορεί να κάνει τους μεγάλους τύπους που αναφέρονται σε πολλές στήλες συντομότερους και πιο ευανάγνωστους. Ωστόσο, είναι καλή πρακτική να συμπεριλάβετε το όνομα του πίνακα στους τύπους μέτρησης, ακόμα και όταν βρίσκεστε στον ίδιο πίνακα.
Note
Εάν ένα όνομα πίνακα περιέχει κενά διαστήματα, δεσμευμένες λέξεις-κλειδιά ή μη επιτρεπόμενους χαρακτήρες, πρέπει να περικλείσετε το όνομα του πίνακα σε μονά εισαγωγικά. Θα χρειαστεί επίσης να περικλείσετε τα ονόματα πινάκων σε εισαγωγικά, εάν το όνομα περιέχει χαρακτήρες εκτός της περιοχής αλφαριθμητικών χαρακτήρων ANSI, ανεξάρτητα από το εάν οι τοπικές ρυθμίσεις σας υποστηρίζουν το σύνολο χαρακτήρων ή όχι.
Είναι σημαντικό οι τύποι σας να έχουν τη σωστή σύνταξη. Στις περισσότερες περιπτώσεις, εάν η σύνταξη δεν είναι σωστή, επιστρέφεται ένα συντακτικό σφάλμα. Σε άλλες περιπτώσεις, η σύνταξη μπορεί να είναι σωστή, αλλά οι τιμές που επιστρέφονται μπορεί να μην είναι οι αναμενόμενες. Το πρόγραμμα επεξεργασίας DAX στο Power BI Desktop περιλαμβάνει μια δυνατότητα προτάσεων, η οποία χρησιμοποιείται για τη δημιουργία συντακτικά σωστών τύπων, βοηθώντας σας να επιλέξετε τα σωστά στοιχεία.
Ας δημιουργήσουμε ένα παράδειγμα τύπου. Αυτή η εργασία θα σας βοηθήσει να κατανοήσετε περαιτέρω τη σύνταξη του τύπου και πώς μπορεί να σας βοηθήσει η δυνατότητα προτάσεων στη γραμμή τύπων.
Εργασία: Δημιουργία τύπου μέτρησης
Κάντε λήψη και ανοίξτε το αρχείο δείγματος πωλήσεων Contoso Power BI Desktop.
Στην προβολή Αναφορά, στη λίστα πεδίων, κάντε δεξί κλικ στον πίνακα Πωλήσεις και, στη συνέχεια, επιλέξτε Νέα μέτρηση.
Στη γραμμή τύπων, αντικαταστήστε τη Μέτρηση εισάγοντας ένα νέο όνομα μέτρησης, Πωλήσεις προηγούμενου τριμήνου.
Μετά το σύμβολο ίσον, πληκτρολογήστε τα πρώτα γράμματα CAL και, στη συνέχεια, κάντε διπλό κλικ στη συνάρτηση που θέλετε να χρησιμοποιήσετε. Σε αυτόν τον τύπο, θέλετε να χρησιμοποιήσετε τη συνάρτηση CALCULATE .
Θα χρησιμοποιήσετε τη συνάρτηση CALCULATE για να φιλτράρετε τα ποσά που θέλουμε να αθροίσουμε με ένα όρισμα που μεταβιβάζουμε στη συνάρτηση CALCULATE. Αυτός ο τύπος συνάρτησης αναφέρεται ως συναρτήσεις ένθεσης. Η συνάρτηση CALCULATE έχει τουλάχιστον δύο ορίσματα. Η πρώτη είναι η έκφραση που πρέπει να αξιολογηθεί και η δεύτερη είναι ένα φίλτρο.
Μετά την αριστερή παρένθεση ( για τη συνάρτηση CALCULATE , πληκτρολογήστε SUM ακολουθούμενη από μια άλλη αριστερή παρένθεση (.
Στη συνέχεια, θα περάσουμε ένα όρισμα στη συνάρτηση SUM.
Αρχίστε να πληκτρολογείτε Sal και, στη συνέχεια, επιλέξτε Sales[SalesAmount], ακολουθούμενο από μια δεξιά παρένθεση ).
Αυτό το βήμα δημιουργεί το πρώτο όρισμα έκφρασης για τη συνάρτηση CALCULATE.
Πληκτρολογήστε ένα κόμμα (,) ακολουθούμενο από ένα κενό διάστημα για να καθορίσετε το πρώτο φίλτρο και, στη συνέχεια, πληκτρολογήστε PREVIOUSQUARTER.
Θα χρησιμοποιήσετε τη συνάρτηση χρονικής ευφυΐας PREVIOUSQUARTER για να φιλτράρετε τα αποτελέσματα SUM κατά το προηγούμενο τρίμηνο.
Μετά την αριστερή παρένθεση ( για τη συνάρτηση PREVIOUSQUARTER, πληκτρολογήστε Calendar[DateKey].
Η συνάρτηση PREVIOUSQUARTER έχει ένα όρισμα, μια στήλη που περιέχει ένα συνεχόμενο εύρος ημερομηνιών. Στην περίπτωσή μας, αυτή είναι η στήλη DateKey στον πίνακα Ημερολόγιο.
Κλείστε και τα δύο ορίσματα που μεταβιβάζονται στη συνάρτηση PREVIOUSQUARTER και στη συνάρτηση CALCULATE πληκτρολογώντας δύο παρενθέσεις κλεισίματος )).
Ο τύπος σας θα πρέπει τώρα να μοιάζει με αυτό:
Πωλήσεις προηγούμενου τριμήνου = CALCULATE(SUM(Sales[SalesAmount]), PREVIOUSQUARTER(Calendar[DateKey]))
Επιλέξτε το σημάδι ελέγχου
στη γραμμή τύπων ή πατήστε Enter για να επικυρώσετε τον τύπο και να τον προσθέσετε στον πίνακα Sales.
Τα καταφέρατε! Μόλις δημιουργήσατε μια σύνθετη μέτρηση χρησιμοποιώντας το DAX. Αυτό που θα κάνει αυτός ο τύπος είναι να υπολογίσει τις συνολικές πωλήσεις για το προηγούμενο τρίμηνο, ανάλογα με τα φίλτρα που εφαρμόζονται σε μια αναφορά. Για παράδειγμα, μπορούμε να τοποθετήσουμε το SalesAmount και τη νέα μας μέτρηση Previous Quarter Sales από τον πίνακα Sales σε ένα γράφημα ομαδοποιημένων στηλών. Στη συνέχεια, από τον πίνακα Ημερολόγιο, προσθέστε το Έτος ως αναλυτή και επιλέξτε 2011. Στη συνέχεια, προσθέστε το QuarterOfYear ως έναν άλλο αναλυτή και επιλέξτε 4 και θα λάβετε ένα γράφημα όπως αυτό:
Λάβετε υπόψη ότι το δείγμα μοντέλου περιέχει μόνο μια μικρή ποσότητα δεδομένων πωλήσεων από 1/1/2011 έως 19/1/2013. Εάν επιλέξετε ένα έτος ή τρίμηνο όπου δεν είναι δυνατή η άθροιση του SalesAmount ή η νέα μέτρησή σας δεν μπορεί να υπολογίσει δεδομένα πωλήσεων για το τρέχον ή το προηγούμενο τρίμηνο, δεν εμφανίζονται δεδομένα για αυτήν την περίοδο. Για παράδειγμα, εάν επιλέξετε 2011 για το Έτος και 1 για το Τρίμηνο του έτους, δεν εμφανίζονται δεδομένα για τις Πωλήσεις προηγούμενου τριμήνου, επειδή δεν υπάρχουν δεδομένα για το τέταρτο τρίμηνο του 2010.
Σας παρουσιάστηκαν πολλές σημαντικές πτυχές των τύπων DAX:
Αυτός ο τύπος περιελάμβανε δύο συναρτήσεις. Η PREVIOUSQUARTER, μια συνάρτηση χρονικής ευφυΐας, είναι ένθετη ως όρισμα που μεταβιβάζεται στην CALCULATE, μια συνάρτηση φίλτρου.
Οι τύποι DAX μπορούν να περιέχουν έως και 64 ένθετες συναρτήσεις. Είναι απίθανο ένας τύπος να περιέχει ποτέ τόσες πολλές ένθετες συναρτήσεις. Στην πραγματικότητα, ένας τέτοιος τύπος θα ήταν δύσκολο να δημιουργηθεί και να διορθωθεί, και πιθανότατα δεν θα ήταν ούτε γρήγορος.
Σε αυτόν τον τύπο, χρησιμοποιήσατε επίσης φίλτρα. Τα φίλτρα περιορίζουν αυτό που θα υπολογιστεί. Σε αυτήν την περίπτωση, επιλέξατε ένα φίλτρο ως όρισμα, το οποίο είναι στην πραγματικότητα το αποτέλεσμα μιας άλλης συνάρτησης. Θα μάθετε περισσότερα σχετικά με τα φίλτρα αργότερα.
Χρησιμοποιήσατε τη συνάρτηση CALCULATE. Αυτή η συνάρτηση είναι μία από τις πιο ισχυρές συναρτήσεις στο DAX. Καθώς συντάσσετε μοντέλα και δημιουργείτε πιο σύνθετους τύπους, πιθανότατα θα χρησιμοποιήσετε αυτήν τη συνάρτηση πολλές φορές. Παρόλο που η περαιτέρω συζήτηση σχετικά με τη συνάρτηση CALCULATE δεν εμπίπτει στο πεδίο εφαρμογής αυτού του άρθρου, καθώς αυξάνονται οι γνώσεις σας για το DAX, δώστε ιδιαίτερη προσοχή σε αυτήν.
Σύνταξη QuickQuiz
Τι κάνει αυτό το κουμπί στη γραμμή τύπων;
Τι περιβάλλει πάντα ένα όνομα στήλης σε έναν τύπο DAX;
Οι απαντήσεις παρέχονται στο τέλος αυτού του άρθρου.
Functions
Οι συναρτήσεις είναι προκαθορισμένοι τύποι που εκτελούν υπολογισμούς χρησιμοποιώντας συγκεκριμένες τιμές, που ονομάζονται ορίσματα, με συγκεκριμένη σειρά ή δομή. Τα ορίσματα μπορεί να είναι άλλες συναρτήσεις, ένας άλλος τύπος, παράσταση, αναφορές στηλών, αριθμοί, κείμενο, λογικές τιμές όπως TRUE ή FALSE ή σταθερές.
Το DAX περιλαμβάνει τις ακόλουθες κατηγορίες συναρτήσεων: Date and Time, Time Intelligence, Information, Logical, Mathematical, Statistical, Text, Parent/Child και Other functions. Εάν είστε εξοικειωμένοι με τις συναρτήσεις σε τύπους του Excel, πολλές από τις συναρτήσεις στο DAX θα εμφανίζονται παρόμοιες με εσάς. Ωστόσο, οι συναρτήσεις DAX είναι μοναδικές με τους εξής τρόπους:
Μια συνάρτηση DAX αναφέρεται πάντα σε μια πλήρη στήλη ή έναν πίνακα. Εάν θέλετε να χρησιμοποιήσετε μόνο συγκεκριμένες τιμές από έναν πίνακα ή μια στήλη, μπορείτε να προσθέσετε φίλτρα στον τύπο.
Εάν θέλετε να προσαρμόσετε τους υπολογισμούς ανά γραμμή, το DAX παρέχει συναρτήσεις που σας επιτρέπουν να χρησιμοποιήσετε την τρέχουσα τιμή γραμμής ή μια σχετική τιμή ως ένα είδος ορίσματος για την εκτέλεση υπολογισμών με βάση το περιβάλλον. Θα μάθετε περισσότερα σχετικά με το ευρύτερο πλαίσιο αργότερα.
Το DAX περιλαμβάνει πολλές συναρτήσεις που επιστρέφουν έναν πίνακα αντί για μια τιμή. Ο πίνακας δεν εμφανίζεται, αλλά χρησιμοποιείται για την παροχή δεδομένων εισόδου σε άλλες συναρτήσεις. Για παράδειγμα, μπορείτε να ανακτήσετε έναν πίνακα και, στη συνέχεια, να μετρήσετε τις διακριτές τιμές σε αυτόν ή να υπολογίσετε δυναμικά αθροίσματα σε φιλτραρισμένους πίνακες ή στήλες.
Το DAX περιλαμβάνει διάφορες συναρτήσεις χρονικής ευφυΐας. Αυτές οι συναρτήσεις σάς επιτρέπουν να ορίζετε ή να επιλέγετε εύρη ημερομηνιών και να εκτελείτε δυναμικούς υπολογισμούς με βάση αυτά. Για παράδειγμα, μπορείτε να συγκρίνετε αθροίσματα σε παράλληλες περιόδους.
Το Excel έχει μια δημοφιλή λειτουργία, το VLOOKUP. Οι συναρτήσεις DAX δεν λαμβάνουν ένα κελί ή μια περιοχή κελιών ως αναφορά, όπως κάνει η συνάρτηση VLOOKUP στο Excel. Οι συναρτήσεις DAX λαμβάνουν μια στήλη ή έναν πίνακα ως αναφορά. Λάβετε υπόψη ότι στο Power BI Desktop εργάζεστε με ένα σχεσιακό μοντέλο δεδομένων. Η αναζήτηση τιμών σε έναν άλλο πίνακα είναι εύκολη και στις περισσότερες περιπτώσεις δεν χρειάζεται να δημιουργήσετε καθόλου τύπους.
Όπως μπορείτε να δείτε, οι συναρτήσεις στο DAX μπορούν να σας βοηθήσουν να δημιουργήσετε ισχυρούς τύπους. Θίξαμε μόνο τα βασικά των λειτουργιών. Καθώς οι δεξιότητές σας στο DAX αυξάνονται, θα δημιουργείτε τύπους χρησιμοποιώντας πολλές διαφορετικές συναρτήσεις. Ένα από τα καλύτερα σημεία για να μάθετε λεπτομέρειες σχετικά με κάθε μία από τις συναρτήσεις DAX είναι η Αναφορά συναρτήσεων DAX.
Λειτουργίες QuickQuiz
- Σε τι αναφέρεται πάντα μια συνάρτηση;
- Μπορεί ένας τύπος να περιέχει περισσότερες από μία συναρτήσεις;
- Ποια κατηγορία συναρτήσεων θα χρησιμοποιούσατε για να συνδέσετε δύο συμβολοσειρές κειμένου σε μία συμβολοσειρά;
Οι απαντήσεις παρέχονται στο τέλος αυτού του άρθρου.
Context
Το περιβάλλον είναι μία από τις πιο σημαντικές έννοιες DAX που πρέπει να κατανοήσετε. Υπάρχουν δύο τύποι περιβάλλοντος στο DAX: το περιβάλλον γραμμής και το περιβάλλον φίλτρου. Θα εξετάσουμε πρώτα το πλαίσιο της σειράς.
Περιβάλλον γραμμής
Το περιβάλλον γραμμής θεωρείται πιο εύκολα ως η τρέχουσα γραμμή. Εφαρμόζεται κάθε φορά που ένας τύπος έχει μια συνάρτηση που εφαρμόζει φίλτρα για τον προσδιορισμό μιας μεμονωμένης γραμμής σε έναν πίνακα. Η συνάρτηση θα εφαρμόσει εγγενώς ένα περιβάλλον γραμμής για κάθε γραμμή του πίνακα στον οποίο φιλτράρει. Αυτός ο τύπος περιβάλλοντος γραμμής ισχύει συχνότερα για μετρήσεις.
Περιβάλλον φίλτρου
Το περιβάλλον φίλτρου είναι λίγο πιο δύσκολο να κατανοηθεί από το περιβάλλον γραμμής. Μπορείτε πιο εύκολα να σκεφτείτε το περιβάλλον φίλτρου ως: Ένα ή περισσότερα φίλτρα που εφαρμόζονται σε έναν υπολογισμό που καθορίζει ένα αποτέλεσμα ή μια τιμή.
Το περιβάλλον φίλτρου δεν υπάρχει στη θέση του περιβάλλοντος γραμμής. Αντίθετα, ισχύει επιπλέον του περιβάλλοντος γραμμής. Για παράδειγμα, για να περιορίσετε περαιτέρω τις τιμές που θα συμπεριληφθούν σε έναν υπολογισμό, μπορείτε να εφαρμόσετε ένα περιβάλλον φίλτρου, το οποίο όχι μόνο καθορίζει το περιβάλλον γραμμής, αλλά καθορίζει επίσης μια συγκεκριμένη τιμή (φίλτρο) σε αυτό το περιβάλλον γραμμής.
Το περιβάλλον φίλτρου είναι εύκολα ορατό στις αναφορές σας. Για παράδειγμα, όταν προσθέτετε το TotalCost σε μια απεικόνιση και, στη συνέχεια, προσθέτετε το Έτος και την Περιοχή, ορίζετε ένα περιβάλλον φίλτρου που επιλέγει ένα υποσύνολο δεδομένων με βάση ένα δεδομένο έτος και περιοχή.
Γιατί το περιβάλλον φίλτρου είναι τόσο σημαντικό για το DAX; Έχετε δει ότι το περιβάλλον φίλτρου μπορεί να εφαρμοστεί με την προσθήκη πεδίων σε μια απεικόνιση. Το περιβάλλον φίλτρου μπορεί επίσης να εφαρμοστεί σε έναν τύπο DAX, ορίζοντας ένα φίλτρο με συναρτήσεις όπως ALL, RELATED, FILTER, CALCULATE, κατά σχέσεις και από άλλες μετρήσεις και στήλες. Για παράδειγμα, ας δούμε τον ακόλουθο τύπο σε μια μέτρηση που ονομάζεται Πωλήσεις καταστήματος:
Για να κατανοήσουμε καλύτερα αυτόν τον τύπο, μπορούμε να τον αναλύσουμε, όπως και με άλλους τύπους.
Αυτός ο τύπος περιλαμβάνει τα ακόλουθα συντακτικά στοιχεία:
A. Το όνομα της μέτρησης, Πωλήσεις καταστήματος.
B. Ο τελεστής του συμβόλου ίσον (=), ο οποίος υποδεικνύει την αρχή του τύπου.
C. Η συνάρτηση CALCULATE , η οποία αξιολογεί μια παράσταση, ως όρισμα, σε ένα περιβάλλον που τροποποιείται από τα καθορισμένα φίλτρα.
D. Παρενθέσεις (), οι οποίες περιβάλλουν μια έκφραση που περιέχει ένα ή περισσότερα ορίσματα.
E. Μια μέτρηση [Total Sales] στον ίδιο πίνακα με μια παράσταση. Η μέτρηση Total Sales έχει τον τύπο: =SUM(Sales[SalesAmount]).
F. Ένα κόμμα (,), το οποίο διαχωρίζει το όρισμα της πρώτης έκφρασης από το όρισμα φίλτρου.
G. Η πλήρως προσδιορισμένη στήλη αναφοράς, Channel[ChannelName]. Αυτό είναι το πλαίσιο της σειράς μας. Κάθε γραμμή σε αυτήν τη στήλη καθορίζει ένα κανάλι, όπως Store ή Online.
H. Η συγκεκριμένη τιμή, Store, ως φίλτρο. Αυτό είναι το πλαίσιο του φίλτρου μας.
Αυτός ο τύπος εξασφαλίζει ότι μόνο οι τιμές πωλήσεων που ορίζονται από τη μέτρηση Total Sales υπολογίζονται μόνο για γραμμές στη στήλη Channel[ChannelName], με την τιμή Store να χρησιμοποιείται ως φίλτρο.
Όπως μπορείτε να φανταστείτε, η δυνατότητα ορισμού του περιβάλλοντος φίλτρου μέσα σε έναν τύπο έχει τεράστιες και ισχυρές δυνατότητες. Η δυνατότητα αναφοράς μόνο μιας συγκεκριμένης τιμής σε έναν σχετικό πίνακα είναι μόνο ένα τέτοιο παράδειγμα. Μην ανησυχείτε αν δεν κατανοήσετε πλήρως το πλαίσιο αμέσως. Καθώς δημιουργείτε τους δικούς σας τύπους, θα κατανοήσετε καλύτερα το περιβάλλον και γιατί είναι τόσο σημαντικό στο DAX.
Πλαίσιο QuickQuiz
- Ποιοι είναι οι δύο τύποι πλαισίου;
- Τι είναι το περιβάλλον φίλτρου;
- Τι είναι το περιβάλλον γραμμής;
Οι απαντήσεις παρέχονται στο τέλος αυτού του άρθρου.
Εκτιμήσεις
Λάβετε υπόψη ότι ενώ το πρόγραμμα επεξεργασίας Power Query κάνει διάκριση πεζών-κεφαλαίων, το DAX και ο μηχανισμός των Υπηρεσιών ανάλυσης που τροφοδοτεί το Power BI δεν κάνουν διάκριση πεζών-κεφαλαίων μετά τη φόρτωση των δεδομένων στο προσκήνιο. Λάβετε υπόψη αυτήν τη διάκριση κατά τη σύνταξη ερωτημάτων DAX.
Summary
Τώρα που έχετε μια βασική κατανόηση των πιο σημαντικών εννοιών στο DAX, μπορείτε να αρχίσετε να δημιουργείτε τύπους DAX για μετρήσεις μόνοι σας. Η εκμάθηση του DAX μπορεί πράγματι να είναι λίγο δύσκολη, αλλά υπάρχουν πολλοί διαθέσιμοι πόροι. Αφού διαβάσετε αυτό το άρθρο και πειραματιστείτε με μερικούς από τους δικούς σας τύπους, μπορείτε να μάθετε περισσότερα σχετικά με άλλες έννοιες και τύπους DAX που μπορούν να σας βοηθήσουν να επιλύσετε τα δικά σας επιχειρηματικά προβλήματα. Υπάρχουν πολλοί διαθέσιμοι πόροι DAX. Το πιο σημαντικό είναι η αναφορά παραστάσεων ανάλυσης δεδομένων (DAX).
Επειδή το DAX υπάρχει εδώ και αρκετά χρόνια σε άλλα εργαλεία Microsoft BI, όπως το Power Pivot και τα μοντέλα σε μορφή πίνακα των Υπηρεσιών ανάλυσης, υπάρχουν πολλές εξαιρετικές πληροφορίες για τις προελεύσεις εκεί έξω. Μπορείτε να βρείτε περισσότερες πληροφορίες σε βιβλία, λευκές βίβλους και ιστολόγια τόσο από τη Microsoft όσο και από κορυφαίους επαγγελματίες του BI. Το Κέντρο πόρων DAX είναι επίσης ένα εξαιρετικό μέρος για να ξεκινήσετε.
Απαντήσεις QuickQuiz
Syntax:
- Επικυρώνει και εισάγει τη μέτρηση στο μοντέλο.
- Αγκύλες [].
Functions:
- Έναν πίνακα και μια στήλη.
- Yes. Ένας τύπος μπορεί να περιέχει έως και 64 ένθετες συναρτήσεις.
- Συναρτήσεις κειμένου.
Context:
- Περιβάλλον γραμμής και περιβάλλον φίλτρου.
- Ένα ή περισσότερα φίλτρα σε έναν υπολογισμό που καθορίζει μία μόνο τιμή.
- Η τρέχουσα σειρά.