Αυτή η ενότητα παρέχει συνδέσεις σε παραδείγματα που δείχνουν τη χρήση τύπων DAX στα παρακάτω σενάρια.
-
Εκτέλεση σύνθετων υπολογισμών
-
Εργασία με κείμενο και ημερομηνίες
-
Τιμές υπό όρους και έλεγχος για σφάλματα
-
Χρήση χρονικής ευφυΐας
-
Κατάταξη και σύγκριση τιμών
Σε αυτό το άρθρο
Γρήγορα αποτελέσματα
Επισκεφθείτε το Wiki του Κέντρου πόρων DAX , όπου μπορείτε να βρείτε κάθε είδους πληροφορίες σχετικά με το DAX, όπως ιστολόγια, δείγματα, whitepapers και βίντεο που παρέχονται από κορυφαίους επαγγελματίες του κλάδου και τη 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, μπορείτε να ορίσετε μια προσαρμοσμένη μορφή για να εξασφαλίσετε ότι ο χειρισμός των τιμών γίνεται σωστά. Αυτές οι μορφές χρησιμοποιούνται κατά τη μετατροπή τιμών σε συμβολοσειρές ή από συμβολοσειρές. Τα παρακάτω θέματα παρέχουν επίσης μια λεπτομερή λίστα με τις προκαθορισμένες μορφές που είναι διαθέσιμες για εργασία με ημερομηνίες και αριθμούς.
Αλλαγή τύπων δεδομένων με χρήση τύπου
Στο Power Pivot, ο τύπος δεδομένων του αποτελέσματος καθορίζεται από τις στήλες προέλευσης και δεν μπορείτε να καθορίσετε ρητά τον τύπο δεδομένων του αποτελέσματος, επειδή ο βέλτιστος τύπος δεδομένων καθορίζεται από Power Pivot. Ωστόσο, μπορείτε να χρησιμοποιήσετε τις έμμεσες μετατροπές τύπων δεδομένων που εκτελούνται από Power Pivot για να χειριστείτε τον τύπο δεδομένων εξόδου.
-
Για να μετατρέψετε μια ημερομηνία ή μια συμβολοσειρά αριθμού σε αριθμό, πολλαπλασιάστε επί 1,0. Για παράδειγμα, ο παρακάτω τύπος υπολογίζει την τρέχουσα ημερομηνία μείον 3 ημέρες και, στη συνέχεια, αποδίδει την αντίστοιχη ακέραια τιμή.
=(TODAY()-3)*1,0
-
Για να μετατρέψετε μια ημερομηνία, έναν αριθμό ή μια τιμή νομισματικής μονάδας σε συμβολοσειρά, συνενώνετε την τιμή με μια κενή συμβολοσειρά. Για παράδειγμα, ο παρακάτω τύπος επιστρέφει τη σημερινή ημερομηνία ως συμβολοσειρά.
=""& TODAY()
Μπορείτε επίσης να χρησιμοποιήσετε τις ακόλουθες συναρτήσεις για να εξασφαλίσετε ότι επιστρέφεται ένας συγκεκριμένος τύπος δεδομένων:
Μετατροπή πραγματικών αριθμών σε ακέραιους
-
Μετατροπή πραγματικών αριθμών, ακέραιων αριθμών ή ημερομηνιών σε συμβολοσειρές
-
Μετατροπή συμβολοσειρών σε πραγματικούς αριθμούς ή ημερομηνίες
Σενάριο: Τιμές υπό όρους και έλεγχος για σφάλματα
Όπως και στο Excel, το DAX διαθέτει συναρτήσεις που σας επιτρέπουν να ελέγχετε τιμές στα δεδομένα και να επιστρέφετε μια διαφορετική τιμή με βάση μια συνθήκη. Για παράδειγμα, μπορείτε να δημιουργήσετε μια υπολογιζόμενη στήλη η οποία θα ετικέτες μεταπωλητές είτε ως Προτιμώμενος είτε ως Τιμή , ανάλογα με το ετήσιο ποσό πωλήσεων. Οι συναρτήσεις που ελέγχουν τιμές είναι επίσης χρήσιμες για τον έλεγχο της περιοχής ή του τύπου των τιμών, ώστε να αποτρέπεται η διακοπή υπολογισμών από μη αναμενόμενα σφάλματα δεδομένων.
Δημιουργία τιμής με βάση μια συνθήκη
Μπορείτε να χρησιμοποιήσετε ένθετες συνθήκες IF για να ελέγξετε τιμές και να δημιουργήσετε νέες τιμές υπό όρους. Τα παρακάτω θέματα περιέχουν ορισμένα απλά παραδείγματα επεξεργασίας υπό όρους και τιμών υπό όρους:
Έλεγχος για σφάλματα μέσα σε έναν τύπο
Σε αντίθεση με το Excel, δεν μπορείτε να έχετε έγκυρες τιμές σε μία γραμμή μιας υπολογιζόμενης στήλης και μη έγκυρες τιμές σε μια άλλη γραμμή. Δηλαδή, εάν υπάρχει σφάλμα σε οποιοδήποτε τμήμα μιας στήλης Power Pivot, ολόκληρη η στήλη επισημαίνεται με σφάλμα, έτσι ώστε να πρέπει πάντα να διορθώνετε σφάλματα τύπων που έχουν ως αποτέλεσμα μη έγκυρες τιμές.
Για παράδειγμα, εάν δημιουργήσετε έναν τύπο που διαιρείται με το μηδέν, μπορεί να λάβετε το αποτέλεσμα του απείρου ή ένα σφάλμα. Ορισμένοι τύποι θα αποτύχουν επίσης εάν η συνάρτηση συναντήσει μια κενή τιμή όταν αναμένει μια αριθμητική τιμή. Κατά την ανάπτυξη του μοντέλου δεδομένων σας, είναι καλύτερα να επιτρέψετε την εμφάνιση των σφαλμάτων, ώστε να μπορείτε να κάνετε κλικ στο μήνυμα και να αντιμετωπίσετε το πρόβλημα. Ωστόσο, κατά τη δημοσίευση βιβλίων εργασίας, θα πρέπει να ενσωματώσετε το χειρισμό σφαλμάτων για να αποτρέψετε την αποτυχία των υπολογισμών από μη αναμενόμενες τιμές.
Για να αποφύγετε την επιστροφή σφαλμάτων σε μια υπολογιζόμενη στήλη, μπορείτε να χρησιμοποιήσετε ένα συνδυασμό λογικών συναρτήσεων και συναρτήσεων πληροφοριών για να ελέγξετε για σφάλματα και να επιστρέφετε πάντα έγκυρες τιμές. Τα παρακάτω θέματα παρέχουν ορισμένα απλά παραδείγματα για το πώς μπορείτε να το κάνετε αυτό στο DAX:
Σενάρια: Χρήση της χρονικής ευφυΐας
Οι συναρτήσεις χρονικής ευφυΐας DAX περιλαμβάνουν συναρτήσεις για να σας βοηθήσουν να ανακτήσετε ημερομηνίες ή περιοχές ημερομηνιών από τα δεδομένα σας. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτές τις ημερομηνίες ή τις περιοχές ημερομηνιών για να υπολογίσετε τιμές σε παρόμοιες περιόδους. Οι συναρτήσεις χρονικής ευφυΐας περιλαμβάνουν επίσης συναρτήσεις που λειτουργούν με τυπικά χρονικά διαστήματα ημερομηνιών, ώστε να μπορείτε να συγκρίνετε τιμές σε μήνες, έτη ή τρίμηνα. Μπορείτε επίσης να δημιουργήσετε έναν τύπο που συγκρίνει τιμές για την πρώτη και την τελευταία ημερομηνία μιας καθορισμένης περιόδου.
Για μια λίστα όλων των συναρτήσεων ευφυΐας χρόνου, ανατρέξτε στο θέμα Συναρτήσεις χρονικής ευφυΐας (DAX). Για συμβουλές σχετικά με την αποτελεσματική χρήση ημερομηνιών και ωρών σε μια ανάλυση Power Pivot, ανατρέξτε στο θέμα Ημερομηνίες στο Power Pivot.
Υπολογισμός αθροιστικών πωλήσεων
Τα παρακάτω θέματα περιέχουν παραδείγματα του τρόπου υπολογισμού των υπολοίπων κλεισίματος και ανοίγματος. Τα παραδείγματα σάς επιτρέπουν να δημιουργείτε τρέχοντα υπόλοιπα σε διαφορετικά χρονικά διαστήματα, όπως ημέρες, μήνες, τρίμηνα ή έτη.
Σύγκριση τιμών με την πάροδο του χρόνου
Τα παρακάτω θέματα περιέχουν παραδείγματα του τρόπου σύγκρισης αθροισμάτων σε διαφορετικές χρονικές περιόδους. Οι προεπιλεγμένες χρονικές περίοδοι που υποστηρίζονται από το DAX είναι μήνες, τρίμηνα και έτη.
Υπολογισμός τιμής σε προσαρμοσμένο εύρος ημερομηνιών
Δείτε τα παρακάτω θέματα για παραδείγματα σχετικά με τον τρόπο ανάκτησης προσαρμοσμένων περιοχών ημερομηνιών, όπως τις πρώτες 15 ημέρες μετά την έναρξη μιας προώθησης πωλήσεων.
Εάν χρησιμοποιείτε συναρτήσεις χρονικής ευφυΐας για να ανακτήσετε ένα προσαρμοσμένο σύνολο ημερομηνιών, μπορείτε να χρησιμοποιήσετε αυτό το σύνολο ημερομηνιών ως εισαγωγή σε μια συνάρτηση που εκτελεί υπολογισμούς, για να δημιουργήσετε προσαρμοσμένες συναθροίσεις σε χρονικές περιόδους. Ανατρέξτε στο ακόλουθο θέμα για ένα παράδειγμα του τρόπου με τον οποίο μπορείτε να το κάνετε αυτό:
-
Σημείωση: Εάν δεν χρειάζεται να καθορίσετε ένα προσαρμοσμένο εύρος ημερομηνιών, αλλά εργάζεστε με τυπικές λογιστικές μονάδες όπως μήνες, τρίμηνα ή έτη, συνιστάται να πραγματοποιείτε υπολογισμούς χρησιμοποιώντας τις συναρτήσεις χρονικής ευφυΐας που έχουν σχεδιαστεί για το σκοπό αυτό, όπως TOTALQTD, TOTALMTD, TOTALQTD κ.λπ.
Σενάρια: Κατάταξη και σύγκριση τιμών
Για να εμφανίσετε μόνο τον πρώτο n αριθμό στοιχείων σε μια στήλη ή Συγκεντρωτικό Πίνακα, έχετε διάφορες επιλογές:
-
Μπορείτε να χρησιμοποιήσετε τις δυνατότητες του Excel για να δημιουργήσετε ένα Κορυφαίο φίλτρο. Μπορείτε επίσης να επιλέξετε έναν αριθμό πρώτων ή τελευταίων τιμών σε έναν Συγκεντρωτικό Πίνακα. Το πρώτο μέρος αυτής της ενότητας περιγράφει πώς μπορείτε να φιλτράρετε για τα 10 πρώτα στοιχεία σε έναν Συγκεντρωτικό Πίνακα. Για περισσότερες πληροφορίες, ανατρέξτε στην τεκμηρίωση του Excel.
-
Μπορείτε να δημιουργήσετε έναν τύπο που κατατάσσει δυναμικά τις τιμές και, στη συνέχεια, να φιλτράρετε με βάση τις τιμές κατάταξης ή να χρησιμοποιήσετε την τιμή κατάταξης ως αναλυτή. Το δεύτερο τμήμα αυτής της ενότητας περιγράφει πώς μπορείτε να δημιουργήσετε αυτόν τον τύπο και, στη συνέχεια, να χρησιμοποιήσετε αυτήν την κατάταξη σε έναν αναλυτή.
Υπάρχουν πλεονεκτήματα και μειονεκτήματα σε κάθε μέθοδο.
-
Το κορυφαίο φίλτρο του Excel είναι εύκολο στη χρήση, αλλά το φίλτρο είναι αποκλειστικά για σκοπούς εμφάνισης. Εάν αλλάξουν τα υποκείμενα δεδομένα του Συγκεντρωτικού Πίνακα, πρέπει να ανανεώσετε τον Συγκεντρωτικό Πίνακα με μη αυτόματο τρόπο για να δείτε τις αλλαγές. Εάν θέλετε να εργαστείτε δυναμικά με τις κατατάξεις, μπορείτε να χρησιμοποιήσετε το DAX για να δημιουργήσετε έναν τύπο που συγκρίνει τιμές με άλλες τιμές μέσα σε μια στήλη.
-
Ο τύπος DAX είναι πιο ισχυρός. επιπλέον, προσθέτοντας την τιμή κατάταξης σε έναν αναλυτή, μπορείτε απλώς να κάνετε κλικ στον αναλυτή για να αλλάξετε τον αριθμό των κορυφαίων τιμών που εμφανίζονται. Ωστόσο, οι υπολογισμοί είναι υπολογιστικά ακριβοί και αυτή η μέθοδος μπορεί να μην είναι κατάλληλη για πίνακες με πολλές γραμμές.
Εμφάνιση μόνο των δέκα πρώτων στοιχείων σε έναν Συγκεντρωτικό Πίνακα
Για να εμφανίσετε τις πρώτες ή τις τελευταίες τιμές σε έναν Συγκεντρωτικό Πίνακα
|
Δυναμική παραγγελία στοιχείων με χρήση τύπου
Το ακόλουθο θέμα περιέχει ένα παράδειγμα του τρόπου χρήσης του DAX για τη δημιουργία μιας κατάταξης που είναι αποθηκευμένη σε μια υπολογιζόμενη στήλη. Επειδή οι τύποι DAX υπολογίζονται δυναμικά, μπορείτε πάντα να είστε βέβαιοι ότι η κατάταξη είναι σωστή, ακόμα και αν τα υποκείμενα δεδομένα έχουν αλλάξει. Επίσης, επειδή ο τύπος χρησιμοποιείται σε μια υπολογιζόμενη στήλη, μπορείτε να χρησιμοποιήσετε την κατάταξη σε έναν αναλυτή και, στη συνέχεια, να επιλέξετε τις 5 πρώτες, τις πρώτες 10 ή ακόμα και τις 100 κορυφαίες τιμές.