Αυτό το θέμα εξηγεί τη διαφορά μεταξύ των συναρτήσεων χρονικών σειρών και των συναρτήσεων φίλτρων και επίσης εξηγεί πώς να υλοποιήσετε τις συναρτήσεις φίλτρων. Αυτές οι πληροφορίες ισχύουν για τα βιβλία εργασίας και τα κλασικά dashboard.
Συναρτήσεις χρονικών σειρών έναντι συναρτήσεων φίλτρων
Οι συναρτήσεις χρονικών σειρών Ago
και Todate
προσφέρουν έναν απλό τρόπο να δημιουργήσετε δείκτες μέτρησης που υπολογίζουν year-ago, year-to-date,
και ούτω καθεξής. Αυτή η μέθοδος λειτουργεί καλά για αναφορές επιχειρηματικών χρηστών, ωστόσο, αυτές οι συναρτήσεις δημιουργούν περίπλοκα ερωτήματα που επιβαρύνουν σημαντικά την απόδοση. Επίσης, κάθε φορά που χρησιμοποιείται μία από αυτές τις συναρτήσεις σε μια αναφορά, δημιουργείται ένα πρόσθετο υποερώτημα που χρησιμοποιεί ακόμα περισσότερους πόρους στη βάση δεδομένων.
Στα κλασικά dashboard, αντί να χρησιμοποιήσετε συναρτήσεις χρονικής σειράς, μπορείτε συνήθως να πετύχετε το ίδιο αποτέλεσμα χρησιμοποιώντας βασικά μέτρα με τη συνάρτηση Filter
για να φιλτράρετε σύμφωνα με την κατάλληλη χρονική περίοδο. Αυτή η μέθοδος μπορεί να είναι πολύ περίπλοκη για αναφορές επιχειρηματικών χρηστών, αλλά λειτουργεί καλά σε dashboard που έχουν προκαθοριστεί από την ομάδα IT. Με τη χρήση αυτής της μεθόδου, ο κώδικας της φυσικής SQL που δημιουργείται είναι πολύ πιο απλός και πιο αποδοτικός, ενώ δεν απαιτεί κάποιο πρόσθετο υποερώτημα. Αυτό σημαίνει ότι το ερώτημα SQL εκτελείται ταχύτερα και χρησιμοποιεί λιγότερους πόρους στη βάση δεδομένων, μειώνοντας τη συνολική χρήση CPU και κλήσεων εισόδου-εξόδου για τη βάση δεδομένων.
Το ακόλουθο σχήμα απεικονίζει ένα παράδειγμα του φυσικού ερωτήματος που δημιουργείται όταν χρησιμοποιείτε τον βασικό δείκτη μέτρησης και τον δείκτη μέτρησης Ago
ενός μήνα στην ίδια αναφορά. Δημιουργούνται δύο ερωτήματα.
Το ακόλουθο σχήμα απεικονίζει τον κώδικα SQL που δημιουργείται για ένα μοναδικό ερώτημα όταν χρησιμοποιείτε αντί αυτού μια συνάρτηση Filter
.
Υλοποίηση συναρτήσεων φίλτρων σε dashboard με μηνύματα προτροπής
Στις περισσότερες υλοποιήσεις, το dashboard περιλαμβάνει ήδη ένα μήνυμα προτροπής ώστε οι χρήστες να μπορούν να επιλέξουν τον μήνα που αναζητούν. Το πρώτο βήμα είναι ο προσδιορισμός των χρονικών περιόδων που πρέπει να χρησιμοποιηθούν για φιλτράρισμα με βάση την επιλογή ενός χρήστη.
Σε αυτό το παράδειγμα, η διάσταση ημερολογίου περιλαμβάνει τη στήλη Αριθμός Ιουλιανού ημερολογίου
, επειδή κάνει τον υπολογισμό πιο εύκολο. Η διαδικασία μπορεί να γίνει και χωρίς τη στήλη Julian Period Number
αλλά θα απαιτούσε πολύ πιο περίπλοκους τύπους για τον υπολογισμό της επιλεγμένης χρονικής περιόδου.
Μήνας
για να προσθέσετε τη μεταβλητή παρουσίασης (MonthSelected
).
Αριθμός Ιουλιανού ημερολογίου
και τη χρήση της σε μια άλλη μεταβλητή (PeriodNumberSelected
). Αυτό το δεύτερο μήνυμα δεν εμφανίζεται στον τελικό χρήστη, αντιθέτως είναι κρυφό στο dashboard και η τιμή υπολογίζεται αυτόματα με βάση τη μεταβλητή MonthSelected
.
Ιουλιανή περίοδος
.
Μήνας
και χρησιμοποιήστε τις συναρτήσεις φίλτρου τύπων στήλης με βάση τον Αριθμό Ιουλιανής περιόδου
, όπως απαιτείται. Ακολουθούν μερικά παραδείγματα:
Current Month: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800})
Month Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-1)
Year Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-12)
Year to date: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"<=@{PeriodNumberSelected}{80800} and “Time”.”Year”=@{YearSelected}{2019})
Υλοποίηση συναρτήσεων φίλτρων σε βιβλίο εργασίας με παραμέτρους
Μπορείτε να εφαρμόσετε την ίδια αρχή σε ένα βιβλίο εργασίας. Τα μηνύματα και οι μεταβλητές παρουσίασης θα αντικατασταθούν από ένα φίλτρο dashboard και παραμέτρους.
Δημιουργήστε τρεις παραμέτρους: MonthSelected, PeriodNumberSelected και YearSelected. Μόνο η παράμετρος MonthSelected εμφανίζεται στον καμβά σε ένα φίλτρο dashboard.
Οι πιθανές τιμές για την παράμετρο MonthSelected ορίζονται με βάση ένα λογικό ερώτημα SQL που επιλέγει όλους τους μήνες.
Για τις παραμέτρους PeriodNumberSelected και YearSelected, οι πιθανές τιμές δεν συμπληρώνονται.
.jpg''
Μόνο η αρχική τιμή συμπληρώνεται με ένα λογικό ερώτημα που φιλτράρεται με βάση την τιμή της παραμέτρου MonthSelected.
.jpg''