VAR

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

Σύνταξη

VAR <name> = <expression>

Παραμέτρους

Όρος Ορισμός
name Το όνομα της μεταβλητής (αναγνωριστικό).
Δεν υποστηρίζονται οριοθέτες. Για παράδειγμα, τα "varName" ή [varName] έχουν ως αποτέλεσμα σφάλμα.
Υποστηριζόμενο σύνολο χαρακτήρων: a-z, A-Z, 0-9.
Το 0-9 δεν είναι έγκυρο ως πρώτος χαρακτήρας.
Το __ (διπλός χαρακτήρας υπογράμμισης) επιτρέπεται ως πρόθεμα στο όνομα αναγνωριστικού.
Δεν υποστηρίζονται άλλοι ειδικοί χαρακτήρες.
Δεν επιτρέπονται δεσμευμένες λέξεις-κλειδιά.
Δεν επιτρέπονται ονόματα υπαρχόντων πινάκων.
Δεν επιτρέπονται κενά διαστήματα.
expression Μια DAX παράσταση που επιστρέφει μια ανυσματική τιμή ή τιμή πίνακα.

Τιμή επιστροφής

Μια επώνυμη μεταβλητή που περιέχει το αποτέλεσμα του ορίσματος παράστασης.

Παρατηρήσεις

  • Μια παράσταση που διαβιβάζεται ως όρισμα σε VAR μπορεί να περιέχει μια άλλη δήλωση VAR.

  • Όταν αναφέρετε μια μεταβλητή:

    • Οι μετρήσεις δεν μπορούν να αναφέρονται σε μεταβλητές που ορίζονται εκτός της παράστασης μέτρησης, αλλά μπορούν να αναφέρονται σε λειτουργικές μεταβλητές εμβέλειας που ορίζονται εντός της παράστασης.
    • Οι μεταβλητές μπορούν να αναφέρονται σε μετρήσεις.
    • Οι μεταβλητές μπορούν να αναφέρονται σε μεταβλητές που έχουν ήδη οριστεί.
    • Δεν μπορείτε να αναφέρετε στήλες σε μεταβλητές πίνακα χρησιμοποιώντας τη σύνταξη TableName[ColumnName].
  • Για βέλτιστες πρακτικές κατά τη χρήση του VAR, ανατρέξτε στο θέμα Χρήση μεταβλητών για τη βελτίωση των τύπων DAX σας.

  • Για να μάθετε περισσότερα σχετικά με τον τρόπο χρήσης των VAR σε ένα ερώτημα DAX, ανατρέξτε στο θέμα DAX ερωτημάτων.

Παράδειγμα

Παραδείγματα σε αυτό το άρθρο μπορούν να χρησιμοποιηθούν με το δείγμα μοντέλου Adventure Works DW 2020 Power BI Desktop. Για να λάβετε το μοντέλο, ανατρέξτε DAX δείγμαμοντέλου .

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

Sum of Sales Amount =
SUM ( Sales[Sales Amount] )

Μια δεύτερη μέτρηση υπολογίζει το ποσό πωλήσεων για το προηγούμενο έτος:

Sales Amount PreviousYear =
CALCULATE ( [Sum of Sales Amount], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )

Στη συνέχεια, μπορείτε να δημιουργήσετε μια τρίτη μέτρηση που συνδυάζει τις άλλες δύο μετρήσεις για τον υπολογισμό ενός ποσοστού ανάπτυξης. Παρατηρήστε ότι το άθροισμα του SalesAmount χρησιμοποιείται σε δύο σημεία: πρώτα για να ελέγξετε εάν υπάρχει πώληση και, στη συνέχεια, για να υπολογίσετε ένα ποσοστό.

Sum of SalesAmount YoY%: =
IF (
    [Sum of Sales Amount] && [Sales Amount PreviousYear],
    DIVIDE (
        ( [Sum of Sales Amount] - [Sales Amount PreviousYear] ),
        [Sales Amount PreviousYear]
    )
)

Χρησιμοποιώντας μια μεταβλητή, μπορείτε να δημιουργήσετε μια μοναδική μέτρηση που υπολογίζει το ίδιο αποτέλεσμα:

YoY% =
VAR Sales =
    SUM ( Sales[Sales Amount] )
VAR SalesLastYear =
    CALCULATE ( SUM ( Sales[Sales Amount] ), SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
RETURN
    IF ( Sales && SalesLastYear, DIVIDE ( Sales - SalesLastYear, SalesLastYear ) )

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