συμβάν
Ελάτε μαζί μας στο FabCon Vegas
31 Μαρ, 11 μ.μ. - 2 Απρ, 11 μ.μ.
Η απόλυτη εκδήλωση Microsoft Fabric, Power BI, SQL και AI υπό την ηγεσία της κοινότητας. Από 31 Μαρτίου έως 2 Απριλίου 2025.
Εγγραφείτε σήμεραΑυτό το πρόγραμμα περιήγησης δεν υποστηρίζεται πλέον.
Κάντε αναβάθμιση σε Microsoft Edge για να επωφεληθείτε από τις τελευταίες δυνατότητες, τις ενημερώσεις ασφαλείας και την τεχνική υποστήριξη.
Το 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 τύπο:
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 πίνακα, όταν ο τύπος καταχωρείται στη γραμμή τύπων:
= [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 τύπο:
= 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 πρόταση. Για παράδειγμα
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 σύνθετος, μπορείτε να χρησιμοποιήσετε τα παρακάτω βήματα κατά τη δημιουργία ενός τύπου:
Κάθε τύπος πρέπει να ξεκινά με ίσο sign (=).
Μπορείτε είτε να πληκτρολογήσετε or επιλέξετε ένα όνομα συνάρτησης, or να πληκτρολογήσετε μια παράσταση.
Αρχίστε να πληκτρολογείτε το first λίγα γράμματα της συνάρτησης or όνομα που θέλετε, and αυτόματη καταχώρηση εμφανίζει μια λίστα με τις διαθέσιμες συναρτήσεις, πίνακες and στήλες. Πατήστε το ΠΛΉΚΤΡΟ TAB για να προσθέσετε ένα στοιχείο από τη λίστα αυτόματης συμπλήρωσης στον τύπο.
Μπορείτε επίσης να κάνετε κλικ στο κουμπί
Δώστε τα ορίσματα στη συνάρτηση, επιλέγοντάς τα από μια αναπτυσσόμενη λίστα πιθανών πινάκων and στηλών, or πληκτρολογώντας values.
Ελέγξτε για σφάλματα σύνταξης: βεβαιωθείτε ότι οι all παρενθέσεις έχουν κλείσει and στήλες, οι πίνακες andvalues αναφέρονται σωστά.
Πατήστε το ΠΛΉΚΤΡΟ ENTER για να αποδεχτείτε τον τύπο.
Σημείωση
Σε μια υπολογιζόμενη στήλη, μόλις εισαγάγετε τον τύπο and επικυρωθεί ο τύπος, η στήλη συμπληρώνεται με values. Σε μια measure, πατώντας το πλήκτρο ENTER αποθηκεύεται ο measure ορισμός με τον πίνακα. If ένας τύπος δεν είναι έγκυρος, εμφανίζεται ένα error.
Σε αυτό το παράδειγμα, ας δούμε έναν τύπο σε μια measure που ονομάζεται Days στην τρέχουσα Quarter:
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 στήλες.
Οι συναρτήσεις
Οι συναρτήσεις συνάθροισης calculate μια (ανυσματική) value όπως count, sum, average, ελάχιστο, or μέγιστο για all γραμμές σε έναν πίνακα or στήλης, όπως ορίζεται από την παράσταση. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα συναρτήσεων συνάθροισης.
Οι συναρτήσεις dateandtime στο DAX είναι παρόμοιες με dateandtime συναρτήσεις στο Microsoft Excel. Ωστόσο, DAX συναρτήσεις βασίζονται σε έναν τύπο δεδομένων ημερομηνίας/ώρας που ξεκινά την 1η Μαρτίου 1900. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Dateandtime συναρτήσεων.
Οι filter συναρτήσεις σε DAX επιστρέφουν συγκεκριμένους τύπους δεδομένων, αναζητούν values σε ιστορίες relatedandfilterrelatedvalues. Οι συναρτήσεις αναζήτησης λειτουργούν χρησιμοποιώντας πίνακες and σχέσεις, όπως μια βάση δεδομένων. Οι συναρτήσεις φιλτραρίσματος σάς επιτρέπουν να χειρίζεστε το περιβάλλον δεδομένων για τη δημιουργία δυναμικών υπολογισμών. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Filter συναρτήσεων.
Οι οικονομικές συναρτήσεις σε DAX χρησιμοποιούνται σε τύπους που εκτελούν οικονομικούς υπολογισμούς, όπως οι καθαρές παρούσες valueandrate απόδοσης. Αυτές οι συναρτήσεις είναι παρόμοιες με τις οικονομικές συναρτήσεις που χρησιμοποιούνται στο Microsoft Excel. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Οικονομικές συναρτήσεις.
Μια συνάρτηση πληροφοριών εξετάζει το κελί or γραμμή που παρέχεται ως όρισμα and σας πληροφορεί εάν η value συμφωνεί με τον αναμενόμενο τύπο. Για παράδειγμα, η συνάρτηση ISERROR επιστρέφει TRUE
if τον value που αναφέρετε contains μια error. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα συναρτήσεις πληροφοριών.
Οι λογικές συναρτήσεις ενεργούν σε μια παράσταση για να επιστρέψουν πληροφορίες σχετικά με την values στην παράσταση. Για παράδειγμα, η συνάρτηση TRUE
σάς ενημερώνει εάν μια παράσταση που αξιολογείτε επιστρέφει μια TRUE
value. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Λογικές συναρτήσεις.
Οι μαθηματικές συναρτήσεις σε DAX μοιάζουν πολύ με τις μαθηματικές and των μαθηματικών συναρτήσεων του Excel. Υπάρχουν ορισμένες μικρές διαφορές στους αριθμητικούς τύπους δεδομένων που χρησιμοποιούνται από DAX συναρτήσεις. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα μαθηματικών and τριγωνομετρικών συναρτήσεων.
Αυτές οι συναρτήσεις εκτελούν μοναδικές ενέργειες, οι οποίες δεν είναι δυνατό να καθοριστούν από καμία από τις κατηγορίες στην οποία ανήκουν οι περισσότερες άλλες συναρτήσεις. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Άλλες συναρτήσεις.
Οι συναρτήσεις σχέσης σε DAX σας επιτρέπουν να επιστρέψετε values από έναν άλλο πίνακα related, να καθορίσετε μια συγκεκριμένη σχέση που θα χρησιμοποιηθεί σε μια παράσταση and να καθορίσετε την κατεύθυνση διασταυρούμενου φιλτραρίσματος. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα συναρτήσεις σχέσης.
Οι στατιστικές συναρτήσεις calculatevaluesrelated σε στατιστικές κατανομές and πιθανότητα, όπως η τυπική απόκλιση and αριθμός διατάξεων. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Στατιστικές συναρτήσεις.
Οι συναρτήσεις κειμένου σε DAX μοιάζουν πολύ με τις αντίστοιχές τους στο Excel. Μπορείτε να επιστρέψετε μέρος μιας συμβολοσειράς, search για κείμενο μέσα σε μια συμβολοσειρά orconcatenate συμβολοσειρά values. DAX παρέχει επίσης συναρτήσεις για τον έλεγχο των μορφών ημερομηνίας, ώρας and αριθμών. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα συναρτήσεων κειμένου.
Οι time συναρτήσεις ευφυΐας που παρέχονται σε DAX σάς επιτρέπουν να δημιουργείτε υπολογισμούς που χρησιμοποιούν ενσωματωμένες γνώσεις σχετικά με ημερολόγια and ημερομηνίες. Χρησιμοποιώντας timeanddate περιοχές σε συνδυασμό με συναθροίσεις or υπολογισμούς, μπορείτε να δημιουργήσετε ουσιαστικές συγκρίσεις σε συγκρίσιμες time περιόδους για πωλήσεις, απογραφή and ούτω καθεξής. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Time συναρτήσεις ευφυΐας (DAX).
Αυτές οι συναρτήσεις επιστρέφουν έναν πίνακα or να χειρίζονται υπάρχοντες πίνακες. Για παράδειγμα, χρησιμοποιώντας ADDCOLUMNS μπορείτε να προσθέσετε υπολογιζόμενες στήλες σε έναν καθορισμένο πίνακα, or μπορείτε να επιστρέψετε έναν πίνακα σύνοψης σε ένα σύνολο ομάδων με τη συνάρτηση SUMMARIZECOLUMNS. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα συναρτήσεις χειρισμού πίνακα.
Μπορείτε να δημιουργήσετε μεταβλητές μέσα σε μια παράσταση χρησιμοποιώντας VAR. VAR είναι τεχνικά not μια συνάρτηση, είναι μια λέξη-κλειδί για την αποθήκευση του αποτελέσματος μιας παράστασης ως ονομαστική μεταβλητή. Αυτή η μεταβλητή μπορεί, στη συνέχεια, να διαβιβαστεί ως όρισμα σε άλλες measure παραστάσεις. Για παράδειγμα:
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 για την αντιμετώπιση προβλημάτων σε τύπους.
Οι τύποι σε μοντέλα σε μορφή πίνακα μπορούν να αξιολογηθούν σε διαφορετικό περιβάλλον, ανάλογα με άλλα στοιχεία σχεδίασης:
Υπάρχουν διαφορετικοί τύποι περιβάλλοντος: περιβάλλοντος γραμμής , περιβάλλοντος 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.
= [Freight] + RELATED('Region'[TaxRate])
Αυτός ο τύπος λαμβάνει τον rate φόρου για την τρέχουσα περιοχή από τον πίνακα Περιοχή and τον προσθέτει στην value της στήλης Freight. Σε DAX τύπους, not πρέπει να γνωρίζετε or καθορίσετε τη συγκεκριμένη σχέση που συνδέει τους πίνακες.
DAX περιλαμβάνει συναρτήσεις που επαναλαμβάνουν υπολογισμούς σε έναν πίνακα. Αυτές οι συναρτήσεις μπορούν να έχουν πολλές τρέχουσες γραμμές, καθεμία με το δικό της περιβάλλον γραμμής. Ουσιαστικά, αυτές οι συναρτήσεις σάς επιτρέπουν να δημιουργείτε τύπους που εκτελούν λειτουργίες αναδρομικά σε έναν εσωτερικό and εξωτερικό βρόχο.
Για παράδειγμα, ας υποθέσουμε ότι το μοντέλο σας contains έναν πίνακα Productsand έναν πίνακα Sales. Οι χρήστες μπορεί να θέλουν να περάσουν από ολόκληρο τον πίνακα Sales, ο οποίος είναι γεμάτος με συναλλαγές που περιλαμβάνουν πολλά προϊόντα, andfind τη μεγαλύτερη ποσότητα που έχει παραγγελχθεί για κάθε product σε οποιαδήποτε συναλλαγή.
Με DAX μπορείτε να δημιουργήσετε έναν μόνο τύπο που επιστρέφει τις σωστές value, and τα αποτελέσματα ενημερώνονται αυτόματα κάθε time ένας χρήστης προσθέτει δεδομένα στους πίνακες.
= 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 περιβάλλοντος είναι το σύνολο των επιτρεπόμενων 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 γλώσσα χρησιμοποιεί τέσσερις διαφορετικούς τύπους τελεστών υπολογισμού σε τύπους:
TRUE
'FALSE' value.Για λεπτομερείς πληροφορίες σχετικά με τους τελεστές που χρησιμοποιούνται σε DAX τύπους, ανατρέξτε στο θέμα DAX τελεστών.
Οι πίνακες σε μοντέλα δεδομένων σε μορφή πίνακα μοιάζουν με πίνακες του Excel, αλλά διαφέρουν στον τρόπο με τον οποίο λειτουργούν με τα δεδομένα and με τύπους:
Μπορείτε να αναφερθείτε σε οποιονδήποτε πίνακα and στήλη, χρησιμοποιώντας το όνομά της. Για παράδειγμα, ο παρακάτω τύπος απεικονίζει τον τρόπο αναφοράς σε στήλες από δύο πίνακες, χρησιμοποιώντας το πλήρως προσδιορισμένο όνομα:
= 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 επανυπολογισμού είναι δύο ξεχωριστές λειτουργίες εκτός από 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 μπορεί να οφείλονται σε οποιοδήποτε από τα ακόλουθα προβλήματα:
Στην first τέσσερις περιπτώσεις, DAX επισημαίνει ολόκληρη τη στήλη που contains τον μη έγκυρο τύπο. Στην περίπτωση last, DAX γκριζάρει τη στήλη για να υποδείξει ότι η στήλη βρίσκεται σε μη επεξεργασμένη κατάσταση.
το Power BI Desktop είναι μια δωρεάν εφαρμογή μοντελοποίησης and αναφοράς δεδομένων. Το εργαλείο σχεδίασης μοντέλων περιλαμβάνει ένα πρόγραμμα επεξεργασίας DAX για τη δημιουργία DAX τύπων υπολογισμού.
Το εργαλείο σχεδίασης μοντέλων
Το Visual Studio με έργα των Υπηρεσιών ανάλυσης επέκταση (VSIX) χρησιμοποιείται για τη δημιουργία έργων μοντέλου Υπηρεσιών ανάλυσης. Η σχεδίαση μοντέλου σε μορφή πίνακα, η οποία εγκαταστάθηκε με την επέκταση έργων, περιλαμβάνει ένα πρόγραμμα επεξεργασίας DAX.
του
SQL Server Management Studio (SSMS) είναι ένα απαραίτητο εργαλείο για τη χρήση των Υπηρεσιών ανάλυσης. Το SSMS περιλαμβάνει ένα DAX πρόγραμμα επεξεργασίας ερωτημάτων για την υποβολή ερωτημάτων σε μορφή πίνακα and πολυδιάστατων μοντέλων.
εικονίδιο
Το DAX Studio είναι ένα εργαλείο προγράμματος-πελάτη ανοιχτού κώδικα για τη δημιουργία and εκτέλεσης ερωτημάτων DAX σε μοντέλα Υπηρεσιών ανάλυσης, Power BI Desktop andPower Pivot στο Excel.
Εικονίδιο "Πρόγραμμα επεξεργασίας σε μορφή πίνακα
το Tabular Editor είναι ένα εργαλείο ανοιχτού κώδικα που παρέχει μια διαισθητική, ιεραρχική προβολή κάθε αντικειμένου σε μετα-δεδομένα μοντέλου σε μορφή πίνακα. Το Tabular Editor περιλαμβάνει ένα πρόγραμμα επεξεργασίας DAX με επισήμανση σύνταξης, το οποίο παρέχει έναν εύκολο τρόπο επεξεργασίας μετρήσεων, υπολογιζόμενης στήλης and παραστάσεων υπολογιζόμενου πίνακα.
Όταν μαθαίνετε DAX, είναι προτιμότερο να χρησιμοποιήσετε την εφαρμογή που θα χρησιμοποιήσετε για να δημιουργήσετε τα μοντέλα δεδομένων σας. Οι Υπηρεσίες ανάλυσης, το Power BI Desktop andPower Pivot στο Excel all έχουν άρθρα and προγράμματα εκμάθησης που περιλαμβάνουν μαθήματα σχετικά με τη δημιουργία μετρήσεων, υπολογιζόμενων στηλών andfilters γραμμών, χρησιμοποιώντας DAX. Ακολουθούν ορισμένοι πρόσθετοι πόροι:
Χρήση DAX στο pathεκμάθησης του Power BI Desktop .
Ο οριστικός οδηγός για την DAX από τον Alberto Ferrari and Marco Russo (Microsoft Press). Now στην έκδοση second του, αυτός ο εκτενής οδηγός παρέχει βασικά στοιχεία για καινοτόμες τεχνικές υψηλών επιδόσεων για την εκκίνηση μοντέλων δεδομένων and επαγγελματίες BI.
DAX μια ζωντανή κοινότητα πάντα πρόθυμη να μοιραστεί τις γνώσεις της. Το Microsoft Power BI Community έχει ένα ειδικό φόρουμ συζητήσεων, μόνο για το DAX, DAX εντολές and συμβουλές.
συμβάν
Ελάτε μαζί μας στο FabCon Vegas
31 Μαρ, 11 μ.μ. - 2 Απρ, 11 μ.μ.
Η απόλυτη εκδήλωση Microsoft Fabric, Power BI, SQL και AI υπό την ηγεσία της κοινότητας. Από 31 Μαρτίου έως 2 Απριλίου 2025.
Εγγραφείτε σήμεραΕκπαίδευση
Λειτουργική μονάδα
Προσθήκη υπολογιζόμενων πινάκων και στηλών σε μοντέλα Power BI Desktop - Training
Στο τέλος αυτής της εκπαιδευτικής ενότητας, θα μπορείτε να προσθέτετε υπολογιζόμενους πίνακες και στήλες στο μοντέλο σημασιολογίας σας. Θα μπορείτε επίσης να περιγράψετε το περιβάλλον γραμμής, το οποίο χρησιμοποιείται σε αξιολογημένους τύπους υπολογιζόμενων στηλών. Καθώς είναι δυνατό να προσθέσετε στήλες σε έναν πίνακα χρησιμοποιώντας Power Query, θα μάθετε επίσης πότε είναι καλύτερο να δημιουργείτε υπολογιζόμενες στήλες αντί να Power Query προσαρμοσμένες στήλες.