Εγγραφή τύπων DAX

Ολοκληρώθηκε

Κάθε τύπος υπολογισμού μοντέλου, υπολογιζόμενος πίνακας, υπολογιζόμενη στήλη ή μέτρηση ορίζεται από το όνομά του, ακολουθούμενο από το σύμβολο ίσον (=), το οποίο ακολουθείται έπειτα από έναν τύπο DAX. Χρησιμοποιήστε το παρακάτω πρότυπο για να δημιουργήσετε έναν υπολογισμό μοντέλου:

<Calculation name> = <DAX formula>

Για παράδειγμα, ο ορισμός του υπολογιζόμενου πίνακα Ημερομηνία αποστολής που αναπαράγει τα δεδομένα του πίνακα Ημερομηνία είναι:

Ship Date = 'Date'

Ένας τύπος DAX αποτελείται από παραστάσεις που επιστρέφουν ένα αποτέλεσμα. Το αποτέλεσμα είναι είτε ένα αντικείμενο πίνακα, είτε μια ανυσματική τιμή. Οι τύποι υπολογιζόμενου πίνακα πρέπει να επιστρέφουν ένα αντικείμενο πίνακα. Οι τύποι υπολογιζόμενης στήλης και μέτρησης πρέπει να επιστρέφουν μια ανυσματική τιμή (μοναδική τιμή).

Οι τύποι συναρμολογούνται χρησιμοποιώντας:

  • Συναρτήσεις DAX
  • Τελεστές DAX
  • Αναφορές σε αντικείμενα μοντέλου
  • Σταθερές τιμές, όπως ο αριθμός 24 ή το ακριβές κείμενο "FY" (συντομογραφία για το οικονομικό έτος)
  • Μεταβλητές DAX
  • Κενό διάστημα

Συμβουλή

Κατά την εισαγωγή τύπων DAX στο Power BI Desktop, έχετε το πλεονέκτημα του IntelliSense. Το IntelliSense είναι ένα βοήθημα ολοκλήρωσης κώδικα που αναφέρει συναρτήσεις και πόρους μοντέλου. Όταν επιλέγετε μια συνάρτηση DAX, σας παρέχει επίσης έναν ορισμό και περιγραφή. Συνιστούμε να χρησιμοποιήσετε το IntelliSense για να σας βοηθήσει να δημιουργήσετε γρήγορα ακριβείς τύπους.

Συναρτήσεις DAX

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

Σε έναν τύπο, τα ονόματα συναρτήσεων πρέπει να ακολουθούνται από παρενθέσεις. Εντός των παρενθέσεων, μεταβιβάζονται μεταβλητές.

Σημείωση

Ορισμένες συναρτήσεις δεν λαμβάνουν ορίσματα ή τα ορίσματα μπορεί να είναι προαιρετικά.

Η εργασία με συναρτήσεις DAX περιγράφεται αργότερα σε αυτήν την εκπαιδευτική ενότητα.

Τελεστές DAX

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

Οι τελεστές DAX περιγράφονται αναλυτικά αργότερα σε αυτήν την εκπαιδευτική ενότητα.

Αναφορές σε αντικείμενα μοντέλου

Οι τύποι μπορούν να αναφέρονται μόνο σε τρεις τύπους αντικειμένων μοντέλου: πίνακες, στήλες ή μετρήσεις. Ένας τύπος δεν μπορεί να αναφέρεται σε μια ιεραρχία ή επίπεδο ιεραρχίας. (Να θυμάστε ότι ένα επίπεδο ιεραρχίας βασίζεται σε μια στήλη, έτσι ο τύπος σας μπορεί να αναφέρεται σε μια στήλη επιπέδου ιεραρχίας.)

Αναφορές πίνακα

Όταν αναφέρετε έναν πίνακα σε έναν τύπο, επισήμως, το όνομα του πίνακα περικλείεται σε μονά εισαγωγικά. Στον παρακάτω ορισμό υπολογιζόμενου πίνακα, παρατηρήστε ότι ο πίνακας Ημερομηνία περικλείεται σε μονά εισαγωγικά.

Ship Date = 'Date'

Ωστόσο, τα μονά εισαγωγικά μπορούν να παραλειφθούν όταν αμφότερες οι παρακάτω συνθήκες είναι αληθείς:

  1. Το όνομα πίνακα δεν περιλαμβάνει ενσωματωμένα διαστήματα.
  2. Το όνομα του πίνακα δεν είναι μια δεσμευμένη λέξη που χρησιμοποιείται από το DAX. Όλα τα ονόματα συναρτήσεων και οι τελεστές DAX είναι δεσμευμένες λέξεις. Η ημερομηνία είναι ένα όνομα συνάρτησης DAX, το οποίο εξηγεί γιατί, όταν αναφέρετε έναν πίνακα με την ονομασία Ημερομηνία, πρέπει να τον περικλείετε μέσα σε μονά εισαγωγικά.

Στον παρακάτω ορισμό υπολογιζόμενου πίνακα, μπορείτε να παραλείψετε τα μονά εισαγωγικά κατά την αναφορά στον πίνακα Αεροδρόμιο :

Arrival Airport = Airport

Αναφορές στηλών

Όταν αναφέρετε μια στήλη σε έναν τύπο, το όνομα στήλης πρέπει να περικλείεται σε αγκύλες. Προαιρετικά, μπορεί να προηγείται του ονόματος πίνακά του. Για παράδειγμα, ο παρακάτω ορισμός μέτρησης αναφέρεται στη στήλη Ποσό πωλήσεων.

Revenue = SUM([Sales Amount])

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

Συμβουλή

Για να βελτιώσετε την αναγνωσιμότητα των τύπων σας, συνιστούμε να τοποθετείτε πάντα πριν από μια αναφορά στήλης το όνομα του πίνακά της.

Το προηγούμενο παράδειγμα ορισμού μέτρησης μπορεί να γραφτεί ξανά ως:

Revenue = SUM(Sales[Sales Amount])

Αναφορές μετρήσεων

Όταν αναφέρετε μια μέτρηση σε έναν τύπο, όπως αναφορές ονόματος στήλης, το όνομα μέτρησης πρέπει να περικλείεται σε αγκύλες. Για παράδειγμα, ο παρακάτω ορισμός μέτρησης αναφέρεται στις μετρήσεις Έσοδα και Κόστος.

Profit = [Revenue] - [Cost]

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

Συμβουλή

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

Επομένως, ενώ προτείνουμε να τοποθετείτε πάντα πριν από μια αναφορά στήλης το όνομα του πίνακά της, το αντίστροφο ισχύει για μετρήσεις: Συνιστούμε να μην τοποθετείτε ποτέ πριν από μια αναφορά μέτρησης το όνομα του πίνακά της.

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

Μεταβλητές DAX

Οι τύποι μπορούν να δηλώσουν μεταβλητές DAX για να αποθηκεύουν αποτελέσματα.

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

Κενό διάστημα

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

  • Διαστήματα
  • Στηλοθέτες
  • Αλλαγές παραγράφου

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

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

Συμβουλή

Στη γραμμή τύπων, για να εισαγάγετε μια αλλαγή παραγράφου, πατήστε Shift+Enter. Πατώντας το πλήκτρο Enter μόνο του θα δεσμεύσει τον τύπο σας.

Εξετάστε τον παρακάτω ορισμό μέτρησης που έχει γραφεί σε μια μοναδική γραμμή και περιλαμβάνει πέντε κλήσεις συναρτήσεων DAX:

Revenue YoY % = DIVIDE([Revenue] - CALCULATE([Revenue], SAMEPERIODLASTYEAR('Date'[Date])), CALCULATE([Revenue], SAMEPERIODLASTYEAR('Date'[Date])))

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

Revenue YoY % =
DIVIDE(
    [Revenue]
        - CALCULATE(
            [Revenue],
            SAMEPERIODLASTYEAR('Date'[Date])
    ),
    CALCULATE(
        [Revenue],
        SAMEPERIODLASTYEAR('Date'[Date])
    )
)

Δοκιμάστε να μορφοποιήσετε τη μέτρηση μόνοι σας. Ανοίξτε το αρχείο Power BI Desktop Adventure Works DW 2020 M02.pbix και, στη συνέχεια, στο τμήμα παραθύρου Πεδία, αναπτύξτε τον πίνακα Πωλήσεις και, στη συνέχεια, επιλέξτε τη μέτρηση Έσοδα YoY %. Στη γραμμή τύπων, χρησιμοποιήστε χαρακτήρες tab και αλλαγής παραγράφου για να παράγετε το ίδιο αποτέλεσμα με το προηγούμενο παράδειγμα. Όταν προσθέτετε μια αλλαγή παραγράφου, θυμηθείτε να πατήσετε Shift+Enter.

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

Συμβουλή

Ένα εξαιρετικό εργαλείο μορφοποίησης από μια άλλη προέλευση που μπορεί να σας βοηθήσει να μορφοποιήσετε τους υπολογισμούς σας είναι ο Μορφοποιητής DAX. Αυτό το εργαλείο σάς επιτρέπει να επικολλήσετε τον υπολογισμό σας και να τον μορφοποιήσετε. Στη συνέχεια, μπορείτε να αντιγράψετε τον μορφοποιημένο υπολογισμό στο πρόχειρο και να τον επικολλήσετε ξανά στο Power BI Desktop.