Ανάγνωση στα Αγγλικά

Κοινή χρήση μέσω


επισκόπηση DAX

Το Data Analysis Expressions (DAX) είναι μια γλώσσα παράστασης τύπου που χρησιμοποιείται στις Υπηρεσίες ανάλυσης Power BI andPower Pivot στο Excel. DAX τύποι περιλαμβάνουν συναρτήσεις, τελεστές andvalues για την εκτέλεση σύνθετων υπολογισμών and ερωτημάτων σε δεδομένα σε related πίνακες and στήλες σε μοντέλα δεδομένων σε μορφή πίνακα.

Αυτό το άρθρο παρέχει μόνο μια βασική εισαγωγή στις πιο σημαντικές έννοιες στην DAX. Περιγράφει DAX όπως ισχύει για all τα προϊόντα που τα χρησιμοποιούν. Ορισμένες λειτουργίες ενδέχεται not ισχύουν για ορισμένα προϊόντα or περιπτώσεις χρήσης. Ανατρέξτε στην τεκμηρίωση του productσας, περιγράφοντας τη συγκεκριμένη υλοποίηση του DAX.

Υπολογισμούς

DAX τύποι χρησιμοποιούνται σε μετρήσεις, υπολογιζόμενες στήλες, υπολογιζόμενους πίνακες and ασφάλεια σε επίπεδο γραμμών.

Μέτρα

Οι μετρήσεις είναι δυναμικοί τύποι υπολογισμού όπου τα αποτελέσματα αλλάζουν ανάλογα με το περιβάλλον. Οι μετρήσεις χρησιμοποιούνται στις αναφορές που υποστηρίζουν τον συνδυασμό and φιλτράρισμα δεδομένων μοντέλου με τη χρήση πολλών χαρακτηριστικών, όπως μια αναφορά Power BI or Συγκεντρωτικός Πίνακας του Excel or PivotChart. Οι μετρήσεις δημιουργούνται χρησιμοποιώντας τη DAX γραμμή τύπων στη σχεδίαση μοντέλου.

Ένας τύπος σε ένα measure μπορεί να χρησιμοποιήσει τις τυπικές συναρτήσεις συνάθροισης που δημιουργήθηκαν αυτόματα χρησιμοποιώντας τη δυνατότητα Autosum, όπως COUNTorSUM, or μπορείτε να define τον δικό σας τύπο χρησιμοποιώντας τη DAX γραμμή τύπων. Οι επώνυμες μετρήσεις μπορούν να διαβιβαστούν ως όρισμα σε άλλες μετρήσεις.

Όταν define έναν τύπο για μια measure στη γραμμή τύπων, μια δυνατότητα συμβουλής εργαλείου εμφανίζει μια προεπισκόπηση των αποτελεσμάτων για το σύνολο στο τρέχον περιβάλλον, διαφορετικά, τα αποτελέσματα not εξάγονται αμέσως οπουδήποτε. Ο λόγος για τον οποίο δεν μπορείτε να δείτε αμέσως τα (φιλτραρισμένα) αποτελέσματα του υπολογισμού είναι επειδή το αποτέλεσμα μιας measure δεν μπορεί να προσδιοριστεί χωρίς περιβάλλον. Για να evaluate μια measure απαιτεί μια εφαρμογή-πελάτη αναφορών που μπορεί να παρέχει το περιβάλλον που απαιτείται για την ανάκτηση των δεδομένων που σχετίζονται με κάθε κελί and, στη συνέχεια, να evaluate την παράσταση για κάθε κελί. Αυτό το πρόγραμμα-πελάτης μπορεί να είναι ένας Συγκεντρωτικός Πίνακας του Excel or PivotChart, μια αναφορά Power BI, or μια παράσταση πίνακα σε ένα ερώτημα DAX στο SQL Server Management Studio (SSMS).

Ανεξάρτητα από το πρόγραμμα-πελάτη, εκτελείται ένα ξεχωριστό ερώτημα για κάθε κελί στα αποτελέσματα. Αυτό σημαίνει ότι κάθε συνδυασμός κεφαλίδων στηλών and γραμμής σε έναν Συγκεντρωτικό Πίνακα or κάθε επιλογή αναλυτών που andfilters σε μια αναφορά Power BI, δημιουργεί ένα διαφορετικό υποσύνολο δεδομένων μέσω του οποίου υπολογίζεται η measure. Για παράδειγμα, χρησιμοποιώντας αυτόν τον πολύ απλό measure τύπο:

DAX
Total Sales = SUM([Sales Amount])

Όταν ένας χρήστης τοποθετήσει το measure TotalSales σε μια αναφορά, and, στη συνέχεια, τοποθετεί τη στήλη Product Category από έναν πίνακα Product στο Filters, το sum του Sales Amount υπολογίζεται and εμφανίζεται για κάθε κατηγορία product.

Σε αντίθεση με τις υπολογιζόμενες στήλες, η σύνταξη για μια measure περιλαμβάνει το όνομα του measureπου προηγείται του τύπου. Στο παράδειγμα που μόλις δόθηκε, εμφανίζεται το όνομα Συνολικές πωλήσεις πριν από τον τύπο. Αφού δημιουργήσετε ένα measure, το όνομα and ο ορισμός του εμφανίζονται στη λίστα Πεδία της εφαρμογής προγράμματος-πελάτη αναφοράς, and ανάλογα με τις προοπτικές, οι ρόλοι and είναι διαθέσιμοι στους χρήστες του μοντέλου all.

Για να μάθετε περισσότερα, ανατρέξτε στα εξής:
μετρήσεων στοPower BI Desktop
μετρήσεων στο Υπηρεσιών ανάλυσης
μετρήσεων στονPower Pivot

Υπολογιζόμενες στήλες

Μια υπολογιζόμενη στήλη είναι μια στήλη που προσθέτετε σε έναν υπάρχοντα πίνακα (στο εργαλείο σχεδίασης μοντέλων) and στη συνέχεια, δημιουργείτε έναν DAX τύπο που ορίζει τον valuesτης στήλης . Όταν μια υπολογιζόμενη στήλη contains έναν έγκυρο τύπο DAX, values υπολογίζονται για κάθε γραμμή μόλις εισαχθεί ο τύπος. στη συνέχεια, οι Values αποθηκεύονται στο μοντέλο δεδομένων εντός της μνήμης. Για παράδειγμα, σε έναν Date πίνακα, όταν ο τύπος καταχωρείται στη γραμμή τύπων:

DAX
= [Calendar Year] & " Q" & [Calendar Quarter]

Μια value για κάθε γραμμή του πίνακα υπολογίζεται λαμβάνοντας values από τη στήλη CalendarYear (στον ίδιο Date πίνακα), προσθέτοντας ένα κενό διάστημα and το κεφαλαίο γράμμα Q and, προσθέτοντας στη συνέχεια την values από τη στήλη CalendarQuarter (στον ίδιο πίνακα Date). Το αποτέλεσμα για κάθε γραμμή στην υπολογιζόμενη στήλη υπολογίζεται αμέσως and εμφανίζεται, για παράδειγμα, όπως Τ1 2017. Οι values στηλών υπολογίζονται ξανά μόνο if πίνακα orrelated πίνακας επεξεργάζεται (ανανέωση) or το μοντέλο καταργείται από τη μνήμη and, στη συνέχεια, φορτώνεται ξανά, όπως κατά το κλείσιμο and το άνοιγμα ενός αρχείου του Power BI Desktop.

Για να μάθετε περισσότερα, ανατρέξτε στα εξής:
Υπολογιζόμενες στήλες στοPower BI Desktop
υπολογιζόμενων στηλών στις Υπηρεσίες ανάλυσης
υπολογιζόμενων στηλών σε Power συγκεντρωτικές.

Υπολογιζόμενοι πίνακες

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

Οι υπολογιζόμενοι πίνακες μπορούν να είναι χρήσιμοι σε μια διάσταση αναπαραγωγής ρόλων. Ένα παράδειγμα είναι ο πίνακας Date, ως ΗμερομηνίαΠαραγγελίας, Ημερομηνία Αποστολής or DueDate, ανάλογα με τη σχέση εξωτερικού κλειδιού. Δημιουργώντας έναν υπολογιζόμενο πίνακα για την ShipDate ρητά, λαμβάνετε έναν μεμονωμένο πίνακα που είναι διαθέσιμος για ερωτήματα, τόσο πλήρως λειτουργικός όσο οποιοσδήποτε άλλος πίνακας. Οι υπολογιζόμενοι πίνακες είναι επίσης χρήσιμοι κατά τη ρύθμιση παραμέτρων ενός φιλτραρισμένου συνόλου γραμμών or ένα υποσύνολο or υπερσύνολο στηλών από άλλους υπάρχοντες πίνακες. Αυτό σας επιτρέπει να διατηρήσετε τον αρχικό πίνακα ανέπαφο κατά τη δημιουργία παραλλαγών αυτού του πίνακα για την υποστήριξη συγκεκριμένων σεναρίων.

Οι υπολογιζόμενοι πίνακες υποστηρίζουν σχέσεις με άλλους πίνακες. Οι στήλες στον υπολογιζόμενο πίνακα έχουν τύπους δεδομένων, μορφοποίηση and μπορούν να ανήκουν σε μια κατηγορία δεδομένων. Οι υπολογιζόμενοι πίνακες μπορούν να ονομαστούν and να εμφανιστούν or κρυφοί όπως κάθε άλλος πίνακας. Οι υπολογιζόμενοι πίνακες υπολογίζονται εκ νέου if οποιοσδήποτε από τους πίνακες από τους οποίους αντλούν δεδομένα ανανεώνεται or ενημερώνεται.

Για να μάθετε περισσότερα, ανατρέξτε στα εξής:
υπολογιζόμενοι πίνακες στοPower BI Desktop
υπολογιζόμενοι πίνακες στοΥπηρεσιών ανάλυσης .

Ασφάλεια σε επίπεδο γραμμών

Με την ασφάλεια σε επίπεδο γραμμών, ένας τύπος DAX πρέπει να evaluate σε μια δυαδική TRUE/FALSE συνθήκη, που ορίζει ποιες γραμμές μπορούν να επιστραφούν από τα αποτελέσματα ενός ερωτήματος από μέλη ενός συγκεκριμένου ρόλου. Για παράδειγμα, για τα μέλη του ρόλου Sales, ο πίνακας Customers με τον παρακάτω DAX τύπο:

DAX
= Customers[Country] = "USA"

Τα μέλη του ρόλου Πωλήσεις θα μπορούν να προβάλουν δεδομένα μόνο για πελάτες στις Η.Π.Α. and συγκεντρωτικές τιμές, όπως SUM επιστρέφονται μόνο για πελάτες στις Η.Π.Α. Η ασφάλεια σε επίπεδο γραμμών είναι not διαθέσιμη στο Power Pivot στο Excel.

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

Οι τύποι ασφάλειας σε επίπεδο γραμμών ισχύουν για τις καθορισμένες γραμμές, καθώς και για related γραμμές. Όταν ένας πίνακας έχει πολλές σχέσεις, filters να εφαρμόζετε ασφάλεια για τη σχέση που είναι ενεργή. Οι τύποι ασφάλειας σε επίπεδο γραμμών θα διασταυρώνονται με άλλους τύπους που έχουν οριστεί για related πίνακες.

Για να μάθετε περισσότερα, ανατρέξτε στα εξής:
ασφάλειας σε επίπεδο γραμμών (RLS) με τοPower BI
ρόλοι στο Υπηρεσιών ανάλυσης

Ερωτήματα

DAX ερωτήματα μπορούν να δημιουργηθούν and εκτελούνται στο SQL Server Management Studio (SSMS) and εργαλεία ανοιχτού κώδικα όπως το DAX Studio (daxstudio.org). Σε αντίθεση με DAX τύπους υπολογισμού, οι οποίοι μπορούν να δημιουργηθούν μόνο σε μοντέλα δεδομένων σε μορφή πίνακα, DAX ερωτήματα μπορούν επίσης να εκτελεστούν σε πολυδιάστατα μοντέλα των Υπηρεσιών ανάλυσης. DAX ερωτήματα είναι συχνά πιο εύκολο να συντάσσονται and πιο αποδοτικά από τα ερωτήματα πολυδιάστατων παραστάσεων δεδομένων (MDX).

Ένα ερώτημα DAX είναι μια πρόταση, παρόμοια με μια πρόταση SELECT στο T-SQL. Ο πιο βασικός τύπος ερωτήματος DAX είναι μια evaluate πρόταση. Για παράδειγμα

DAX
EVALUATE
 ( FILTER ( 'DimProduct', [SafetyStockLevel] < 200 ) )
ORDER BY [EnglishProductName] ASC

Επιστρέφει στα αποτελέσματα έναν πίνακα που παραθέτει μόνο τα προϊόντα με SafetyStockLevel μικρότερο από 200, σε αύξουσα σειρά κατά EnglishProductName.

Μπορείτε να δημιουργήσετε μετρήσεις ως μέρος του ερωτήματος. Οι μετρήσεις υπάρχουν μόνο για το duration του ερωτήματος. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα DAX ερωτημάτων.

Τύπους

DAX τύποι είναι απαραίτητοι για τη δημιουργία υπολογισμών σε υπολογιζόμενες στήλες and μετρήσεις and την ασφάλεια των δεδομένων σας, χρησιμοποιώντας ασφάλεια σε επίπεδο γραμμών. Για να δημιουργήσετε τύπους για υπολογιζόμενες στήλες and μετρήσεις, χρησιμοποιήστε τη γραμμή τύπων στο επάνω μέρος της σχεδίασης μοντέλων windowor στο Πρόγραμμα επεξεργασίας DAX. Για να δημιουργήσετε τύπους για ασφάλεια σε επίπεδο γραμμών, χρησιμοποιήστε τη Διαχείριση ρόλων or παράθυρο διαλόγου Διαχείριση ρόλων. Οι πληροφορίες σε αυτή την ενότητα προορίζονται για να ξεκινήσετε με την κατανόηση των βασικών DAX τύπων.

Βασικά στοιχεία τύπων

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

Τύπος Ορισμός
= TODAY() Εισάγει datetodayσε κάθε γραμμή μιας υπολογιζόμενης στήλης.
= 3 Εισάγει το value 3 σε κάθε γραμμή μιας υπολογιζόμενης στήλης.
= [Column1] + [Column2] Προσθέτει το values στην ίδια γραμμή του [Column1] and [Column2] and τοποθετεί τα αποτελέσματα στην υπολογιζόμενη στήλη της ίδιας γραμμής.

Είτε ο τύπος που δημιουργείτε είναι απλός or σύνθετος, μπορείτε να χρησιμοποιήσετε τα παρακάτω βήματα κατά τη δημιουργία ενός τύπου:

  1. Κάθε τύπος πρέπει να ξεκινά με ίσο sign (=).

  2. Μπορείτε είτε να πληκτρολογήσετε or επιλέξετε ένα όνομα συνάρτησης, or να πληκτρολογήσετε μια παράσταση.

  3. Αρχίστε να πληκτρολογείτε το first λίγα γράμματα της συνάρτησης or όνομα που θέλετε, and αυτόματη καταχώρηση εμφανίζει μια λίστα με τις διαθέσιμες συναρτήσεις, πίνακες and στήλες. Πατήστε το ΠΛΉΚΤΡΟ TAB για να προσθέσετε ένα στοιχείο από τη λίστα αυτόματης συμπλήρωσης στον τύπο.

    Μπορείτε επίσης να κάνετε κλικ στο κουμπί Fx για να εμφανίσετε μια λίστα με τις διαθέσιμες συναρτήσεις. Για να επιλέξετε μια συνάρτηση από την αναπτυσσόμενη λίστα, χρησιμοποιήστε τα πλήκτρα βέλους για να επισημάνετε το στοιχείο and κάντε κλικ στο κουμπί OK για να προσθέσετε τη συνάρτηση στον τύπο.

  4. Δώστε τα ορίσματα στη συνάρτηση, επιλέγοντάς τα από μια αναπτυσσόμενη λίστα πιθανών πινάκων and στηλών, or πληκτρολογώντας values.

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

  6. Πατήστε το ΠΛΉΚΤΡΟ ENTER για να αποδεχτείτε τον τύπο.

Σημείωση

Σε μια υπολογιζόμενη στήλη, μόλις εισαγάγετε τον τύπο and επικυρωθεί ο τύπος, η στήλη συμπληρώνεται με values. Σε μια measure, πατώντας το πλήκτρο ENTER αποθηκεύεται ο measure ορισμός με τον πίνακα. If ένας τύπος δεν είναι έγκυρος, εμφανίζεται ένα error.

Σε αυτό το παράδειγμα, ας δούμε έναν τύπο σε μια measure που ονομάζεται Days στην τρέχουσα Quarter:

DAX
Days in Current Quarter = COUNTROWS( DATESBETWEEN( 'Date'[Date], STARTOFQUARTER( LASTDATE('Date'[Date])), ENDOFQUARTER('Date'[Date])))

Αυτή η measure χρησιμοποιείται για τη δημιουργία μιας αναλογίας σύγκρισης μεταξύ μιας ατελούς περιόδου and της previous περιόδου. Ο τύπος πρέπει να λαμβάνει υπόψη το ποσοστό της περιόδου που έχει παρέλθει and να το συγκρίνει με την ίδια αναλογία στη previous περίοδο. Στην περίπτωση αυτή, το [Days Current Quarter to Date]/[Days in Current Quarter] παρέχει την αναλογία που παρήλθετε κατά την τρέχουσα περίοδο.

Αυτός ο τύπος contains τα ακόλουθα στοιχεία:

Στοιχείο τύπου Περιγραφή
Days in Current Quarter Το όνομα του measure.
= Το ισούται με sign (=) ξεκινά τον τύπο.
COUNTROWS COUNTROWS μετρά τον αριθμό των γραμμών στον πίνακα Date
() Άνοιγμα and δεξιά παρένθεση καθορίζει ορίσματα.
DATESBETWEEN Η συνάρτηση DATESBETWEEN επιστρέφει τις ημερομηνίες μεταξύ των lastdate για κάθε value στη στήλη Date στον Date πίνακα.
'Date' Καθορίζει τον Date πίνακα. Οι πίνακες βρίσκονται σε μονά εισαγωγικά.
[Date] Καθορίζει τη στήλη Date στον πίνακα Date. Οι στήλες βρίσκονται μέσα σε αγκύλες.
,
STARTOFQUARTER Η συνάρτηση STARTOFQUARTER επιστρέφει τον date της αρχής του quarter.
LASTDATE Η συνάρτηση LASTDATE επιστρέφει την lastdate του quarter.
'Date' Καθορίζει τον Date πίνακα.
[Date] Καθορίζει τη στήλη Date στον πίνακα Date.
,
ENDOFQUARTER Η συνάρτηση ENDOFQUARTER
'Date' Καθορίζει τον Date πίνακα.
[Date] Καθορίζει τη στήλη Date στον πίνακα Date.

Χρήση της αυτόματης συμπλήρωσης τύπου

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

  • Μπορείτε να χρησιμοποιήσετε την Αυτόματη συμπλήρωση τύπου στο μέσο ενός υπάρχοντος τύπου με ένθετες συναρτήσεις. Το κείμενο αμέσως πριν από τη χρήση του σημείου εισαγωγής για την εμφάνιση values στην αναπτυσσόμενη λίστα, andall του κειμένου μετά το σημείο εισαγωγής παραμένει αμετάβλητο.

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

Χρήση πολλών συναρτήσεων σε έναν τύπο

Μπορείτε να κάνετε ένθεση συναρτήσεων, που σημαίνει ότι χρησιμοποιείτε τα αποτελέσματα μιας συνάρτησης ως όρισμα μιας άλλης συνάρτησης. Μπορείτε να ενσωματώσετε έως και 64 επίπεδα συναρτήσεων σε υπολογιζόμενες στήλες. Ωστόσο, η ένθεση μπορεί να δυσκολεύσει τη δημιουργία or τύπων αντιμετώπισης προβλημάτων. Πολλές συναρτήσεις έχουν σχεδιαστεί για χρήση αποκλειστικά ως ένθετες συναρτήσεις. Αυτές οι συναρτήσεις επιστρέφουν έναν πίνακα, ο οποίος δεν είναι δυνατό να αποθηκευτεί απευθείας ως αποτέλεσμα. Πρέπει να παρέχεται ως δεδομένα εισόδου σε μια συνάρτηση πίνακα. Για παράδειγμα, οι συναρτήσεις SUMX, AVERAGEX, andMINXall απαιτούν έναν πίνακα ως το όρισμα first.

Λειτουργίες

Μια συνάρτηση είναι ένας επώνυμος τύπος μέσα σε μια παράσταση. Οι περισσότερες συναρτήσεις έχουν απαιτήσει and προαιρετικά ορίσματα, γνωστά και ως παράμετροι, ως δεδομένα εισόδου. Όταν εκτελεστεί η συνάρτηση, επιστρέφεται μια value. DAX περιλαμβάνει συναρτήσεις που μπορείτε να χρησιμοποιήσετε για να εκτελέσετε υπολογισμούς με χρήση ημερομηνιών and φορές, να δημιουργήσετε valuesυπό όρους, να εργαστείτε με συμβολοσειρές, να εκτελέσετε αναζητήσεις με βάση σχέσεις and τη δυνατότητα να επαναλαμβάνετε σε έναν πίνακα για την εκτέλεση επαναλαμβανόμενων υπολογισμών. If είστε εξοικειωμένοι με τους τύπους του Excel, πολλές από αυτές τις συναρτήσεις θα είναι παρόμοιες. Ωστόσο, DAX τύποι διαφέρουν ως προς τα εξής σημαντικά στοιχεία:

  • Μια συνάρτηση DAX αναφέρει πάντα μια πλήρη στήλη or έναν πίνακα. If θέλετε να χρησιμοποιήσετε μόνο συγκεκριμένες values από έναν πίνακα or στήλη, μπορείτε να προσθέσετε filters στον τύπο.

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

  • DAX περιλαμβάνει πολλές συναρτήσεις που επιστρέφουν έναν πίνακα, αντί για value. Ο πίνακας not εμφανίζεται σε ένα πρόγραμμα-πελάτη αναφορών, αλλά χρησιμοποιείται για την παροχή δεδομένων εισόδου σε άλλες συναρτήσεις. Για παράδειγμα, μπορείτε να ανακτήσετε έναν πίνακα and, στη συνέχεια, να count τη διακριτή values σε αυτόν, orcalculate δυναμικά αθροίσματα σε φιλτραρισμένους πίνακες or στήλες.

  • Οι συναρτήσεις περιλαμβάνουν διάφορες συναρτήσεις ευφυΐας. Αυτές οι συναρτήσεις σάς επιτρέπουν defineor επιλέξετε date περιοχές and εκτελέσετε δυναμικούς υπολογισμούς με βάση αυτές τις ημερομηνίες orrange. Για παράδειγμα, μπορείτε να συγκρίνετε αθροίσματα σε παράλληλες περιόδους.

Συναρτήσεις συνάθροισης

Οι συναρτήσεις συνάθροισης calculate μια (ανυσματική) value όπως count, sum, average, ελάχιστο, or μέγιστο για all γραμμές σε έναν πίνακα or στήλης, όπως ορίζεται από την παράσταση. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα συναρτήσεων συνάθροισης.

συναρτήσεις Dateandtime

Οι συναρτήσεις dateandtime στο DAX είναι παρόμοιες με dateandtime συναρτήσεις στο Microsoft Excel. Ωστόσο, DAX συναρτήσεις βασίζονται σε έναν τύπο δεδομένων ημερομηνίας/ώρας που ξεκινά την 1η Μαρτίου 1900. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Dateandtime συναρτήσεων.

συναρτήσεις Filter

Οι filter συναρτήσεις σε DAX επιστρέφουν συγκεκριμένους τύπους δεδομένων, αναζητούν values σε ιστορίες relatedandfilterrelatedvalues. Οι συναρτήσεις αναζήτησης λειτουργούν χρησιμοποιώντας πίνακες and σχέσεις, όπως μια βάση δεδομένων. Οι συναρτήσεις φιλτραρίσματος σάς επιτρέπουν να χειρίζεστε το περιβάλλον δεδομένων για τη δημιουργία δυναμικών υπολογισμών. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Filter συναρτήσεων.

Οικονομικές συναρτήσεις

Οι οικονομικές συναρτήσεις σε DAX χρησιμοποιούνται σε τύπους που εκτελούν οικονομικούς υπολογισμούς, όπως οι καθαρές παρούσες valueandrate απόδοσης. Αυτές οι συναρτήσεις είναι παρόμοιες με τις οικονομικές συναρτήσεις που χρησιμοποιούνται στο Microsoft Excel. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Οικονομικές συναρτήσεις.

Συναρτήσεις πληροφοριών

Μια συνάρτηση πληροφοριών εξετάζει το κελί or γραμμή που παρέχεται ως όρισμα and σας πληροφορεί εάν η value συμφωνεί με τον αναμενόμενο τύπο. Για παράδειγμα, η συνάρτηση ISERROR επιστρέφει TRUEif τον value που αναφέρετε contains μια error. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα συναρτήσεις πληροφοριών.

Λογικές συναρτήσεις

Οι λογικές συναρτήσεις ενεργούν σε μια παράσταση για να επιστρέψουν πληροφορίες σχετικά με την values στην παράσταση. Για παράδειγμα, η συνάρτηση TRUE σάς ενημερώνει εάν μια παράσταση που αξιολογείτε επιστρέφει μια TRUEvalue. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Λογικές συναρτήσεις.

Μαθηματικές and τριγωνομετρικές συναρτήσεις

Οι μαθηματικές συναρτήσεις σε DAX μοιάζουν πολύ με τις μαθηματικές and των μαθηματικών συναρτήσεων του Excel. Υπάρχουν ορισμένες μικρές διαφορές στους αριθμητικούς τύπους δεδομένων που χρησιμοποιούνται από DAX συναρτήσεις. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα μαθηματικών and τριγωνομετρικών συναρτήσεων.

Άλλες συναρτήσεις

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

Συναρτήσεις σχέσης

Οι συναρτήσεις σχέσης σε DAX σας επιτρέπουν να επιστρέψετε values από έναν άλλο πίνακα related, να καθορίσετε μια συγκεκριμένη σχέση που θα χρησιμοποιηθεί σε μια παράσταση and να καθορίσετε την κατεύθυνση διασταυρούμενου φιλτραρίσματος. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα συναρτήσεις σχέσης.

Στατιστικές συναρτήσεις

Οι στατιστικές συναρτήσεις calculatevaluesrelated σε στατιστικές κατανομές and πιθανότητα, όπως η τυπική απόκλιση and αριθμός διατάξεων. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Στατιστικές συναρτήσεις.

Συναρτήσεις κειμένου

Οι συναρτήσεις κειμένου σε DAX μοιάζουν πολύ με τις αντίστοιχές τους στο Excel. Μπορείτε να επιστρέψετε μέρος μιας συμβολοσειράς, search για κείμενο μέσα σε μια συμβολοσειρά orconcatenate συμβολοσειρά values. DAX παρέχει επίσης συναρτήσεις για τον έλεγχο των μορφών ημερομηνίας, ώρας and αριθμών. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα συναρτήσεων κειμένου.

συναρτήσεις Time ευφυΐας

Οι time συναρτήσεις ευφυΐας που παρέχονται σε DAX σάς επιτρέπουν να δημιουργείτε υπολογισμούς που χρησιμοποιούν ενσωματωμένες γνώσεις σχετικά με ημερολόγια and ημερομηνίες. Χρησιμοποιώντας timeanddate περιοχές σε συνδυασμό με συναθροίσεις or υπολογισμούς, μπορείτε να δημιουργήσετε ουσιαστικές συγκρίσεις σε συγκρίσιμες time περιόδους για πωλήσεις, απογραφή and ούτω καθεξής. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Time συναρτήσεις ευφυΐας (DAX).

Συναρτήσεις χειρισμού πίνακα

Αυτές οι συναρτήσεις επιστρέφουν έναν πίνακα or να χειρίζονται υπάρχοντες πίνακες. Για παράδειγμα, χρησιμοποιώντας ADDCOLUMNS μπορείτε να προσθέσετε υπολογιζόμενες στήλες σε έναν καθορισμένο πίνακα, or μπορείτε να επιστρέψετε έναν πίνακα σύνοψης σε ένα σύνολο ομάδων με τη συνάρτηση SUMMARIZECOLUMNS. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα συναρτήσεις χειρισμού πίνακα.

Μεταβλητές

Μπορείτε να δημιουργήσετε μεταβλητές μέσα σε μια παράσταση χρησιμοποιώντας VAR. VAR είναι τεχνικά not μια συνάρτηση, είναι μια λέξη-κλειδί για την αποθήκευση του αποτελέσματος μιας παράστασης ως ονομαστική μεταβλητή. Αυτή η μεταβλητή μπορεί, στη συνέχεια, να διαβιβαστεί ως όρισμα σε άλλες measure παραστάσεις. Για παράδειγμα:

DAX
VAR
    TotalQty = SUM ( Sales[Quantity] )

Return

    IF (
        TotalQty > 1000,
        TotalQty * 0.95,
        TotalQty * 1.25
        )

Σε αυτό το παράδειγμα, το TotalQty μπορεί να διαβιβαστεί ως ονομαστική μεταβλητή σε άλλες παραστάσεις. Οι μεταβλητές μπορεί να είναι οποιουδήποτε τύπου ανυσματικών δεδομένων, συμπεριλαμβανομένων πινάκων. Η χρήση μεταβλητών στους DAX τύπους σας μπορεί να είναι απίστευτα ισχυρή.

Τύποι δεδομένων

Μπορείτε να εισαγάγετε δεδομένα σε ένα μοντέλο από πολλές διαφορετικές προελεύσεις δεδομένων που μπορεί να υποστηρίζουν διαφορετικούς τύπους δεδομένων. Κατά την εισαγωγή δεδομένων σε ένα μοντέλο, τα δεδομένα μετατρέπονται σε έναν από τους τύπους δεδομένων του μοντέλου σε μορφή πίνακα. Όταν τα δεδομένα μοντέλου χρησιμοποιούνται σε έναν υπολογισμό, τα δεδομένα μετατρέπονται, στη συνέχεια, σε έναν DAX τύπο δεδομένων για την durationand εξόδου του υπολογισμού. Όταν δημιουργείτε έναν τύπο DAX, οι όροι που χρησιμοποιούνται στον τύπο θα καθορίσουν αυτόματα τον value τύπο δεδομένων που επιστρέφεται.

DAX υποστηρίζει τους ακόλουθους τύπους δεδομένων:

Τύπος δεδομένων στο μοντέλο Τύπος δεδομένων σε DAX Περιγραφή
Whole Number Ακέραιος αριθμός 64 bit (οκτώ byte) value1, 2 Αριθμοί που δεν έχουν δεκαδικά ψηφία. Οι ακέραιοι μπορεί να είναι θετικοί or αρνητικοί αριθμοί, αλλά πρέπει να είναι ακέραιοι αριθμοί μεταξύ -9.223.372.036.854.775.808 (-2^63) and 9.223.372.036.854.775.807 (2^63-1).
Decimal Number Ένας πραγματικός αριθμός 64 bit (οκτώ byte) 1, 2 Οι πραγματικοί αριθμοί είναι αριθμοί που μπορούν να έχουν δεκαδικά ψηφία. Οι πραγματικοί αριθμοί καλύπτουν ένα ευρύ range των values:

Αρνητικές values από -1,79E +308 έως -2,23E -308

Μηδέν

Θετική values από 2,23E -308 έως 1,79E + 308

Ωστόσο, ο αριθμός των σημαντικών ψηφίων περιορίζεται σε 17 δεκαδικά ψηφία.
Boolean Δυαδική τιμή Ή μια TrueorFalsevalue.
Text Σειρά Μια συμβολοσειρά δεδομένων Unicode χαρακτήρων. Μπορεί να είναι συμβολοσειρές, αριθμοί or ημερομηνίες που αντιπροσωπεύονται σε μια formatκειμένου .
Date Date/time Ημερομηνίες and ώρες σε μια αποδεκτή date-time αναπαράσταση.

Έγκυρες ημερομηνίες είναι all ημερομηνίες μετά την 1η Μαρτίου 1900.
Currency Currency Currency τύπος δεδομένων επιτρέπει values μεταξύ -922.337.203.685.477,5808 και 922.337.203.685.477,5807 με τέσσερα δεκαδικά ψηφία fixed ακρίβεια.
N/A Blank Ένας blank είναι ένας τύπος δεδομένων σε DAX που αντιπροσωπεύει and αντικαθιστά τις τιμές null SQL. Μπορείτε να δημιουργήσετε μια blank χρησιμοποιώντας τη συνάρτηση BLANKand έλεγχο για κενά χρησιμοποιώντας τη λογική συνάρτηση ISBLANK.

Τα μοντέλα δεδομένων σε μορφή πίνακα περιλαμβάνουν επίσης τον τύπο δεδομένων Table ως είσοδο or έξοδο σε πολλές συναρτήσεις DAX. Για παράδειγμα, η συνάρτηση FILTER λαμβάνει έναν πίνακα ως είσοδο and εξάγει έναν άλλο πίνακα που contains μόνο τις γραμμές που πληρούν τις filter συνθήκες. Συνδυάζοντας συναρτήσεις πίνακα με συναρτήσεις συνάθροισης, μπορείτε να εκτελέσετε σύνθετους υπολογισμούς σε σύνολα δεδομένων που έχουν οριστεί δυναμικά.

Ενώ οι τύποι δεδομένων συνήθως ρυθμίζονται αυτόματα, είναι σημαντικό να κατανοήσετε τους τύπους δεδομένων and τον τρόπο που εφαρμόζονται, ειδικότερα, για DAX τύπων. Τα σφάλματα σε τύπους or μη αναμενόμενα αποτελέσματα, για παράδειγμα, συχνά προκαλούνται από τη χρήση ενός συγκεκριμένου τελεστή που δεν μπορεί να χρησιμοποιηθεί με έναν τύπο δεδομένων που καθορίζεται σε ένα όρισμα. Για παράδειγμα, ο τύπος, = 1 & 2, επιστρέφει ένα αποτέλεσμα συμβολοσειράς 12. Ο τύπος, = "1" + "2", ωστόσο, επιστρέφει ένα ακέραιο αποτέλεσμα 3.

Πλαίσιο

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

Οι τύποι σε μοντέλα σε μορφή πίνακα μπορούν να αξιολογηθούν σε διαφορετικό περιβάλλον, ανάλογα με άλλα στοιχεία σχεδίασης:

  • Filters που εφαρμόζονται σε μια αναφορά or Συγκεντρωτικού Πίνακα
  • Filters που ορίζονται μέσα σε έναν τύπο
  • Σχέσεις που καθορίζονται με χρήση ειδικών συναρτήσεων μέσα σε έναν τύπο

Υπάρχουν διαφορετικοί τύποι περιβάλλοντος: περιβάλλοντος γραμμής , περιβάλλοντος andfilter περιβάλλοντος.

Περιβάλλον γραμμής

περιβάλλον γραμμής μπορεί να θεωρηθεί ως "η τρέχουσα γραμμή". If δημιουργείτε έναν τύπο σε μια υπολογιζόμενη στήλη, το περιβάλλον γραμμής για αυτόν τον τύπο περιλαμβάνει την values από all στήλες στην τρέχουσα γραμμή. If ο πίνακας related σε έναν άλλο πίνακα, το περιεχόμενο περιλαμβάνει επίσης all τον values από τον άλλο πίνακα που related στην τρέχουσα γραμμή.

Για παράδειγμα, ας υποθέσουμε ότι δημιουργείτε μια υπολογιζόμενη στήλη, = [Freight] + [Tax], που προσθέτει μαζί values από δύο στήλες, Freight and Tax, από τον ίδιο πίνακα. Αυτός ο τύπος λαμβάνει αυτόματα μόνο values από την τρέχουσα γραμμή στις καθορισμένες στήλες.

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

Για παράδειγμα, ο παρακάτω τύπος χρησιμοποιεί τη συνάρτηση RELATED για τη λήψη ενός value φόρου από έναν πίνακα related, με βάση την περιοχή στην οποία στάλθηκε η παραγγελία. Το value φόρου προσδιορίζεται χρησιμοποιώντας την value για την περιοχή στον τρέχοντα πίνακα, αναζητώντας την περιοχή στον πίνακα relatedand, στη συνέχεια, παίρνοντας τη rate φόρου για αυτήν την περιοχή από τον πίνακα related.

DAX
= [Freight] + RELATED('Region'[TaxRate])  

Αυτός ο τύπος λαμβάνει τον rate φόρου για την τρέχουσα περιοχή από τον πίνακα Περιοχή and τον προσθέτει στην value της στήλης Freight. Σε DAX τύπους, not πρέπει να γνωρίζετε or καθορίσετε τη συγκεκριμένη σχέση που συνδέει τους πίνακες.

Περιβάλλον πολλαπλών γραμμών

DAX περιλαμβάνει συναρτήσεις που επαναλαμβάνουν υπολογισμούς σε έναν πίνακα. Αυτές οι συναρτήσεις μπορούν να έχουν πολλές τρέχουσες γραμμές, καθεμία με το δικό της περιβάλλον γραμμής. Ουσιαστικά, αυτές οι συναρτήσεις σάς επιτρέπουν να δημιουργείτε τύπους που εκτελούν λειτουργίες αναδρομικά σε έναν εσωτερικό and εξωτερικό βρόχο.

Για παράδειγμα, ας υποθέσουμε ότι το μοντέλο σας contains έναν πίνακα Productsand έναν πίνακα Sales. Οι χρήστες μπορεί να θέλουν να περάσουν από ολόκληρο τον πίνακα Sales, ο οποίος είναι γεμάτος με συναλλαγές που περιλαμβάνουν πολλά προϊόντα, andfind τη μεγαλύτερη ποσότητα που έχει παραγγελχθεί για κάθε product σε οποιαδήποτε συναλλαγή.

Με DAX μπορείτε να δημιουργήσετε έναν μόνο τύπο που επιστρέφει τις σωστές value, and τα αποτελέσματα ενημερώνονται αυτόματα κάθε time ένας χρήστης προσθέτει δεδομένα στους πίνακες.

DAX
= MAXX(FILTER(Sales,[ProdKey] = EARLIER([ProdKey])),Sales[OrderQty])  

Για ένα αναλυτικό παράδειγμα αυτού του τύπου, ανατρέξτε στο θέμα EARLIER.

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

Περιβάλλον ερωτήματος

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

Επειδή οι αλλαγές στο περιβάλλον εξαρτώνται από το σημείο όπου τοποθετείτε τον τύπο, τα αποτελέσματα του τύπου μπορούν επίσης να αλλάξουν. Για παράδειγμα, ας υποθέσουμε ότι δημιουργείτε έναν τύπο που αθροίζει values στη στήλη Κέρδη του πίνακα Sales: = SUM('Sales'[Profit]). If χρησιμοποιείτε αυτόν τον τύπο σε μια υπολογιζόμενη στήλη εντός του πίνακα Sales, τα αποτελέσματα για τον τύπο θα είναι ίδια για ολόκληρο τον πίνακα, επειδή το περιβάλλον ερωτήματος για τον τύπο είναι πάντα ολόκληρο το σύνολο δεδομένων του πίνακα Sales. Τα αποτελέσματα θα έχουν κέρδος για all περιοχές, all προϊόντα, all χρόνια and ούτω καθεξής.

Ωστόσο, οι χρήστες συνήθως δεν θέλουν να βλέπουν το ίδιο αποτέλεσμα εκατοντάδες φορές, αλλά αντί για αυτό, θέλουν να λάβουν το κέρδος για μια συγκεκριμένη year, μια συγκεκριμένη χώρα, μια συγκεκριμένη product, or κάποιον συνδυασμό αυτών, and, στη συνέχεια, να λάβουν ένα γενικό σύνολο.

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

περιβάλλον Filter

Filter περιβάλλοντος είναι το σύνολο των επιτρεπόμενων values σε κάθε στήλη, or στη values που ανακτώνται από έναν πίνακα related. Filters μπορούν να εφαρμοστούν στη στήλη στο πρόγραμμα σχεδίασης, or στο επίπεδο παρουσίασης (αναφορές and Συγκεντρωτικούς Πίνακες). Filters μπορούν επίσης να οριστούν ρητά από filter παραστάσεις εντός του τύπου.

Filter περιβάλλον προστίθεται όταν καθορίζετε περιορισμούς filter στο σύνολο των values επιτρέπονται σε μια στήλη or πίνακα, χρησιμοποιώντας ορίσματα σε έναν τύπο. Filter περιβάλλον ισχύει πάνω από άλλα περιβάλλοντα, όπως το περιβάλλον γραμμής or περιβάλλον ερωτήματος.

Σε μοντέλα σε μορφή πίνακα, υπάρχουν πολλοί τρόποι για να δημιουργήσετε filter περιβάλλον. Στο περιβάλλον των πελατών που μπορούν να χρησιμοποιήσουν το μοντέλο, όπως οι αναφορές Power BI, οι χρήστες μπορούν να δημιουργούν filters δυναμικά, προσθέτοντας αναλυτές orfilters αναφορών στη γραμμή and κεφαλίδων στηλών. Μπορείτε επίσης να καθορίσετε filter παραστάσεις απευθείας μέσα στον τύπο, για να καθορίσετε relatedvalues, για να filter πίνακες που χρησιμοποιούνται ως είσοδοι, or να λάβετε περιβάλλον δυναμικά για τις values που χρησιμοποιούνται σε υπολογισμούς. Μπορείτε επίσης να απαλείψετε πλήρως or απαλείφετε επιλεκτικά την filters σε συγκεκριμένες στήλες. Αυτό είναι πολύ χρήσιμο όταν δημιουργείτε τύπους που calculate γενικά σύνολα.

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

Για παραδείγματα σχετικά με τον τρόπο επιλεκτικής απαλοιφής and εφαρμόσετε filters μέσα σε τύπους, ανατρέξτε στο θέμα ALLEXCEPT.

Προσδιορισμός περιβάλλοντος σε τύπους

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

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

Για παράδειγμα, if έχετε μόλις εισαγάγει ορισμένα δεδομένα σε έναν νέο πίνακα and είναι notrelated σε οποιουσδήποτε άλλους πίνακες (and έχετε not εφαρμόσει filters), το τρέχον περιβάλλον είναι ολόκληρο το σύνολο των στηλών στον πίνακα. If ο πίνακας συνδέεται με σχέσεις με άλλους πίνακες, το τρέχον περιβάλλον περιλαμβάνει τους related πίνακες. If προσθέτετε μια στήλη από τον πίνακα σε μια αναφορά με αναλυτές and ίσως ορισμένες filtersαναφοράς , το περιβάλλον για τον τύπο είναι το υποσύνολο των δεδομένων σε κάθε κελί της αναφοράς.

Το περιβάλλον είναι μια ισχυρή έννοια που μπορεί επίσης να δυσκολαίνει την αντιμετώπιση προβλημάτων στους τύπους. Συνιστούμε να ξεκινήσετε με απλούς τύπους and σχέσεις για να δείτε πώς λειτουργεί το περιβάλλον. Η παρακάτω ενότητα παρέχει ορισμένα παραδείγματα σχετικά με τον τρόπο με τον οποίο οι τύποι χρησιμοποιούν διαφορετικούς τύπους περιβάλλοντος για τη δυναμική επιστροφή αποτελεσμάτων.

Φορείς

Η DAX γλώσσα χρησιμοποιεί τέσσερις διαφορετικούς τύπους τελεστών υπολογισμού σε τύπους:

  • Οι τελεστές σύγκρισης για τη σύγκριση valuesand επιστρέφουν μια λογική TRUE'FALSE' value.
  • Αριθμητικοί τελεστές για την εκτέλεση αριθμητικών υπολογισμών που επιστρέφουν αριθμητικές values.
  • Τελεστές συνένωσης κειμένου για τη σύνδεση δύο or περισσότερες συμβολοσειρές κειμένου.
  • Λογικοί τελεστές που συνδυάζουν δύο or περισσότερες παραστάσεις για να επιστρέψουν ένα μοναδικό αποτέλεσμα.

Για λεπτομερείς πληροφορίες σχετικά με τους τελεστές που χρησιμοποιούνται σε DAX τύπους, ανατρέξτε στο θέμα DAX τελεστών.

Εργασία με πίνακες and στήλες

Οι πίνακες σε μοντέλα δεδομένων σε μορφή πίνακα μοιάζουν με πίνακες του Excel, αλλά διαφέρουν στον τρόπο με τον οποίο λειτουργούν με τα δεδομένα and με τύπους:

  • Οι τύποι λειτουργούν μόνο με πίνακες and στήλες, not με μεμονωμένα κελιά, αναφορές rangeor πίνακες.
  • Οι τύποι μπορούν να χρησιμοποιούν σχέσεις για τη λήψη values από related πίνακες. Οι values που ανακτώνται related πάντα στην τρέχουσα γραμμή value.
  • Δεν μπορείτε να έχετε ακανόνιστα or "ακανόνιστα" δεδομένα, όπως μπορείτε να κάνετε σε ένα φύλλο εργασίας του Excel. Κάθε γραμμή σε έναν πίνακα πρέπει να περιέχει τον ίδιο αριθμό στηλών. Ωστόσο, μπορείτε να έχετε κενές values σε ορισμένες στήλες. Οι πίνακες δεδομένων του Excel and πίνακες δεδομένων μοντέλου σε μορφή πίνακα είναι not εναλλάξιμοι.
  • Επειδή ένας τύπος δεδομένων έχει οριστεί για κάθε στήλη, κάθε value σε αυτήν τη στήλη πρέπει να είναι του ίδιου τύπου.

Αναφορά σε πίνακες and στήλες σε τύπους

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

DAX

= SUM('New Sales'[Amount]) + SUM('Past Sales'[Amount])  

Όταν αξιολογείται ένας τύπος, το εργαλείο σχεδίασης μοντέλων first ελέγχει για γενική σύνταξη and στη συνέχεια ελέγχει τα ονόματα των στηλών and πίνακες που παρέχετε σε σχέση με πιθανές στήλες and πίνακες στο τρέχον περιβάλλον. If το όνομα είναι ασαφές orif δεν είναι δυνατή η εντοπισμού της στήλης or πίνακα, θα λάβετε μια error στον τύπο σας (μια συμβολοσειρά #ERROR αντί για μια value δεδομένων στα κελιά όπου εμφανίζεται η error). Για να μάθετε περισσότερα σχετικά με τις απαιτήσεις ονοματοθεσίας για πίνακες, στήλες and άλλα αντικείμενα, ανατρέξτε στο θέμα Απαιτήσεις ονοματοθεσίας σε DAX σύνταξη.

Σχέσεις πινάκων

Δημιουργώντας σχέσεις μεταξύ πινάκων, αποκτάτε τη δυνατότητα να χρησιμοποιείτε relatedvalues σε άλλους πίνακες σε υπολογισμούς. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε μια υπολογιζόμενη στήλη για να προσδιορίσετε all εγγραφές αποστολής related στον τρέχοντα μεταπωλητή and και, στη συνέχεια, να sum τα έξοδα αποστολής για τον καθένα. Σε πολλές περιπτώσεις, ωστόσο, μπορεί not χρειαστεί μια σχέση. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση LOOKUPVALUE σε έναν τύπο για να επιστρέψετε την value σε result_columnName για τη γραμμή που ικανοποιεί τα κριτήρια που καθορίζονται στα search_columnandsearch_value ορίσματα.

Πολλές DAX συναρτήσεις απαιτούν να υπάρχει μια σχέση μεταξύ των πινάκων, or μεταξύ πολλών πινάκων, προκειμένου να εντοπιστούν οι στήλες στις οποίες έχετε αναφερθεί and επιστρέφουν αποτελέσματα που έχουν νόημα. Άλλες συναρτήσεις θα προσπαθήσουν να προσδιορίσουν τη σχέση. ωστόσο, για βέλτιστα αποτελέσματα θα πρέπει να δημιουργείτε πάντα μια σχέση, όπου είναι δυνατό. Τα μοντέλα δεδομένων σε μορφή πίνακα υποστηρίζουν πολλές σχέσεις μεταξύ πινάκων. Για να αποφύγετε τυχόν σύγχυση or εσφαλμένα αποτελέσματα, μόνο μία σχέση time έχει οριστεί ως η ενεργή σχέση, αλλά μπορείτε να αλλάξετε την ενεργή σχέση όπως απαιτείται για να διατρέξετε διαφορετικές συνδέσεις στα δεδομένα υπολογισμών. USERELATIONSHIP συνάρτηση μπορεί να χρησιμοποιηθεί για τον καθορισμό μίας or περισσότερες σχέσεις που θα χρησιμοποιηθούν σε έναν συγκεκριμένο υπολογισμό.

Είναι σημαντικό να τηρείτε αυτούς τους κανόνες σχεδίασης τύπων όταν χρησιμοποιείτε σχέσεις:

  • Όταν οι πίνακες συνδέονται με μια σχέση, πρέπει να εξασφαλίσετε ότι οι δύο στήλες που χρησιμοποιούνται ως κλειδιά έχουν values που συμφωνούν. Η ακεραιότητα αναφορών επιβάλλεται not, επομένως, είναι πιθανό να υπάρχουν values που δεν συμφωνούν σε μια στήλη κλειδιού and εξακολουθεί να δημιουργεί μια σχέση. If συμβεί αυτό, θα πρέπει να γνωρίζετε ότι blankvaluesorvalues που δεν συμφωνούν μπορεί να επηρεάσουν τα αποτελέσματα των τύπων.

  • Όταν συνδέετε πίνακες στο μοντέλο σας χρησιμοποιώντας σχέσεις, μεγεθύνετε την εμβέλεια, orπεριβάλλον, στην οποία αξιολογούνται οι τύποι σας. Οι αλλαγές στο περιβάλλον που προκύπτουν από την προσθήκη νέων πινάκων, νέων σχέσεων or από αλλαγές στην ενεργή σχέση μπορεί να προκαλέσουν αλλαγές στα αποτελέσματά σας με τρόπους που μπορείτε να not αναμένετε. Για να μάθετε περισσότερα, ανατρέξτε περιβάλλοντος σε αυτό το άρθρο.

Επεξεργασία and ανανέωσης

and επανυπολογισμού είναι δύο ξεχωριστές λειτουργίες εκτός από related. Θα πρέπει να κατανοήσετε διεξοδικά αυτές τις έννοιες κατά τη σχεδίαση ενός μοντέλου που contains σύνθετους τύπους, μεγάλους όγκους δεδομένων or δεδομένα που λαμβάνονται από εξωτερικές προελεύσεις δεδομένων.

Επεξεργασία (ανανέωση) ενημερώνει τα δεδομένα σε ένα μοντέλο με νέα δεδομένα από μια εξωτερική προέλευση δεδομένων.

επανυπολογισμού είναι η διαδικασία ενημέρωσης των αποτελεσμάτων των τύπων ώστε να αντικατοπτρίζει τυχόν αλλαγές στους ίδιους τους τύπους and για να αντικατοπτρίζουν τις αλλαγές στα υποκείμενα δεδομένα. Ο επανυπολογισμός μπορεί να επηρεάσει τις επιδόσεις με τους ακόλουθους τρόπους:

  • Οι values σε μια υπολογιζόμενη στήλη υπολογίζονται and αποθηκεύονται στο μοντέλο. Για να ενημερώσετε το values στην υπολογιζόμενη στήλη, πρέπει να επεξεργαστείτε το μοντέλο χρησιμοποιώντας μία από τις τρεις εντολές επεξεργασίας – Πλήρης επεξεργασία, Επεξεργασία δεδομένων or Επανυπολογισμός διεργασίας. Το αποτέλεσμα του τύπου πρέπει να υπολογιστεί ξανά για ολόκληρη τη στήλη, κάθε φορά που αλλάζετε τον τύπο.

  • Οι values που υπολογίζονται από μετρήσεις αξιολογούνται δυναμικά κάθε φορά που ένας χρήστης προσθέτει την measure σε έναν Συγκεντρωτικό Πίνακα or ανοίξει μια αναφορά. καθώς ο χρήστης τροποποιεί το περιβάλλον, values επιστρέφεται από την measure αλλαγή. Τα αποτελέσματα της measure αντικατοπτρίζουν πάντα τα πιο πρόσφατα στοιχεία στη μνήμη cache.

Η επεξεργασία and επανυπολογισμού δεν έχει effect σε τύπους ασφάλειας σε επίπεδο γραμμών, εκτός εάν το αποτέλεσμα ενός επανυπολογισμού επιστρέφει διαφορετικό value, καθιστώντας έτσι τη γραμμή ornot με δυνατότητα ερωτημάτων από τα μέλη του ρόλου.

Ενημερώσεις

DAX βελτιώνεται συνεχώς. νέες and ενημερωμένες συναρτήσεις κυκλοφορούν με την next διαθέσιμη ενημέρωση, η οποία συνήθως είναι μηνιαία. Οι υπηρεσίες ενημερώνονται firstκαι ακολουθούν εγκατεστημένες εφαρμογές όπως τα Power BI Desktop, Excel, SQL Server Management Studio (SSMS), and επέκταση έργου των Υπηρεσιών ανάλυσης για το Visual Studio (SSDT). Οι Υπηρεσίες ανάλυσης του SQL Server ενημερώνονται με την next αθροιστική ενημέρωση. Οι νέες συναρτήσεις first ανακοινωθεί and περιγράφονται στην αναφορά συνάρτησης DAX που συμπίπτει με τις ενημερώσεις του Power BI Desktop.

Not all συναρτήσεις υποστηρίζονται σε earlier εκδόσεις των Υπηρεσιών ανάλυσης του SQL Server and Excel.

Αντιμετώπιση προβλημάτων

If λάβετε μια error κατά τον ορισμό ενός τύπου, ο τύπος μπορεί να περιέχει είτε ένα συντακτικό error, σημασιολογικό error, υπολογισμό orerror.

Τα συντακτικά σφάλματα είναι πιο εύκολο να επιλυθούν. Συνήθως περιλαμβάνουν παρένθεση που λείπει or κόμμα.

Ο άλλος τύπος error εμφανίζεται όταν η σύνταξη είναι σωστή, αλλά η valueor στήλης στην οποία αναφέρεται μια στήλη not έχει νόημα στο περιβάλλον του τύπου. Αυτά τα σφάλματα υπολογισμού σημασιολογίας and μπορεί να οφείλονται σε οποιοδήποτε από τα ακόλουθα προβλήματα:

  • Ο τύπος αναφέρεται σε μια μη υπάρχουσα στήλη, πίνακα or συνάρτηση.
  • Ο τύπος φαίνεται να είναι σωστός, αλλά όταν η μηχανή δεδομένων φέρνει τα δεδομένα, εντοπίζει ασυμφωνία τύπου and ενεργοποιεί μια error.
  • Ο τύπος μεταβιβάζει λανθασμένο αριθμό or τύπο ορισμάτων σε μια συνάρτηση.
  • Ο τύπος αναφέρεται σε μια διαφορετική στήλη που διαθέτει μια error, and επομένως οι values της δεν είναι έγκυρες.
  • Ο τύπος αναφέρεται σε μια στήλη στην οποία έχει not υποβληθεί σε επεξεργασία, πράγμα που σημαίνει ότι διαθέτει μετα-δεδομένα αλλά όχι πραγματικά δεδομένα για χρήση για υπολογισμούς.

Στην first τέσσερις περιπτώσεις, DAX επισημαίνει ολόκληρη τη στήλη που contains τον μη έγκυρο τύπο. Στην περίπτωση last, DAX γκριζάρει τη στήλη για να υποδείξει ότι η στήλη βρίσκεται σε μη επεξεργασμένη κατάσταση.

Εφαρμογές and εργαλεία

Power BI Desktop

BI Desktop

το Power BI Desktop είναι μια δωρεάν εφαρμογή μοντελοποίησης and αναφοράς δεδομένων. Το εργαλείο σχεδίασης μοντέλων περιλαμβάνει ένα πρόγραμμα επεξεργασίας DAX για τη δημιουργία DAX τύπων υπολογισμού.

Power συγκέντρωσης στο Excel

Power Συγκέντρωση στο Excel

Το εργαλείο σχεδίασης μοντέλων συγκεντρωτικών αποτελεσμάτων στο Excel περιλαμβάνει ένα πρόγραμμα επεξεργασίας για τη δημιουργία τύπων υπολογισμού.

Visual Studio

Visual Studio

Το Visual Studio με έργα των Υπηρεσιών ανάλυσης επέκταση (VSIX) χρησιμοποιείται για τη δημιουργία έργων μοντέλου Υπηρεσιών ανάλυσης. Η σχεδίαση μοντέλου σε μορφή πίνακα, η οποία εγκαταστάθηκε με την επέκταση έργων, περιλαμβάνει ένα πρόγραμμα επεξεργασίας DAX.

SQL Server Management Studio

του SQL Server Management Studio

SQL Server Management Studio (SSMS) είναι ένα απαραίτητο εργαλείο για τη χρήση των Υπηρεσιών ανάλυσης. Το SSMS περιλαμβάνει ένα DAX πρόγραμμα επεξεργασίας ερωτημάτων για την υποβολή ερωτημάτων σε μορφή πίνακα and πολυδιάστατων μοντέλων.

DAX Studio

εικονίδιο DAX Studio

Το DAX Studio είναι ένα εργαλείο προγράμματος-πελάτη ανοιχτού κώδικα για τη δημιουργία and εκτέλεσης ερωτημάτων DAX σε μοντέλα Υπηρεσιών ανάλυσης, Power BI Desktop andPower Pivot στο Excel.

Tabular Editor

Εικονίδιο "Πρόγραμμα επεξεργασίας σε μορφή πίνακα

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

Πόροι εκμάθησης

Όταν μαθαίνετε DAX, είναι προτιμότερο να χρησιμοποιήσετε την εφαρμογή που θα χρησιμοποιήσετε για να δημιουργήσετε τα μοντέλα δεδομένων σας. Οι Υπηρεσίες ανάλυσης, το Power BI Desktop andPower Pivot στο Excel all έχουν άρθρα and προγράμματα εκμάθησης που περιλαμβάνουν μαθήματα σχετικά με τη δημιουργία μετρήσεων, υπολογιζόμενων στηλών andfilters γραμμών, χρησιμοποιώντας DAX. Ακολουθούν ορισμένοι πρόσθετοι πόροι:

Videos

Χρήση DAX στο pathεκμάθησης του Power BI Desktop .

Ο οριστικός οδηγός για την DAX από τον Alberto Ferrari and Marco Russo (Microsoft Press). Now στην έκδοση second του, αυτός ο εκτενής οδηγός παρέχει βασικά στοιχεία για καινοτόμες τεχνικές υψηλών επιδόσεων για την εκκίνηση μοντέλων δεδομένων and επαγγελματίες BI.

ο απόλυτος οδηγός για DAX την εικόνα του βιβλίου

Κοινότητα

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