VAR
Αποθηκεύει το αποτέλεσμα μιας παράστασης ως ονομαστική μεταβλητή, η οποία μπορεί, στη συνέχεια, να διαβιβαστεί ως όρισμα σε άλλες measure παραστάσεις. Όταν έχουν υπολογιστεί values αποτελέσματος για μια παράσταση μεταβλητής, αυτές οι values κάνουν not αλλάζουν evenif η μεταβλητή αναφέρεται σε μια άλλη παράσταση.
Σύνταξη
VAR <name> = <expression>
Παραμέτρους
Όρος | Ορισμός |
---|---|
name |
Το όνομα της μεταβλητής (αναγνωριστικό). Δεν υποστηρίζονται not οριοθέτες. Για παράδειγμα, η or "varName" [varName] θα έχει ως αποτέλεσμα μια error. Υποστηριζόμενο σύνολο χαρακτήρων: a-z, A-Z, 0-9. Τα 0-9 είναι not έγκυρα ως χαρακτήρας first. Το __ (διπλός χαρακτήρας υπογράμμισης) επιτρέπεται ως πρόθεμα στο όνομα αναγνωριστικού. Δεν υποστηρίζονται άλλοι ειδικοί χαρακτήρες. Οι δεσμευμένες λέξεις-κλειδιά not επιτρέπονται. Τα ονόματα των υπαρχόντων πινάκων επιτρέπονται not. Επιτρέπονται κενά διαστήματα not. |
expression |
Μια DAX παράσταση που επιστρέφει μια ανυσματική or πίνακα value. |
Επιστροφή value
Μια επώνυμη μεταβλητή που περιέχει το αποτέλεσμα του ορίσματος παράστασης.
Παρατηρήσεις
Μια παράσταση που διαβιβάζεται ως όρισμα σε VAR μπορεί να περιέχει μια άλλη δήλωση VAR.
Κατά την αναφορά σε μια μεταβλητή:
- Οι μετρήσεις δεν μπορούν να αναφέρονται σε μεταβλητές που έχουν οριστεί εκτός της παράστασης measure, αλλά μπορούν να αναφέρονται σε λειτουργικές μεταβλητές εμβέλειας που ορίζονται εντός της παράστασης.
- Οι μεταβλητές μπορούν να αναφέρονται σε μετρήσεις.
- Οι μεταβλητές μπορούν να αναφέρονται σε μεταβλητές που έχουν ήδη οριστεί.
- Δεν είναι δυνατή η αναφορά σε στήλες σε μεταβλητές πίνακα μέσω σύνταξης TableName[ColumnName].
Για βέλτιστες πρακτικές κατά τη χρήση του VAR, ανατρέξτε στο θέμα Χρήση μεταβλητών για τη βελτίωση των τύπων DAX σας.
Για να μάθετε περισσότερα σχετικά με τον τρόπο χρήσης των VAR σε ένα ερώτημα DAX, ανατρέξτε στο θέμα DAX ερωτημάτων.
Παράδειγμα
Για να calculate ένα ποσοστό ανάπτυξης yearyear χωρίς τη χρήση μιας μεταβλητής, μπορείτε να δημιουργήσετε τρεις ξεχωριστές μετρήσεις. Αυτός ο firstmeasure υπολογίζει Sum του Ποσού πωλήσεων:
Sum of SalesAmount = SUM(SalesTable[SalesAmount])
Ένας secondmeasure υπολογίζει το ποσό πωλήσεων για το previousyear:
SalesAmount PreviousYear =
CALCULATE([Sum of SalesAmount],
SAMEPERIODLASTYEAR(Calendar[Date])
)
Στη συνέχεια, μπορείτε να δημιουργήσετε ένα τρίτο measure που συνδυάζει τις άλλες δύο μετρήσεις για να calculate ένα ποσοστό ανάπτυξης. Παρατηρήστε ότι η Sum του SalesAmount measure χρησιμοποιείται σε δύο σημεία. first να προσδιορίσετε if υπάρχει μια πώληση και, στη συνέχεια, να calculate ένα ποσοστό.
Sum of SalesAmount YoY%: =
IF([Sum of SalesAmount] ,
DIVIDE(([Sum of SalesAmount] – [SalesAmount PreviousYear]), [Sum of SalesAmount])
)
Χρησιμοποιώντας μια μεταβλητή, μπορείτε να δημιουργήσετε μια μοναδική measure που υπολογίζει το ίδιο αποτέλεσμα:
YoY% =
VAR Sales =
SUM(SalesTable[SalesAmount])
VAR SalesLastYear =
CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )
return if(Sales, DIVIDE(Sales – SalesLastYear, Sales))
Χρησιμοποιώντας μια μεταβλητή, μπορείτε να λάβετε το ίδιο αποτέλεσμα, αλλά με πιο ευανάγνωστο τρόπο. And επειδή το αποτέλεσμα της παράστασης αποθηκεύεται στη μεταβλητή, οι επιδόσεις της measureμπορούν να βελτιωθούν σημαντικά καθώς δεν χρειάζεται να υπολογιστεί εκ νέου κάθε time χρησιμοποιείται.
Related περιεχομένου
Χρησιμοποιήστε μεταβλητές για να βελτιώσετε τους τύπους DAXDAX ερωτήματα