συμβάν
Ελάτε μαζί μας στο FabCon Vegas
31 Μαρ, 11 μ.μ. - 2 Απρ, 11 μ.μ.
Η απόλυτη εκδήλωση Microsoft Fabric, Power BI, SQL και AI υπό την ηγεσία της κοινότητας. Από 31 Μαρτίου έως 2 Απριλίου 2025.
Εγγραφείτε σήμεραΑυτό το πρόγραμμα περιήγησης δεν υποστηρίζεται πλέον.
Κάντε αναβάθμιση σε Microsoft Edge για να επωφεληθείτε από τις τελευταίες δυνατότητες, τις ενημερώσεις ασφαλείας και την τεχνική υποστήριξη.
Τα προγράμματα-πελάτες αναφοράς, όπως το Power BI and Excel, εκτελούν DAX ερωτήματα κάθε φορά που εμφανίζονται απεικονίσεις σε μια αναφορά or ένα πεδίο προστίθεται σε έναν πίνακα and αυτά τα ερωτήματα DAX προσαρμόζονται όταν εφαρμόζεται μια filter. Η
Χρησιμοποιώντας DAX προβολή ερωτημάτων στο Power BI Desktop orDAX Εγγραφή ερωτημάτων στην υπηρεσία Power BI, μπορείτε να δημιουργήσετε and εκτελέσετε τα δικά σας ερωτήματα DAX. Με Microsoft Fabric, μπορείτε να αυξήσετε περαιτέρω την παραγωγικότητά σας με Copilot για τη σύνταξη ερωτημάτων DAX σε DAX προβολή ερωτημάτων του Desktop or web. Εκτός από τα εργαλεία
DAX ερωτήματα επιστρέφουν αποτελέσματα ως right πίνακα μέσα στο εργαλείο, επιτρέποντάς σας να δημιουργείτε γρήγορα and να δοκιμάζετε τις επιδόσεις των τύπων DAX σας σε μετρήσεις or απλώς να προβάλετε τα δεδομένα στο σημασιολογικό μοντέλο σας. ΠΛΗΡΟΦΟΡΙΕΣ and ΠΛΗΡΟΦΟΡΙΕΣ. Η VIEW DAX συναρτήσεις μπορούν επίσης να λάβουν πληροφορίες σχετικά με το σημασιολογικό μοντέλο σας, όπως μια λίστα πινάκων, στηλών, μετρήσεων and πολλά περισσότερα.
Πριν μάθετε σχετικά με τα ερωτήματα, είναι σημαντικό να κατανοήσετε καλά τα βασικά στοιχεία DAX. If δεν το έχετε κάνει ήδη, ανατρέξτε DAX επισκόπηση.
DAX ερωτήματα έχουν μια απλή σύνταξη που αποτελείται από μία μόνο απαιτούμενη λέξη-κλειδί, EVALUATE. EVALUATE ακολουθείται από μια παράσταση πίνακα, όπως μια συνάρτηση DAXor όνομα πίνακα, η οποία όταν η εκτέλεση εξάγει έναν πίνακα αποτελέσματος. Οι παραστάσεις πίνακα που εξάγουν έναν πίνακα αποτελεσμάτων περιλαμβάνουν:
Υπάρχουν πολλές προαιρετικές λέξεις-κλειδιά ειδικά για DAX ερωτήματα: ORDER BY, START AT, DEFINE, MEASURE, VAR, TABLE, and COLUMN.
Στο πιο βασικό επίπεδο, ένα ερώτημα DAX είναι μια EVALUATE
πρόταση που περιέχει μια παράσταση πίνακα. Απαιτούνται τουλάχιστον μία EVALUATE πρόταση, ωστόσο, ένα ερώτημα μπορεί να περιέχει οποιονδήποτε αριθμό EVALUATEstatements.
EVALUATE <table>
Όρος | Ορισμός |
---|---|
table |
Μια παράσταση πίνακα. |
EVALUATE
'Sales Order'
Επιστρέφει all γραμμές and στήλες από τον πίνακα Sales Order, ως αποτέλεσμα. Αυτό μπορεί να περιοριστεί με τη χρήση του TOPNorFILTER, and με ταξινόμηση με ORDER BY.
Η προαιρετική λέξη-κλειδί ORDER BY
ορίζει μία or περισσότερες στήλες στο ερώτημα or παραστάσεις που χρησιμοποιούνται για την ταξινόμηση των αποτελεσμάτων ερωτήματος. Οποιαδήποτε παράσταση που μπορεί να αξιολογηθεί για κάθε γραμμή του αποτελέσματος είναι έγκυρη. Οποιαδήποτε στήλη στο ίδιο το ερώτημα είναι επίσης έγκυρη.
Η ιδιότητα Ταξινόμηση κατά στήλη σε σημασιολογικά μοντέλα δεν ισχύει not για DAX αποτελέσματα ερωτημάτων. If μια στήλη πρέπει να ταξινομείται με βάση μια διαφορετική στήλη στο μοντέλο, όπως στην περίπτωση του ονόματος Month, η στήλη ταξινόμησης κατά θα πρέπει να συμπεριληφθεί επίσης στο ερώτημα DAX που θα χρησιμοποιηθεί στο ORDER BY.
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]]
Όρος | Ορισμός |
---|---|
expression |
Οποιαδήποτε παράσταση DAX που επιστρέφει μια μοναδική ανυσματική value, or στήλη που περιλαμβάνεται στο ερώτημα DAX. |
ASC |
(προεπιλογή) Αύξουσα σειρά ταξινόμησης. |
DESC |
Φθίνουσα σειρά ταξινόμησης. |
EVALUATE
SUMMARIZECOLUMNS(
// Group by columns
'Date'[Month Name],
'Date'[Month of Year],
'Product'[Category],
// Optional filters
FILTER(
VALUES('Product'[Category]),
[Category] = "Clothing"
),
// Measures or explicit DAX formulas to aggregate and analyze the data by row
"Orders", [Orders],
"Avg Profit per Order", DIVIDE(
[Total Sales Profit],
[Orders]
)
)
// DAX queries do not use sort order defined in Power BI,
// sort by columns must be included in the DAX query to be used in order by
ORDER BY 'Date'[Month of Year] ASC
Επιστρέφει παραγγελίες ρούχων andaverage κέρδος ανά παραγγελία κατά month, σε αύξουσα σειρά κατά month, ως αποτέλεσμα του πίνακα.
TOPN not επιλέγει τον καθορισμένο αριθμό γραμμών που θα επιστραφούν με βάση τη σειρά ταξινόμησης που καθορίζεται στο ORDER BY. Αντί για αυτό, TOPN έχει τη δική της σύνταξη για να καθορίσετε προαιρετικά μια ταξινόμηση προτού επιστραφούν οι πρώτες 100 γραμμές. ORDER BY ταξινομεί μόνο τον πίνακα αποτελεσμάτων που επιστρέφεται από TOPN.
EVALUATE
TOPN(
100,
'Sales Order',
// The way the data is sorted before the top 100 rows are selected
'Sales Order'[SalesOrderLineKey], ASC
)
// The way the data is sorted for the results
ORDER BY
'Sales Order'[Sales Order] ASC,
'Sales Order'[Sales Order Line] ASC
Επιστρέφει τις 100 κορυφαίες παραγγελίες πωλήσεων με αύξουσα ταξινόμηση κατά SalesOrderLienKey και, στη συνέχεια, ταξινομεί τα αποτελέσματα first κατά παραγγελία πώλησης και, στη συνέχεια, κατά γραμμή παραγγελίας πώλησης.
Η προαιρετική λέξη-κλειδί START AT
χρησιμοποιείται μέσα σε έναν όρο ORDER BY
. Καθορίζει τις value από τις οποίες ξεκινούν τα αποτελέσματα του ερωτήματος.
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]
[START AT {<value>|<parameter>} [, …]]]
Όρος | Ορισμός |
---|---|
value |
Μια σταθερά value. Δεν μπορεί να είναι παράσταση. |
parameter |
Το όνομα μιας παραμέτρου σε μια πρόταση XMLA με πρόθεμα έναν χαρακτήρα @ . |
START AT ορίσματα έχουν μια αντιστοιχία ένα προς ένα με τις στήλες στον όρο ORDER BY. Μπορεί να υπάρχουν τόσα ορίσματα στον όρο START AT όσα υπάρχουν στον όρο ORDER BY, αλλά not περισσότερα. Το όρισμα first στη START AT ορίζει την αρχική value στη στήλη 1 των ORDER BY στηλών. Το όρισμα second στη START AT ορίζει την αρχική value στη στήλη 2 των ORDER BY στηλών εντός των γραμμών που ικανοποιούν τη firstvalue για τη στήλη 1.
EVALUATE
'Sales Order'
ORDER BY 'Sales Order'[Sales Order] ASC
// Start at this order, orders before this order will not be displayed
START AT "SO43661"
Επιστρέφει all στήλες από τον πίνακα Sales Order, σε αύξουσα σειρά κατά Sales Order, ξεκινώντας από SO43661. Οι γραμμές πριν από αυτήν την παραγγελία πωλήσεων not περιλαμβάνονται στον πίνακα που προκύπτει.
Η προαιρετική λέξη-κλειδί DEFINE
παρουσιάζει έναν or περισσότερους ορισμούς υπολογιζόμενων οντοτήτων που υπάρχουν μόνο για την duration του ερωτήματος. Σε αντίθεση με EVALUATE
, μπορεί να υπάρχει μόνο ένα μπλοκ DEFINE
με ένα or περισσότερους ορισμούς σε ένα ερώτημα DAX.
DEFINE
πρέπει να προηγείται της πρότασης firstEVALUATE
and είναι έγκυρες για allEVALUATEstatements στο ερώτημα. Οι ορισμοί μπορεί να είναι μεταβλητές, μετρήσεις, πίνακες1, and στήλες1. Οι ορισμοί μπορούν να αναφέρουν άλλους ορισμούς που εμφανίζονται πριν or μετά τον τρέχοντα ορισμό. Απαιτείται τουλάχιστον ένας ορισμός if η λέξη-κλειδί DEFINE
περιλαμβάνεται σε ένα ερώτημα.
DEFINE MEASURE
είναι ένα συνηθισμένο σενάριο για τη δημιουργία νέων μετρήσεων or την επεξεργασία υπαρχουσών μετρήσεων σε ένα μοντέλο σημασιολογίας. Όταν η measure υπάρχει ήδη στο μοντέλο, το ερώτημα DAX θα χρησιμοποιήσει τον measureDAX τύπο που έχει οριστεί στο ερώτημα. Αυτό είναι χρήσιμο για τη δοκιμή μετρήσεων με ένα DAX ερώτημα πριν από την ενημέρωση του μοντέλου.
DEFINE MEASURE
είναι επίσης χρήσιμο για τη δημιουργία πρόσθετης ανάλυσης με τύπους DAX για ένα συγκεκριμένο ερώτημα DAX όπου μπορεί να not έχετε δικαίωμα προσθήκης ενός μοντέλου measureor είναι not απαραίτητο να το έχετε στο μοντέλο.
[DEFINE
(
(MEASURE <table name>[<measure name>] = <scalar expression>) |
(VAR <var name> = <table or scalar expression>) |
(TABLE <table name> = <table expression>) |
(COLUMN <table name>[<column name>] = <scalar expression>) |
) +
]
(EVALUATE <table expression>) +
Όρος | Ορισμός |
---|---|
Entity |
MEASURE, VAR, TABLE1, or COLUMN1. |
name |
Το όνομα ενός measure, var, πίνακα or ορισμού στήλης. Δεν μπορεί να είναι παράσταση. Το όνομα not πρέπει να είναι μοναδικό. Το όνομα υπάρχει μόνο για τη duration του ερωτήματος. |
expression |
Οποιαδήποτε παράσταση DAX που επιστρέφει έναν πίνακα or ανυσματική value. Η παράσταση μπορεί να χρησιμοποιήσει οποιαδήποτε από τις καθορισμένες οντότητες.
If υπάρχει ανάγκη να convert μια ανυσματική παράσταση σε μια παράσταση πίνακα, να αναδιπλώσετε την παράσταση μέσα σε μια κατασκευή πίνακα με άγκιστρα {} , or να χρησιμοποιήσετε τη συνάρτηση ROW() για να επιστρέψετε έναν πίνακα μοναδικής γραμμής. |
[1]Προσοχή: ορισμοί ΠΊΝΑΚΑ με εμβέλεια ερωτήματος and COLUMN προορίζονται μόνο για εσωτερική χρήση. Παρόλο που μπορείτε να define TABLE and παραστάσεις COLUMN για ένα ερώτημα χωρίς σύνταξη error, μπορεί να παράγουν σφάλματα χρόνου εκτέλεσης andnot συνιστώνται.
Ένα DAX ερώτημα μπορεί να έχει πολλές EVALUATEstatements, αλλά μπορεί να έχει μόνο μία πρόταση DEFINE. Οι ορισμοί στην πρόταση DEFINE μπορούν να ισχύουν για οποιαδήποτε EVALUATEstatements στο ερώτημα.
Απαιτείται τουλάχιστον ένας ορισμός σε μια πρόταση DEFINE.
Measure ορισμοί για ένα ερώτημα παρακάμπτουν μετρήσεις μοντέλου με το ίδιο όνομα, αλλά χρησιμοποιούνται μόνο μέσα στο ερώτημα. Θα επηρεάσουν not τις measureμοντέλου .
VAR ονόματα έχουν μοναδικούς περιορισμούς. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα VAR - Παράμετροι.
DEFINE
VAR _firstyear = MIN('Date'[Fiscal Year])
VAR _lastyear = MAX('Date'[Fiscal Year])
TABLE 'Unbought products' = FILTER('Product', [Orders] + 0 = 0)
COLUMN 'Unbought products'[Year Range] = _firstyear & " - " & _lastyear
MEASURE 'Unbought products'[Unbought products] = COUNTROWS('Unbought products')
EVALUATE
'Unbought products'
EVALUATE
{[Unbought products]}
Επιστρέφει τον πίνακα που έχει οριστεί στο ερώτημα DAX για να εμφανίσει μη αναζήτητα προϊόντα με μια πρόσθετη αναφορά στήλης σε καθορισμένες μεταβλητές. Μια measure ορίζεται επίσης and αξιολογείται για να count τις γραμμές μη αναζήτητων προϊόντων.
DEFINE
MEASURE 'Pick a sales measure'[Orders] = DISTINCTCOUNT('Sales Order'[Sales Order])
MEASURE 'Pick a sales measure'[Customers] = CALCULATE(
COUNTROWS(Customer),
FILTER(
'Sales',
[Orders] > 0
)
)
MEASURE 'Pick a sales measure'[Orders per Customer] = DIVIDE(
[Orders],
[Customers],
0
)
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Fiscal Year],
"Orders", [Orders],
"Customers", [Customers],
"Orders per Customer", [Orders per Customer]
)
Επιστρέφει έναν πίνακα που αξιολογεί τρεις καθορισμένες μετρήσεις για να εμφανίσει τα αποτελέσματα κατά οικονομικό year. All μετρήσεις υπάρχουν επίσης στο μοντέλο, and Τροποποιούνται παραγγελίες ανά πελάτη στο ερώτημα DAX.
Μια σαφώς καθορισμένη πρόταση DAX ερωτήματος μπορεί να παραμετροποιηθεί and στη συνέχεια να χρησιμοποιηθεί μέσω and με απλώς αλλαγές στην παράμετρο values.
Η μέθοδος
Αναφέρετε παραμέτρους XMLA, τοποθετώντας στο πρόθεμα το όνομα της παραμέτρου έναν @
χαρακτήρα. Σε κάθε θέση στη σύνταξη όπου επιτρέπεται μια value, η value μπορεί να αντικατασταθεί με μια κλήση παραμέτρου.
All παράμετροι XMLA πληκτρολογούνται ως κείμενο.
Σημαντικό
Οι παράμετροι που ορίζονται στην ενότητα παραμέτρων andnot που χρησιμοποιούνται στο στοιχείο <STATEMENT>
generate μια απόκριση error στο XMLA.
Οι παράμετροι που χρησιμοποιούνται andnot ορίζονται στο <Parameters>
στοιχείο generate μια error απόκριση στο XMLA.
συμβάν
Ελάτε μαζί μας στο FabCon Vegas
31 Μαρ, 11 μ.μ. - 2 Απρ, 11 μ.μ.
Η απόλυτη εκδήλωση Microsoft Fabric, Power BI, SQL και AI υπό την ηγεσία της κοινότητας. Από 31 Μαρτίου έως 2 Απριλίου 2025.
Εγγραφείτε σήμεραΕκπαίδευση
Διαδρομή εκμάθησης
Χρήση DAX στο Power BI Desktop - Training
Αυτός ο μαθησιακός δίαυλος παρουσιάζει παραστάσεις ανάλυσης δεδομένων (DAX) και σας παρέχει βασικές δεξιότητες που απαιτούνται για τη βελτίωση των σημασιολογικών μοντέλων με υπολογισμούς. Ξεκινά περιγράφοντας τη δομή μοντέλου Power BI Desktop και πώς μπορεί να βελτιωθεί με υπολογισμούς DAX. Έπειτα, περιγράφει πώς μπορείτε να συντάξετε τύπους DAX και τους διαφορετικούς τύπους υπολογισμών μοντέλων, συμπεριλαμβανομένων υπολογιζόμενων πινάκων και στηλών, και μετρήσεων. Παρουσιάζονται τα περιβάλλοντα αξιολόγησης
Πιστοποίηση
Microsoft Certified: Power BI Data Analyst Associate - Certifications
Demonstrate methods and best practices that align with business and technical requirements for modeling, visualizing, and analyzing data with Microsoft Power BI.