Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Ισχύει για:
Υπολογιζόμενη στήλη
Υπολογιζόμενος πίνακας
Μέτρηση
υπολογισμού απεικόνισης
Σημείωση
Αυτή η συνάρτηση δεν συνιστάται να χρησιμοποιηθεί σε υπολογισμούς απεικονίσεων καθώς πιθανώς επιστρέφει ανούσια αποτελέσματα.
Εάν η παράμετρος input είναι μια στήλη ημερομηνιών, επιστρέφει έναν πίνακα που περιέχει μια στήλη ημερομηνιών, μετατοπισμένη είτε προς τα εμπρός, είτε προς τα πίσω στον χρόνο, κατά τον καθορισμένο αριθμό διαστημάτων από τις ημερομηνίες στο τρέχον περιβάλλον.
Εάν η είσοδος είναι ημερολόγιο, η συνάρτηση επιστρέφει ημερομηνίες μετατοπιζόμενες προς τα εμπρός ή προς τα πίσω στο χρόνο κατά τον καθορισμένο αριθμό διαστημάτων, με βάση το τρέχον περιβάλλον. Το αποτέλεσμα περιλαμβάνει τις κύριες στήλες με ετικέτες, καθώς και στήλες που σχετίζονται με τον χρόνο.
Σύνταξη
DATEADD(<dates> or <calendar>, <number_of_intervals>, <interval>[,<Extension>],[,<Truncation>])
Παραμέτρους
| Όρος | Ορισμός |
|---|---|
dates or calendar |
Μια στήλη που περιέχει ημερομηνίες ή μια αναφορά ημερολογίου. |
number_of_intervals |
Ένας ακέραιος που καθορίζει τον αριθμό των διαστημάτων που θα προστεθούν ή θα αφαιρεθούν από τις ημερομηνίες. |
interval |
Το διάστημα κατά το οποίο θα γίνει μετατόπιση των ημερομηνιών. Η τιμή για το διάστημα μπορεί να είναι μία από τις ακόλουθες: year, quarter, month, week, day. Η απαρίθμηση εβδομάδας ισχύει μόνο όταν παρέχεται αναφορά ημερολογίου. |
extension |
Ισχύει μόνο όταν παρέχεται αναφορά ημερολογίου. Καθορίστε τη συμπεριφορά όταν η αρχική χρονική περίοδος έχει λιγότερες ημερομηνίες από τη χρονική περίοδο που προκύπτει. Οι έγκυρες τιμές είναι: EXTENDING (Προεπιλογή), ΑΚΡΙΒΕΙΑ, ENDALIGNED. |
truncation |
Ισχύει μόνο όταν παρέχεται αναφορά ημερολογίου. Καθορίστε τη συμπεριφορά όταν η αρχική χρονική περίοδος έχει περισσότερες ημερομηνίες από τη χρονική περίοδο που προκύπτει. Οι έγκυρες τιμές είναι: BLANKS (προεπιλογή), ΑΓΚΥΡΩΜΈΝΕς. |
Τιμή επιστροφής
Για εισαγωγή στήλης ημερομηνίας, ένας πίνακας που περιέχει μία μόνο στήλη τιμών ημερομηνίας.
Για την εισαγωγή ημερολογίου, έναν πίνακα που περιέχει όλες τις κύριες στήλες με ετικέτα και τις στήλες που σχετίζονται με τον χρόνο για τις μετατοπισμένες περιόδους, στο τρέχον περιβάλλον.
Παρατηρήσεις
Το όρισμα dates μπορεί να είναι οποιοδήποτε από τα εξής:
Μια αναφορά σε μια στήλη ημερομηνίας/ώρας,
Μια παράσταση πίνακα που επιστρέφει μία μόνο στήλη τιμών ημερομηνίας/ώρας,
Μια δυαδική παράσταση που ορίζει έναν πίνακα μίας στήλης τιμών ημερομηνίας/ώρας.
Σημείωση
Οι περιορισμοί σε δυαδικές παραστάσεις περιγράφονται στο θέμα, CALCULATE συνάρτηση.
Εάν ο αριθμός που καθορίστηκε για
number_of_intervalsείναι θετικός, οι ημερομηνίες σεdatesμετακινούνται στο μέλλον. εάν ο αριθμός είναι αρνητικός, οι ημερομηνίες σεdatesμετακινούνται στο χρόνο.Η παράμετρος
intervalείναι μια απαρίθμηση, όχι ένα σύνολο συμβολοσειρών. Επομένως, οι τιμές δεν πρέπει να περικλείονται σε εισαγωγικά. Επίσης, οι τιμές:year,quarter,month,dayθα πρέπει να γράφονται ολογράφως όταν χρησιμοποιούνται.Ο πίνακας που προκύπτει περιλαμβάνει μόνο τις ημερομηνίες που υπάρχουν στη στήλη
dates.Εάν χρησιμοποιείται η σύνταξη στήλης ημερομηνίας και οι ημερομηνίες στο τρέχον περιβάλλον δεν σχηματίζουν ένα συνεχές διάστημα, η συνάρτηση επιστρέφει ένα σφάλμα.
-
Αυτή η συνάρτηση δεν υποστηρίζεται για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες ή σε κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).
Παράδειγμα - Μετατόπιση ενός συνόλου ημερομηνιών
Ο ακόλουθος τύπος υπολογίζει ημερομηνίες που είναι ένα έτος πριν από τις ημερομηνίες στο τρέχον περιβάλλον.
= DATEADD ( DateTime[DateKey], -1, YEAR )
Παράδειγμα χρονικής ευφυΐας βάσει ημερολογίου
Ο παρακάτω τύπος επιστρέφει έναν πίνακα ημερομηνιών μετατοπισμένο ένα έτος πίσω από τις ημερομηνίες στο τρέχον περιβάλλον.
DATEADD ( FiscalCalendar, -1, YEAR )
Ειδική συμπεριφορά όταν τα δεδομένα εισόδου είναι μια στήλη ημερομηνιών
Όταν η επιλογή περιλαμβάνει τις τελευταίες δύο ημέρες του μήνα, DATEADD θα χρησιμοποιεί σημασιολογία "επέκτασης" και θα περιλαμβάνει τις ημέρες μέχρι το τέλος του μήνα. Για παράδειγμα, όταν οι 27 και 28 Φεβρουαρίου 2013 περιλαμβάνονται στην επιλογή και προστίθεται ένας μήνας, DATEADD θα επιστρέψει από τις 27 έως τις 31 Μαρτίου.
Αυτή η συμπεριφορά συμβαίνει μόνο όταν οι τελευταίες δύο ημέρες του μήνα περιλαμβάνονται στην επιλογή. Εάν επιλεγεί μόνο 27 Φεβρουαρίου, θα πάει στις 27 Μαρτίου.
= DATEADD(DateTime[DateKey], 1, month)
Η χρονική ευφυΐα βάσει ημερολογίου παρέχει περισσότερο έλεγχο μέσω δύο προαιρετικών παραμέτρων: "Επέκταση" και "Truncation". Ανατρέξτε στις παραπάνω περιγραφές παραμέτρων για λεπτομέρειες.
Συμπεριφορά για ημερομηνία βάσει ημερολογίουΠροσθήκη όταν η επιλογή είναι σε επίπεδο μεγαλύτερης λεπτομέρειας από το επίπεδο μετατόπισης
Όταν χρησιμοποιείται αναφορά ημερολογίου και η επιλογή είναι σε μικρότερο επίπεδο λεπτομέρειας από το επίπεδο μετατόπισης, εφαρμόζεται μια προσέγγιση βάσει ευρετηρίου. Για να απεικονιστεί αυτή η συμπεριφορά, ας εξετάσουμε το σενάριο στο οποίο η επιλογή βρίσκεται στο επίπεδο ημερομηνίας και DATEADD() αλλάζει κατά μήνα. Δείτε τι θα κάνει η DateAdd:
Προσδιορίστε τις θέσεις της τρέχουσας επιλογής εντός του μήνα.
Για παράδειγμα, εάν η τρέχουσα επιλογή εκτείνεται στις 3–10 Μαρτίου, οι θέσεις είναι από την 3η έως τη 10η ημέρα του μήνα.Μετατόπιση του μήνα Εφαρμογή της μετατόπισης μήνα — π.χ., η μετατόπιση της +1 αλλάζει από τον Μάρτιο έως τον Απρίλιο.
Επιστρέφει τις ίδιες σχετικές θέσεις στον μετατοπισμένο μήνα Ανάκτηση του 3ου στο 10ο του νέου μήνα (π.χ., 3–10 Απριλίου).
Παράμετροι για ημερομηνία βάσει ημερολογίουΠροσθήκη όταν η επιλογή είναι σε επίπεδο μεγαλύτερης λεπτομέρειας από το επίπεδο μετατόπισης
Όταν η υποδιαίρεση επιλογής είναι μεγαλύτερη από τη μονάδα μετατόπισης (π.χ. επιλογή μεμονωμένων ημερομηνιών κατά μετατόπιση κατά μήνα), η συμπεριφορά βάσει ευρετηρίου μπορεί να οδηγήσει σε ασάφειες, ιδιαίτερα για μήνες διαφόρων μηνών. Για να χειριστείτε αυτές τις περιπτώσεις άκρου, παρουσιάζονται δύο παράμετροι:
Παράμετρος επέκτασης (για μικρές → μεγάλες βάρδιες περιόδου):
Ελέγχει τον τρόπο συμπεριφοράς της συνάρτησης όταν η περίοδος προορισμού είναι μεγαλύτερη από την τρέχουσα. Χρησιμοποιήστε την προώθηση ενός μήνα ως παράδειγμα:
Precise: Διατηρεί αυστηρά το αρχικό εύρος ημερομηνιών.
Feb 25–28→ →March 25–28Extending: Επιτρέπει στο παράθυρο να επεκταθεί προς το τέλος της περιόδου , εάν είναι απαραίτητο.
Feb 25–28→ →March 25–31EndAligned: Ευθυγραμμίζει την ημερομηνία λήξης με το τέλος της περιόδου προορισμού όταν η επιλογή φτάσει στο τέλος της περιόδου της· Διαφορετικά, διατηρεί σχετικές θέσεις.
Feb 28→ →March 31, ενώFeb 27→March 27
Παράμετρος εκτέλεσης (για μεγάλες → μικρές βάρδιες περιόδου)
Ελέγχει τον τρόπο συμπεριφοράς της συνάρτησης όταν ο μήνας προορισμού είναι μικρότερος από τον τρέχοντα. Χρησιμοποιήστε μετακίνηση προς τα πίσω κατά ένα μήνα ως παράδειγμα:
Anchored: Αγκυρώνει το αποτέλεσμα στην τελευταία έγκυρη ημερομηνία της μικρότερης περιόδου.
March 31→ →Feb 28Blanks: Επιστρέφει κενό όταν η ημερομηνία μετακίνησης δεν υπάρχει.
March 31→ → (κενό) (από τον Φεβρουάριο δεν έχει την 31η)
Διαφορές στη συμπεριφορά μεταξύ της κλασικής και της ημερολογιακής χρονικής ευφυΐας
Ορισμένα σενάρια μπορεί να παράγουν διαφορετικά αποτελέσματα κατά τη σύγκριση κλασικής και ημερολογιακής χρονικής ευφυΐας. Για παράδειγμα, σε ένα σεληνιακό έτος, η SamePeriodLastYear θα παράγει διαφορετικά αποτελέσματα κατά την υποδιαίρεση ημερομηνίας. Στη χρονική ευφυΐα βάσει ημερολογίου, η μετατόπιση στις 29 Φεβρουαρίου 2008 ένα έτος έχει ως αποτέλεσμα τη Μαρ 1 το 2007, επειδή αντιμετωπίζεται ως η 60ή ημέρα του έτους. Στην κλασική χρονική ευφυΐα, η ίδια μετατόπιση επιστρέφει 28 Φεβρουαρίου 2007. Η λύση είναι η χρήση DATEADDτου (Ημερολόγιο, -<αριθμός ενός έτους>, μήνα). Για παράδειγμα, εάν ένα έτος έχει 13 μήνες στο ημερολόγιο, χρησιμοποιήστε DATEADDτο (Ημερολόγιο, -13, μήνας). Αυτή η προσέγγιση θα αλλάξει κατά μήνα, οπότε ο Φεβρουάριος 2008 θα πάει στις Φεβ 2007.