Αυτή η ενότητα παρέχει συνδέσεις σε παραδείγματα που δείχνουν τη χρήση των τύπων DAX στα ακόλουθα σενάρια.
- Εκτέλεση σύνθετων υπολογισμών
- Εργασία με κείμενο και ημερομηνίες
- Υπό όρους τιμές και δοκιμές για σφάλματα
- Χρήση χρονικής ευφυΐας
- Κατάταξη και σύγκριση τιμών
Σε αυτό το άρθρο
Γρήγορα αποτελέσματα
Επισκεφθείτε το Wiki κέντρου πόρων DAX όπου μπορείτε να βρείτε κάθε είδους πληροφορίες σχετικά με το DAX, συμπεριλαμβανομένων ιστολογίων, δειγμάτων, λευκών βίβλων και βίντεο που παρέχονται από κορυφαίους επαγγελματίες του κλάδου και τη Microsoft.
Σενάρια: Εκτέλεση σύνθετων υπολογισμών
Οι τύποι DAX μπορούν να εκτελέσουν σύνθετους υπολογισμούς που περιλαμβάνουν προσαρμοσμένες συναθροίσεις, φιλτράρισμα και τη χρήση τιμών υπό όρους. Αυτή η ενότητα παρέχει παραδείγματα για το πώς μπορείτε να ξεκινήσετε με προσαρμοσμένους υπολογισμούς.
Δημιουργία προσαρμοσμένων υπολογισμών για Συγκεντρωτικό Πίνακα
Οι συναρτήσεις CALCULATE και CALCULATETABLE είναι ισχυρές, ευέλικτες συναρτήσεις που είναι χρήσιμες για τον ορισμό υπολογιζόμενων πεδίων. Αυτές οι συναρτήσεις σάς επιτρέπουν να αλλάξετε το περιβάλλον στο οποίο θα εκτελεστεί ο υπολογισμός. Μπορείτε επίσης να προσαρμόσετε τον τύπο συνάθροισης ή μαθηματικής πράξης που θα εκτελεστεί. Ανατρέξτε στα παρακάτω θέματα για παραδείγματα.
Εφαρμογή φίλτρου σε τύπο
Στα περισσότερα σημεία όπου μια συνάρτηση DAX λαμβάνει έναν πίνακα ως όρισμα, μπορείτε συνήθως να μεταβιβάσετε έναν φιλτραρισμένο πίνακα, είτε χρησιμοποιώντας τη συνάρτηση FILTER αντί για το όνομα του πίνακα είτε καθορίζοντας μια παράσταση φίλτρου ως ένα από τα ορίσματα της συνάρτησης. Τα παρακάτω θέματα παρέχουν παραδείγματα του τρόπου δημιουργίας φίλτρων και του τρόπου με τον οποίο τα φίλτρα επηρεάζουν τα αποτελέσματα των τύπων. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Φιλτράρισμα δεδομένων σε τύπους DAX.
Η συνάρτηση FILTER σάς επιτρέπει να καθορίσετε κριτήρια φίλτρου χρησιμοποιώντας μια παράσταση, ενώ οι άλλες συναρτήσεις έχουν σχεδιαστεί ειδικά για να φιλτράρουν τις κενές τιμές.
Αφαιρέστε τα φίλτρα επιλεκτικά για να δημιουργήσετε μια δυναμική αναλογία
Με τη δημιουργία δυναμικών φίλτρων σε τύπους, μπορείτε εύκολα να απαντήσετε σε ερωτήσεις όπως οι εξής:
- Ποια ήταν η συμβολή των πωλήσεων του τρέχοντος προϊόντος στις συνολικές πωλήσεις του έτους;
- Πόσο έχει συμβάλει αυτό το τμήμα στα συνολικά κέρδη για όλα τα έτη λειτουργίας, σε σύγκριση με άλλα τμήματα;
Οι τύποι που χρησιμοποιείτε σε έναν Συγκεντρωτικό Πίνακα μπορούν να επηρεαστούν από το περιβάλλον του Συγκεντρωτικού Πίνακα, αλλά μπορείτε να αλλάξετε επιλεκτικά το περιβάλλον προσθέτοντας ή καταργώντας φίλτρα. Το παράδειγμα στο θέμα "ΟΛΑ" σας δείχνει πώς να το κάνετε αυτό. Για να βρείτε την αναλογία των πωλήσεων για ένα συγκεκριμένο μεταπωλητή σε σχέση με τις πωλήσεις όλων των μεταπωλητών, μπορείτε να δημιουργήσετε μια μέτρηση που υπολογίζει την τιμή για το τρέχον περιβάλλον διαιρεμένη με την τιμή για το περιβάλλον ALL.
Το θέμα "ALLEXCEPT " παρέχει ένα παράδειγμα του τρόπου επιλεκτικής απαλοιφής φίλτρων σε έναν τύπο. Και τα δύο παραδείγματα σάς καθοδηγούν στον τρόπο με τον οποίο αλλάζουν τα αποτελέσματα ανάλογα με τη σχεδίαση του Συγκεντρωτικού Πίνακα.
Για άλλα παραδείγματα σχετικά με τον τρόπο υπολογισμού των αναλογιών και ποσοστών, ανατρέξτε στα ακόλουθα θέματα:
Χρήση μιας τιμής από εξωτερικό βρόχο
Εκτός από τη χρήση τιμών από το τρέχον περιβάλλον σε υπολογισμούς, το DAX μπορεί να χρησιμοποιήσει μια τιμή από έναν προηγούμενο βρόχο για τη δημιουργία ενός συνόλου σχετικών υπολογισμών. Το παρακάτω θέμα παρέχει αναλυτικές οδηγίες σχετικά με τον τρόπο δημιουργίας ενός τύπου που αναφέρεται σε μια τιμή από έναν εξωτερικό βρόχο. Η συνάρτηση EARLIER υποστηρίζει έως δύο επίπεδα ένθετων βρόχων.
Για να μάθετε περισσότερα σχετικά με το περιβάλλον των γραμμών και τους σχετικούς πίνακες, καθώς και για τον τρόπο χρήσης αυτής της έννοιας σε τύπους, ανατρέξτε στο θέμα Περιβάλλον σε τύπους DAX.
Σενάρια: Εργασία με κείμενο και ημερομηνίες
Αυτή η ενότητα παρέχει συνδέσεις σε θέματα αναφοράς DAX που περιέχουν παραδείγματα συνηθισμένων σεναρίων που αφορούν την εργασία με κείμενο, την εξαγωγή και σύνθεση τιμών ημερομηνίας και ώρας ή τη δημιουργία τιμών με βάση μια συνθήκη.
Δημιουργία στήλης-κλειδιού με συνένωση
Το Power Pivot δεν επιτρέπει σύνθετα κλειδιά. Επομένως, εάν έχετε σύνθετα κλειδιά στο αρχείο προέλευσης δεδομένων σας, ίσως χρειαστεί να τα συνδυάσετε σε μία μόνο στήλη κλειδιού. Στο παρακάτω θέμα δίνεται ένα παράδειγμα του τρόπου δημιουργίας μιας υπολογιζόμενης στήλης με βάση ένα σύνθετο κλειδί.
Σύνθεση ημερομηνίας με βάση τμήματα ημερομηνίας που έχουν εξαχθεί από μια ημερομηνία κειμένου
Το Power Pivot χρησιμοποιεί έναν τύπο δεδομένων ημερομηνίας/ώρας του SQL Server για να εργαστεί με ημερομηνίες. Επομένως, εάν τα εξωτερικά δεδομένα σας περιέχουν ημερομηνίες που έχουν διαφορετική μορφοποίηση -- για παράδειγμα, εάν οι ημερομηνίες σας έχουν συνταχθεί σε μια τοπική μορφή ημερομηνίας που δεν αναγνωρίζεται από το μηχανισμό δεδομένων του Power Pivot ή εάν τα δεδομένα σας χρησιμοποιούν ακέραια υποκατάστατα κλειδιά -- ίσως χρειαστεί να χρησιμοποιήσετε έναν τύπο DAX για να εξαγάγετε τα τμήματα ημερομηνίας και, στη συνέχεια, να συνθέσετε τα τμήματα σε μια έγκυρη αναπαράσταση ημερομηνίας/ώρας.
Για παράδειγμα, εάν έχετε μια στήλη ημερομηνιών που αναπαριστώνται ως ακέραιος και, στη συνέχεια, εισάγονται ως συμβολοσειρά κειμένου, μπορείτε να μετατρέψετε τη συμβολοσειρά σε τιμή ημερομηνίας/ώρας χρησιμοποιώντας τον παρακάτω τύπο:
=DATE(RIGHT([Τιμή1];4);LEFT([Τιμή1];2);MID([Τιμή1];2))
| Τιμή1 | Result |
|---|---|
| 01032009 | 1/3/2009 |
| 12132008 | 12/13/2008 |
| 06252007 | 6/25/2007 |
Τα ακόλουθα θέματα παρέχουν περισσότερες πληροφορίες σχετικά με τις συναρτήσεις που χρησιμοποιούνται για την εξαγωγή και τη σύνθεση ημερομηνιών.
Ορισμός προσαρμοσμένης μορφής ημερομηνίας ή αριθμού
Εάν τα δεδομένα σας περιέχουν ημερομηνίες ή αριθμούς που δεν αναπαριστώνται σε κάποια από τις τυπικές μορφές κειμένου των Windows, μπορείτε να ορίσετε μια προσαρμοσμένη μορφή για να διασφαλίσετε ότι οι τιμές αντιμετωπίζονται σωστά. Αυτές οι μορφές χρησιμοποιούνται κατά τη μετατροπή τιμών σε συμβολοσειρές ή από συμβολοσειρές. Τα ακόλουθα θέματα παρέχουν, επίσης, μια λεπτομερή λίστα των προκαθορισμένων μορφών που είναι διαθέσιμες για την εργασία με ημερομηνίες και αριθμούς.
- Προκαθορισμένες αριθμητικές μορφές για τη συνάρτηση FORMAT
- Προσαρμοσμένες αριθμητικές μορφές για τη συνάρτηση FORMAT
- Προκαθορισμένες μορφές ημερομηνίας και ώρας για τη συνάρτηση FORMAT
- Προσαρμοσμένες μορφές ημερομηνίας και ώρας για τη συνάρτηση FORMAT
Αλλαγή τύπων δεδομένων με τη χρήση τύπου
Στο Power Pivot, ο τύπος δεδομένων εξόδου καθορίζεται από τις στήλες προέλευσης και δεν μπορείτε να καθορίσετε ρητά τον τύπο δεδομένων του αποτελέσματος, επειδή ο βέλτιστος τύπος δεδομένων καθορίζεται από το Power Pivot. Ωστόσο, μπορείτε να χρησιμοποιήσετε τις έμμεσες μετατροπές τύπου δεδομένων που εκτελούνται από το Power Pivot για να χειριστείτε τον τύπο δεδομένων εξόδου.
- Για να μετατρέψετε μια ημερομηνία ή μια συμβολοσειρά αριθμών σε αριθμό, πρέπει να πολλαπλασιάσετε με το 1,0. Για παράδειγμα, ο παρακάτω τύπος υπολογίζει την τρέχουσα ημερομηνία μείον 3 ημέρες και, στη συνέχεια, αποδίδει την αντίστοιχη ακέραια τιμή.
=(TODAY()-3)*1,0 - Για να μετατρέψετε μια τιμή ημερομηνίας, αριθμού ή νομισματικής μονάδας σε συμβολοσειρά, συνενώστε την τιμή με μια κενή συμβολοσειρά. Για παράδειγμα, ο παρακάτω τύπος επιστρέφει τη σημερινή ημερομηνία ως συμβολοσειρά.
=""& TODAY()
Οι ακόλουθες συναρτήσεις μπορούν επίσης να χρησιμοποιηθούν για να εξασφαλιστεί ότι επιστρέφεται ένας συγκεκριμένος τύπος δεδομένων:
Μετατροπή πραγματικών αριθμών σε ακέραιους αριθμούς
- Συνάρτηση ROUND
- Συνάρτηση CEILING
-
Συνάρτηση FLOOR
Μετατροπή πραγματικών αριθμών, ακεραίων αριθμών ή ημερομηνιών σε συμβολοσειρές - Συνάρτηση FIXED
-
Συνάρτηση FORMAT
Μετατροπή συμβολοσειρών σε πραγματικούς αριθμούς ή ημερομηνίες - Συνάρτηση VALUE
- Συνάρτηση DATEVALUE
- Συνάρτηση TIMEVALUE
Σενάριο: Τιμές υπό όρους και έλεγχος για σφάλματα
Όπως το Excel, το DAX διαθέτει συναρτήσεις που σας επιτρέπουν να ελέγχετε τιμές στα δεδομένα και να επιστρέφετε μια διαφορετική τιμή με βάση μια συνθήκη. Για παράδειγμα, μπορείτε να δημιουργήσετε μια υπολογιζόμενη στήλη που επισημαίνει τους μεταπωλητές είτε ως "Προτιμώμενος " είτε ως "Αξία ", ανάλογα με το ετήσιο ποσό πωλήσεων. Οι συναρτήσεις που ελέγχουν τιμές είναι επίσης χρήσιμες για τον έλεγχο της περιοχής ή του τύπου των τιμών, ώστε να αποτρέπονται απροσδόκητα σφάλματα δεδομένων από την αποτυχία υπολογισμών.
Δημιουργία τιμής βάσει συνθήκης
Μπορείτε να χρησιμοποιήσετε ένθετες συνθήκες IF για να ελέγξετε τιμές και να δημιουργήσετε νέες τιμές υπό όρους. Τα παρακάτω θέματα περιέχουν ορισμένα απλά παραδείγματα επεξεργασίας υπό όρους και τιμών υπό όρους:
Έλεγχος για σφάλματα μέσα σε έναν τύπο
Σε αντίθεση με το Excel, δεν μπορείτε να έχετε έγκυρες τιμές σε μια γραμμή μιας υπολογιζόμενης στήλης και μη έγκυρες τιμές σε μια άλλη γραμμή. Δηλαδή, εάν υπάρχει σφάλμα σε οποιοδήποτε τμήμα μιας στήλης του Power Pivot, ολόκληρη η στήλη επισημαίνεται με σφάλμα, ώστε να πρέπει πάντα να διορθώνετε σφάλματα τύπων που έχουν ως αποτέλεσμα μη έγκυρες τιμές.
Για παράδειγμα, εάν δημιουργήσετε έναν τύπο που διαιρεί με το μηδέν, μπορεί να λάβετε το αποτέλεσμα του απείρου ή ένα σφάλμα. Ορισμένοι τύποι θα αποτύχουν επίσης εάν η συνάρτηση συναντήσει μια κενή τιμή ενώ αναμένει μια αριθμητική τιμή. Ενώ αναπτύσσετε το μοντέλο δεδομένων σας, είναι καλύτερα να επιτρέψετε την εμφάνιση των σφαλμάτων, ώστε να μπορείτε να κάνετε κλικ στο μήνυμα και να αντιμετωπίσετε το πρόβλημα. Ωστόσο, όταν δημοσιεύετε βιβλία εργασίας, θα πρέπει να ενσωματώσετε χειρισμό σφαλμάτων για να αποτρέψετε την αποτυχία των υπολογισμών από μη αναμενόμενες τιμές.
Για να αποφύγετε την επιστροφή σφαλμάτων σε μια υπολογιζόμενη στήλη, χρησιμοποιείτε ένα συνδυασμό λογικών συναρτήσεων και συναρτήσεων πληροφοριών για να ελέγξετε για σφάλματα και να επιστρέφετε πάντα έγκυρες τιμές. Τα ακόλουθα θέματα παρέχουν ορισμένα απλά παραδείγματα για το πώς μπορείτε να το κάνετε αυτό στο DAX:
Σενάρια: Χρήση χρονικής ευφυΐας
Οι συναρτήσεις χρονικής ευφυΐας DAX περιλαμβάνουν συναρτήσεις που σας βοηθούν να ανακτήσετε ημερομηνίες ή εύρη ημερομηνιών από τα δεδομένα σας. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτές τις ημερομηνίες ή τα εύρη ημερομηνιών για να υπολογίσετε τιμές σε παρόμοιες περιόδους. Οι συναρτήσεις χρονικής ευφυΐας περιλαμβάνουν επίσης συναρτήσεις που λειτουργούν με τυπικά χρονικά διαστήματα ημερομηνιών, ώστε να μπορείτε να συγκρίνετε τιμές σε μήνες, έτη ή τρίμηνα. Μπορείτε επίσης να δημιουργήσετε έναν τύπο που συγκρίνει τιμές για την πρώτη και την τελευταία ημερομηνία μιας καθορισμένης περιόδου.
Για μια λίστα με όλες τις συναρτήσεις χρονικής ευφυΐας, ανατρέξτε στο θέμα Συναρτήσεις χρονικής ευφυΐας (DAX). Για συμβουλές σχετικά με τον τρόπο αποτελεσματικής χρήσης ημερομηνιών και ωρών σε μια ανάλυση του Power Pivot, ανατρέξτε στο θέμα Ημερομηνίες στο Power Pivot.
Υπολογισμός αθροιστικών πωλήσεων
Τα παρακάτω θέματα περιέχουν παραδείγματα του τρόπου υπολογισμού των υπολοίπων κλεισίματος και ανοίγματος. Τα παραδείγματα σάς επιτρέπουν να δημιουργήσετε τρέχοντα υπόλοιπα σε διαφορετικά χρονικά διαστήματα, όπως ημέρες, μήνες, τρίμηνα ή έτη.
- Συνάρτηση CLOSINGBALANCEMONTH, συνάρτηση CLOSINGBALANCEQUARTER, συνάρτηση CLOSINGBALANCEYEAR
- Συνάρτηση OPENINGBALANCEMONTH, Συνάρτηση OPENINGBALANCEQUARTER, Συνάρτηση OPENINGBALANCEYEAR
Σύγκριση τιμών στο χρόνο
Τα παρακάτω θέματα περιέχουν παραδείγματα του τρόπου σύγκρισης αθροισμάτων σε διαφορετικές χρονικές περιόδους. Οι προεπιλεγμένες χρονικές περίοδοι που υποστηρίζονται από το DAX είναι μήνες, τρίμηνα και έτη.
- Συνάρτηση PREVIOUSMONTH, PREVIOUSQUARTER,Συνάρτηση PREVIOUSYEAR
- Συνάρτηση TOTALMTD, συνάρτηση TOTALQTD, συνάρτηση TOTALYTD
- Συνάρτηση PARALLELPERIOD
Υπολογισμός τιμής σε προσαρμοσμένο εύρος ημερομηνιών
Ανατρέξτε στα παρακάτω θέματα για παραδείγματα του τρόπου ανάκτησης προσαρμοσμένου εύρους ημερομηνιών, όπως οι πρώτες 15 ημέρες μετά την έναρξη μιας προώθησης πωλήσεων.
- Συνάρτηση DATESINPERIOD
- Συνάρτηση DATESBETWEEN
- Συνάρτηση DATEADD
- Συνάρτηση FIRSTDATE
- Συνάρτηση LASTDATE
Εάν χρησιμοποιείτε συναρτήσεις χρονικής ευφυΐας για να ανακτήσετε ένα προσαρμοσμένο σύνολο ημερομηνιών, μπορείτε να χρησιμοποιήσετε αυτό το σύνολο ημερομηνιών ως εισαγωγή σε μια συνάρτηση που εκτελεί υπολογισμούς, για να δημιουργήσετε προσαρμοσμένες συγκεντρωτικές τιμές για διάφορες χρονικές περιόδους. Ανατρέξτε στο παρακάτω θέμα για ένα παράδειγμα του τρόπου για να το κάνετε αυτό:
-
Σημείωση
Εάν δεν χρειάζεται να καθορίσετε ένα προσαρμοσμένο εύρος ημερομηνιών, αλλά εργάζεστε με τυπικές λογιστικές μονάδες όπως μήνες, τρίμηνα ή έτη, συνιστάται να εκτελείτε υπολογισμούς χρησιμοποιώντας τις συναρτήσεις χρονικής ευφυΐας που έχουν σχεδιαστεί για αυτόν το σκοπό, όπως οι TOTALQTD, TOTALMTD, TOTALQTD κ.λπ.
Σενάρια: Κατάταξη και σύγκριση τιμών
Για να εμφανίσετε μόνο τον πρώτο n αριθμό στοιχείων σε μια στήλη ή έναν Συγκεντρωτικό Πίνακα, έχετε αρκετές επιλογές:
- Μπορείτε να χρησιμοποιήσετε τις δυνατότητες του Excel για να δημιουργήσετε ένα Κορυφαίο φίλτρο. Μπορείτε επίσης να επιλέξετε έναν αριθμό κορυφαίων ή τελευταίων τιμών σε έναν Συγκεντρωτικό Πίνακα. Το πρώτο μέρος αυτής της ενότητας περιγράφει τον τρόπο φιλτραρίσματος για τα 10 πρώτα στοιχεία ενός Συγκεντρωτικού Πίνακα. Για περισσότερες πληροφορίες, ανατρέξτε στην τεκμηρίωση του Excel.
- Μπορείτε να δημιουργήσετε έναν τύπο που κατατάσσει δυναμικά τις τιμές και, στη συνέχεια, να φιλτράρετε με βάση τις τιμές κατάταξης ή να χρησιμοποιήσετε την τιμή κατάταξης ως αναλυτή. Το δεύτερο μέρος αυτής της ενότητας περιγράφει τον τρόπο για να δημιουργήσετε αυτόν τον τύπο και, στη συνέχεια, να χρησιμοποιήσετε αυτήν την κατάταξη σε έναν αναλυτή.
Υπάρχουν πλεονεκτήματα και μειονεκτήματα σε κάθε μέθοδο.
- Το φίλτρο Excel Top είναι εύκολο στη χρήση, αλλά το φίλτρο προορίζεται αποκλειστικά για σκοπούς εμφάνισης. Εάν τα δεδομένα στα οποία βασίζεται ο Συγκεντρωτικός Πίνακας αλλάξουν, πρέπει να ανανεώσετε με μη αυτόματο τρόπο τον Συγκεντρωτικό Πίνακα για να δείτε τις αλλαγές. Εάν θέλετε να εργαστείτε δυναμικά με τις κατατάξεις, μπορείτε να χρησιμοποιήσετε το DAX για να δημιουργήσετε έναν τύπο που συγκρίνει τις τιμές με άλλες τιμές μέσα σε μια στήλη.
- Ο τύπος DAX είναι πιο ισχυρός. Επιπλέον, προσθέτοντας την τιμή κατάταξης σε έναν αναλυτή, μπορείτε απλώς να κάνετε κλικ στον αναλυτή για να αλλάξετε τον αριθμό των κορυφαίων τιμών που εμφανίζονται. Ωστόσο, οι υπολογισμοί είναι υπολογιστικά δαπανηροί και αυτή η μέθοδος ενδέχεται να μην είναι κατάλληλη για πίνακες με πολλές γραμμές.
Εμφάνιση μόνο των δέκα πρώτων στοιχείων σε έναν Συγκεντρωτικό Πίνακα
Για να εμφανίσετε τις πρώτες ή τις τελευταίες τιμές σε έναν Συγκεντρωτικό Πίνακα
|
|---|
Δυναμική ταξινόμηση στοιχείων με χρήση τύπου
Το παρακάτω θέμα περιέχει ένα παράδειγμα του τρόπου χρήσης του DAX για τη δημιουργία μιας κατάταξης που είναι αποθηκευμένη σε μια υπολογιζόμενη στήλη. Επειδή οι τύποι DAX υπολογίζονται δυναμικά, μπορείτε πάντα να είστε βέβαιοι ότι η κατάταξη είναι σωστή ακόμα και αν τα υποκείμενα δεδομένα έχουν αλλάξει. Επίσης, επειδή ο τύπος χρησιμοποιείται σε μια υπολογιζόμενη στήλη, μπορείτε να χρησιμοποιήσετε την κατάταξη σε έναν αναλυτή και, στη συνέχεια, να επιλέξετε τις κορυφαίες τιμές 5, τις 10 πρώτες ή ακόμα και τις 100 πρώτες.