Οι παραστάσεις ανάλυσης δεδομένων (DAX) έχουν 35 συναρτήσεις ειδικά για τη συγκέντρωση και τη σύγκριση δεδομένων στη διάρκεια του χρόνου. Σε αντίθεση με τις συναρτήσεις ημερομηνίας και ώρας του DAX, οι συναρτήσεις χρονικής ευφυΐας δεν έχουν κάτι παρόμοιο στο Excel. Αυτό συμβαίνει επειδή οι συναρτήσεις χρονικής ευφυΐας λειτουργούν με δεδομένα που αλλάζουν συνεχώς, ανάλογα με το περιβάλλον που επιλέγετε στους Συγκεντρωτικούς Πίνακες και τις απεικονίσεις του Power View.
Για να εργαστείτε με συναρτήσεις χρονικής ευφυΐας, πρέπει να έχετε συμπεριλάβει έναν πίνακα ημερομηνιών στο μοντέλο δεδομένων σας. Ο πίνακας ημερομηνιών πρέπει να περιλαμβάνει μια στήλη με μία γραμμή για κάθε ημέρα κάθε έτους που περιλαμβάνεται στα δεδομένα σας. Αυτή η στήλη θεωρείται στήλη "Ημερομηνία" (αν και μπορεί να έχει οποιοδήποτε όνομα θέλετε). Πολλές συναρτήσεις χρονικής ευφυΐας απαιτούν τη στήλη ημερομηνίας για τον υπολογισμό σύμφωνα με τις ημερομηνίες που επιλέγετε ως πεδία σε μια αναφορά. Για παράδειγμα, εάν έχετε μια μέτρηση που υπολογίζει ένα τρέχον υπόλοιπο τριμήνου χρησιμοποιώντας τη συνάρτηση CLOSINGBALANCEQTR, προκειμένου το Power Pivot να γνωρίζει πότε είναι πραγματικά το τέλος του τριμήνου, πρέπει να αναφέρεται στη στήλη ημερομηνίας στον πίνακα ημερομηνιών για να γνωρίζει πότε ξεκινά και πότε τελειώνει το τρίμηνο. Για να μάθετε περισσότερα σχετικά με τους πίνακες ημερομηνιών, ανατρέξτε στο θέμα Κατανόηση και δημιουργία πινάκων ημερομηνιών στο Power Pivot στο Excel.
Συναρτήσεις
Συναρτήσεις που επιστρέφουν μία μόνο ημερομηνία
Οι συναρτήσεις αυτής της κατηγορίας επιστρέφουν μία μόνο ημερομηνία. Στη συνέχεια, το αποτέλεσμα μπορεί να χρησιμοποιηθεί ως ορίσματα σε άλλες συναρτήσεις.
Οι δύο πρώτες συναρτήσεις αυτής της κατηγορίας επιστρέφουν την πρώτη ή την τελευταία ημερομηνία της Date_Column στο τρέχον περιβάλλον. Αυτό μπορεί να είναι χρήσιμο όταν θέλετε να βρείτε την πρώτη ή την τελευταία ημερομηνία κατά την οποία είχατε μια συναλλαγή ενός συγκεκριμένου τύπου. Αυτές οι συναρτήσεις λαμβάνουν μόνο ένα όρισμα, το όνομα της στήλης ημερομηνίας στον πίνακα ημερομηνιών.
Οι επόμενες δύο συναρτήσεις σε αυτή την κατηγορία βρίσκουν την πρώτη ή την τελευταία ημερομηνία (ή οποιαδήποτε άλλη τιμή στήλης επίσης) όπου μια παράσταση έχει μια μη κενή τιμή. Αυτό χρησιμοποιείται συχνότερα σε περιπτώσεις όπως το απόθεμα, όπου θέλετε να λάβετε το τελευταίο ποσό αποθέματος και δεν γνωρίζετε πότε πραγματοποιήθηκε το τελευταίο απόθεμα.
- FIRSTNONBLANK (Date_Column, παράσταση)
- LASTNONBLANK (Date_Column, παράσταση)
Έξι ακόμη συναρτήσεις που επιστρέφουν μία ημερομηνία είναι οι συναρτήσεις που επιστρέφουν την πρώτη ή την τελευταία ημερομηνία ενός μήνα, τριμήνου ή έτους μέσα στο τρέχον περιβάλλον του υπολογισμού.
- STARTOFMONTH (Date_Column)
- STARTOFQUARTER (Date_Column)
- STARTOFYEAR (Date_Column [,YE_Date])
- ΤΈΛΟΣ ΜΉΝΑ (Date_Column)
- ΤΈΛΟΣ ΤΡΙΜΉΝΟΥ (Date_Column)
- ΤΈΛΟΣ ΈΤΟΥΣ (Date_Column [,YE_Date])
Συναρτήσεις που επιστρέφουν έναν πίνακα ημερομηνιών
Υπάρχουν δεκαέξι συναρτήσεις χρονικής ευφυΐας που επιστρέφουν έναν πίνακα ημερομηνιών. Τις περισσότερες φορές, αυτές οι συναρτήσεις θα χρησιμοποιηθούν ως όρισμα SetFilter στη συνάρτηση CALMOVE . Όπως όλες οι συναρτήσεις χρονικής ευφυΐας στο DAX, κάθε συνάρτηση λαμβάνει μια στήλη ημερομηνίας ως ένα από τα ορίσματά της.
Οι πρώτες οχτώ συναρτήσεις σε αυτήν την κατηγορία ξεκινούν με μια στήλη ημερομηνίας σε ένα τρέχον περιβάλλον. Για παράδειγμα, εάν χρησιμοποιείτε μια μέτρηση σε έναν Συγκεντρωτικό Πίνακα, μπορεί να υπάρχει ένας μήνας ή έτος είτε στις ετικέτες στήλης είτε στις ετικέτες γραμμών. Το καθαρό αποτέλεσμα είναι ότι η στήλη ημερομηνίας φιλτράρεται ώστε να περιλαμβάνει μόνο τις ημερομηνίες για το τρέχον περιβάλλον. Ξεκινώντας από αυτό το τρέχον περιβάλλον, αυτές οι οκτώ συναρτήσεις υπολογίζουν, στη συνέχεια, την προηγούμενη (ή την επόμενη) ημέρα, μήνα, τρίμηνο ή έτος και επιστρέφουν αυτές τις ημερομηνίες με τη μορφή ενός πίνακα μίας στήλης. Οι "προηγούμενες" συναρτήσεις λειτουργούν προς τα πίσω από την πρώτη ημερομηνία στο τρέχον περιβάλλον και οι συναρτήσεις "επόμενες" μετακινούνται προς τα εμπρός από την τελευταία ημερομηνία στο τρέχον περιβάλλον.
- PREVIOUSDAY (Date_Column)
- PREVIOUSMONTH (Date_Column)
- PREVIOUSQUARTER (Date_Column)
- PREVIOUSYEAR (Date_Column [,YE_Date])
- ΕΠΌΜΕΝΗ ΜΈΡΑ (Date_Column)
- ΕΠΌΜΕΝΟΣ ΜΉΝΑΣ (Date_Column)
- ΕΠΌΜΕΝΟ ΤΡΊΜΗΝΟ (Date_Column)
- ΕΠΌΜΕΝΟ ΈΤΟΣ (Date_Column [,YE_Date])
Οι επόμενες τέσσερις συναρτήσεις σε αυτήν την κατηγορία είναι παρόμοιες, αλλά αντί να υπολογίσουν μια προηγούμενη (ή επόμενη) περίοδο, υπολογίζουν το σύνολο των ημερομηνιών στην περίοδο "από μήνα σε μήνα" (ή τρίμηνο μέχρι σήμερα, ή έτος μέχρι σήμερα, ή στην ίδια περίοδο του προηγούμενου έτους). Όλες αυτές οι συναρτήσεις εκτελούν τους υπολογισμούς τους χρησιμοποιώντας την τελευταία ημερομηνία στο τρέχον περιβάλλον. Σημειώστε ότι η συνάρτηση SAMEPERIODLASTYEAR απαιτεί το τρέχον περιβάλλον να περιέχει ένα συνεχόμενο σύνολο ημερομηνιών. Εάν το τρέχον περιβάλλον δεν είναι ένα συνεχόμενο σύνολο ημερομηνιών, τότε η συνάρτηση SAMEPERIODLASTYEAR θα επιστρέψει σφάλμα.
- ΗΜΕΡΟΜΗΝΊΕΣMTD (Date_Column)
- DATESQTD (Date_Column)
- DATESYTD (Date_Column [,YE_Date])
- SAMEPERIODLASTYEAR (Date_Column)
Οι τελευταίες τέσσερις λειτουργίες αυτής της κατηγορίας είναι λίγο πιο περίπλοκες και επίσης λίγο πιο ισχυρές. Αυτές οι συναρτήσεις χρησιμοποιούνται για τη μετάβαση από το σύνολο ημερομηνιών που βρίσκονται στο τρέχον περιβάλλον σε ένα νέο σύνολο ημερομηνιών.
- DATEADD (Date_Column, Number_of_Intervals, διάστημα)
- DATESBETWEEN (Date_Column, Start_Date, End_Date)
- DATESINPERIOD (Date_Column; Start_Date; Number_of_Intervals; διάστημα)
- PARALLELPERIOD (Date_Column, Number_of_Intervals, διάστημα)
Η συνάρτηση DATESBETWEEN υπολογίζει το σύνολο ημερομηνιών μεταξύ της καθορισμένης ημερομηνίας έναρξης και της ημερομηνίας λήξης. Οι υπόλοιπες τρεις συναρτήσεις μετατοπίζουν ορισμένα χρονικά διαστήματα από το τρέχον περιβάλλον. Το χρονικό διάστημα μπορεί να είναι ημέρα, μήνας, τρίμηνο ή έτος. Αυτές οι συναρτήσεις διευκολύνουν τη μετατόπιση του χρονικού διαστήματος για έναν υπολογισμό με οποιοδήποτε από τα εξής:
- Πηγαίνετε δύο χρόνια πίσω
- Πηγαίνετε πίσω ένα μήνα
- Μετάβαση εμπρός τρία τέταρτα
- Επιστροφή 14 ημέρες πίσω
- Μετάβαση εμπρός 28 ημέρες
Σε κάθε περίπτωση, χρειάζεται μόνο να καθορίσετε το διάστημα και πόσα από αυτά τα διαστήματα θα μετατοπιστούν. Ένα θετικό διάστημα θα μετακινηθεί προς τα εμπρός στο χρόνο, ενώ ένα αρνητικό διάστημα θα μετακινηθεί πίσω στο χρόνο. Το ίδιο το χρονικό διάστημα καθορίζεται από τη λέξη-κλειδί "ΗΜΕΡΑ", "ΜΗΝΑΣ", ΤΡΙΜΗΝΟ ή ΕΤΟΣ. Αυτές οι λέξεις-κλειδιά δεν είναι συμβολοσειρές, επομένως δεν πρέπει να βρίσκονται σε εισαγωγικά.
Συναρτήσεις που αξιολογούν παραστάσεις σε μια χρονική περίοδο
Αυτή η κατηγορία συναρτήσεων αξιολογεί μια παράσταση σε μια καθορισμένη χρονική περίοδο. Μπορείτε να επιτύχετε το ίδιο πράγμα χρησιμοποιώντας τη συνάρτηση CALCULATE και άλλες συναρτήσεις χρονικής ευφυΐας. Για παράδειγμα,
= TOTALMTD (Παράσταση, Date_Column [, SetFilter])
είναι ακριβώς το ίδιο με:
= CALCULATE (Παράσταση, DATESMTD (Date_Column)[; SetFilter])
Ωστόσο, είναι ευκολότερο να χρησιμοποιήσετε αυτές τις συναρτήσεις χρονικής ευφυΐας όταν είναι κατάλληλες για το πρόβλημα που πρέπει να επιλυθεί:
- TOTALMTD (Παράσταση; Date_Column [; ΟρισμόςΦίλτρου])
- TOTALQTD (Παράσταση, Date_Column [; SetFilter])
- TOTALYTD (Παράσταση; Date_Column [; Ορισμός φίλτρου] [,YE_Date]) *
Επίσης σε αυτή την κατηγορία υπάρχει μια ομάδα συναρτήσεων που υπολογίζουν τα υπόλοιπα ανοίγματος και κλεισίματος. Υπάρχουν ορισμένες έννοιες που πρέπει να κατανοήσετε με αυτές τις συγκεκριμένες λειτουργίες. Πρώτον, όπως ίσως νομίζετε προφανές, το υπόλοιπο ανοίγματος για οποιαδήποτε περίοδο είναι το ίδιο με το υπόλοιπο κλεισίματος για την προηγούμενη περίοδο. Ο ισολογισμός κλεισίματος περιλαμβάνει όλα τα στοιχεία μέχρι το τέλος της περιόδου, ενώ το υπόλοιπο ανοίγματος δεν περιλαμβάνει στοιχεία από την τρέχουσα περίοδο.
Αυτές οι συναρτήσεις επιστρέφουν πάντα την τιμή μιας παράστασης που υπολογίζεται για ένα συγκεκριμένο χρονικό σημείο. Το χρονικό σημείο που μας ενδιαφέρει είναι πάντα η τελευταία δυνατή τιμή ημερομηνίας σε μια ημερολογιακή περίοδο. Το υπόλοιπο ανοίγματος βασίζεται στην τελευταία ημερομηνία της προηγούμενης περιόδου, ενώ ο ισολογισμός κλεισίματος βασίζεται στην τελευταία ημερομηνία της τρέχουσας περιόδου. Η τρέχουσα περίοδος καθορίζεται πάντα από την τελευταία ημερομηνία στο περιβάλλον της τρέχουσας ημερομηνίας.
- OPENINGBALANCEMONTH (Παράσταση, Date_Column [,SetFilter])
- OPENINGBALANCEQUARTER Quarter (Παράσταση; Date_Column [;ΣύνολοΦίλτρο])
- OPENINGBALANCEYEAR (Παράσταση; Date_Column [;SetFilter] [,YE_Date])
- CLOSINGBALANCEMONTH (Παράσταση, Date_Column [,SetFilter])
- CLOSINGBALANCEQUARTER (Παράσταση; Date_Column [;SetFilter])
- CLOSINGBALANCEYEAR (Παράσταση; Date_Column [;SetFilter] [;YE_Date])
Πρόσθετοι πόροι
Άρθρα: Κατανόηση και δημιουργία πινάκων ημερομηνιών στο Power Pivot στο Excel
Αναφορά: Αναφορά συνάρτησης DAX σε Office.com
Δείγματα: Μοντελοποίηση και ανάλυση δεδομένων κερδών και ζημιών με το Microsoft PowerPivot στο Excel