Κοινή χρήση μέσω


Ρύθμιση παραμέτρων επαυξητικής ανανέωσης και δεδομένων σε πραγματικό χρόνο

Αυτό το άρθρο περιγράφει τον τρόπο ρύθμισης παραμέτρων επαυξητικής ανανέωσης και δεδομένων σε πραγματικό χρόνο για σημασιολογικά μοντέλα. Για να μάθετε σχετικά με τη ρύθμιση παραμέτρων της επαυξητικής ανανέωσης για ροές δεδομένων, ανατρέξτε στο θέμα Δυνατότητες Premium των ροών δεδομένων - Επαυξητική ανανέωση.

Η ρύθμιση παραμέτρων επαυξητικής ανανέωσης περιλαμβάνει τη δημιουργία παραμέτρων RangeStart και RangeEnd, την εφαρμογή φίλτρων και τον ορισμό μιας πολιτικής επαυξητικής ανανέωσης. Μετά τη δημοσίευση στο Υπηρεσία Power BI, θα εκτελέσετε μια αρχική λειτουργία ανανέωσης στο μοντέλο. Η αρχική λειτουργία ανανέωσης και οι επόμενες λειτουργίες ανανέωσης εφαρμόζουν την πολιτική επαυξητικής ανανέωσης που ορίσατε. Προτού ολοκληρώσετε αυτά τα βήματα, βεβαιωθείτε ότι έχετε κατανοήσει πλήρως τις λειτουργίες που περιγράφονται στο θέμα Επαυξητική ανανέωση και δεδομένα σε πραγματικό χρόνο για σημασιολογικά μοντέλα.

Δημιουργία παραμέτρων

Σε αυτή την εργασία, θα χρησιμοποιήσετε πρόγραμμα επεξεργασίας Power Query για να δημιουργήσετε παραμέτρους RangeStart και RangeEnd με προεπιλεγμένες τιμές. Οι προεπιλεγμένες τιμές ισχύουν μόνο κατά το φιλτράρισμα των δεδομένων που θα φορτωθούν στο μοντέλο στο Power BI Desktop. Οι τιμές που εισάγετε θα πρέπει να περιλαμβάνουν μόνο ένα μικρό ποσό από τα πιο πρόσφατα δεδομένα από την προέλευση δεδομένων σας. Όταν δημοσιεύονται στην υπηρεσία, αυτές οι τιμές χρονικού εύρους παρακάμπτεται από την πολιτική επαυξητικής ανανέωσης. Αυτό σημαίνει ότι η πολιτική δημιουργεί παράθυρα εισερχόμενων δεδομένων, το ένα μετά το άλλο.

  1. Στο Power BI Desktop, επιλέξτε Μετασχηματισμός δεδομένων στην Αρχική κορδέλα για να ανοίξετε πρόγραμμα επεξεργασίας Power Query.

  2. Επιλέξτε το αναπτυσσόμενο μενού Διαχείριση παραμέτρων και, στη συνέχεια, επιλέξτε Νέα παράμετρος.

  3. Στο πεδίο Όνομα, πληκτρολογήστε RangeStart (με διάκριση πεζών-κεφαλαίων). Στο πεδίο Τύπος, επιλέξτε Ημερομηνία/Ώρα από την αναπτυσσόμενη λίστα. Στο πεδίο Τρέχουσα τιμή, εισαγάγετε μια τιμή ημερομηνίας και ώρας έναρξης.

    Define the Range Start parameter in the Manage Parameters dialog.

  4. Επιλέξτε Δημιουργία για να δημιουργήσετε μια δεύτερη παράμετρο με την ονομασία RangeEnd. Στο πεδίο Τύπος, επιλέξτε Ημερομηνία/Ώρα και, στη συνέχεια, στο πεδίο Τρέχουσα τιμή εισαγάγετε μια τιμή ημερομηνίας και ώρας λήξης. Επιλέξτε OK.

    Define the Range End parameter in the Manage Parameters dialog.

Τώρα που έχετε ορίσει τις παραμέτρους RangeStart και RangeEnd, θα φιλτράρετε τα δεδομένα που θα φορτωθούν στο μοντέλο με βάση αυτές τις παραμέτρους.

Φιλτράρισμα δεδομένων

Σημείωμα

Πριν συνεχίσετε με αυτήν την εργασία, επαληθεύστε ότι ο πίνακας προέλευσης έχει μια στήλη ημερομηνίας τύπου δεδομένων Ημερομηνία/Ώρα. Εάν δεν διαθέτει μια στήλη Ημερομηνία/Ώρα, αλλά έχει μια στήλη ημερομηνιών υποκατάστατων κλειδιών με τη μορφή yyyymmdd, ακολουθήστε τα βήματα στη Μετατροπή ημερομηνίας/ώρας σε ακέραιο παρακάτω σε αυτό το άρθρο, για να δημιουργήσετε μια συνάρτηση που μετατρέπει την τιμή ημερομηνίας/ώρας στις παραμέτρους ώστε να συμφωνεί με το υποκατάστατο κλειδί του πίνακα προέλευσης.

Τώρα θα εφαρμόσετε ένα φίλτρο με βάση τις συνθήκες στις παραμέτρους RangeStart και RangeEnd.

  1. Σε πρόγραμμα επεξεργασίας Power Query, επιλέξτε τη στήλη ημερομηνιών με την οποία θέλετε να φιλτράρετε και, στη συνέχεια, επιλέξτε το αναπτυσσόμενο βέλος >Φίλτρα ημερομηνίας>Προσαρμοσμένο φίλτρο.

  2. Στο Φιλτράρισμα γραμμών, για να καθορίσετε την πρώτη συνθήκη, επιλέξτε είναι μετά από ή είναι μετά από ή ισούται με, στη συνέχεια, επιλέξτε Παράμετρος και, στη συνέχεια, επιλέξτε RangeStart.

    Για να καθορίσετε τη δεύτερη συνθήκη, εάν επιλέξατε "μετά " στην πρώτη συνθήκη, επιλέξτε πριν ή ισούται με, ή εάν επιλέξατε είναι μετά ή ίσο με στην πρώτη συνθήκη, τότε επιλέξτε "είναι πριν " για τη δεύτερη συνθήκη και, στη συνέχεια, επιλέξτε Παράμετρος και, στη συνέχεια, επιλέξτε RangeEnd.

    Filter rows dialog showing Range Start and Range End conditions.

    Σημαντικό: Επαληθεύστε ότι τα ερωτήματα έχουν το σύμβολο ίσον (=) είτε στο RangeStart είτε στο RangeEnd, αλλά όχι και στα δύο. Εάν το σύμβολο ίσον (=) υπάρχει και στις δύο παραμέτρους, μια γραμμή θα μπορούσε να ικανοποιήσει τις συνθήκες για δύο διαμερίσματα, το οποίο θα μπορούσε να οδηγήσει σε διπλότυπα δεδομένα στο μοντέλο. Για παράδειγμα, = Table.SelectRows(#"Changed Type", each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd) μπορεί να προκύψουν διπλότυπα δεδομένα εάν υπάρχει ένα OrderDate που ισούται με RangeStart και RangeEnd.

    Επιλέξτε OK για να κλείσετε.

  3. Στην Αρχική κορδέλα του πρόγραμμα επεξεργασίας Power Query, επιλέξτε Κλείσιμο & Εφαρμογή. Το Power Query φορτώνει δεδομένα με βάση τα φίλτρα που ορίζονται από τις παραμέτρους RangeStart και RangeEnd και τυχόν άλλα φίλτρα που έχετε ορίσει.

    Το Power Query φορτώνει μόνο δεδομένα που έχουν καθοριστεί μεταξύ των παραμέτρων RangeStart και RangeEnd. Ανάλογα με τον όγκο των δεδομένων εκείνη την περίοδο, ο πίνακας θα πρέπει να φορτωθεί γρήγορα. Εάν φαίνεται αργή και απαιτητική σε διαδικασίες, είναι πιθανό ότι το ερώτημα δεν αναδιπλώνεται.

Ορισμός πολιτικής

Αφού ορίσετε τις παραμέτρους RangeStart και RangeEnd και φιλτράρετε δεδομένα με βάση αυτές τις παραμέτρους, θα ορίσετε μια πολιτική επαυξητικής ανανέωσης. Αυτή η πολιτική εφαρμόζεται μόνο μετά τη δημοσίευση του μοντέλου στην υπηρεσία και εκτελείται μια λειτουργία μη αυτόματης ή προγραμματισμένης ανανέωσης.

  1. Στην Προβολή δεδομένων, κάντε δεξί κλικ σε έναν πίνακα στο τμήμα παραθύρου Δεδομένα και επιλέξτε Επαυξητική ανανέωση.

    Data view showing Table context menu with Incremental refresh selected.

  2. Στην επαυξητική ανανέωση και στα δεδομένα>σε πραγματικό χρόνο Επιλέξτε πίνακα, επαληθεύστε ή επιλέξτε τον πίνακα. Η προεπιλεγμένη τιμή του πλαισίου λίστας Επιλογή πίνακα είναι ο πίνακας που επιλέξατε στην Προβολή δεδομένων.

  3. Καθορίστε τις απαιτούμενες ρυθμίσεις:

    Στην περιοχή Ορισμός περιοχών εισαγωγής και ανανέωσης>Επαυξητική ανανέωση αυτού του πίνακα μετακινήστε το ρυθμιστικό στη θέση Ενεργό. Εάν το ρυθμιστικό είναι απενεργοποιημένο, αυτό σημαίνει ότι η παράσταση Power Query για τον πίνακα δεν περιλαμβάνει ένα φίλτρο με βάση τις παραμέτρους RangeStart και RangeEnd.

    Στην εκκίνηση δεδομένων αρχειοθέτησης, καθορίστε την περίοδο ιστορικού χώρου αποθήκευσης που θέλετε να συμπεριλάβετε στο μοντέλο. Όλες οι γραμμές με ημερομηνίες αυτής της περιόδου θα φορτωθούν στο μοντέλο στην υπηρεσία, εκτός εάν εφαρμόζονται άλλα φίλτρα.

    Κατά την έναρξη της επαυξητικής ανανέωσης δεδομένων, καθορίστε την περίοδο ανανέωσης. Όλες οι γραμμές με ημερομηνίες σε αυτή την περίοδο θα ανανεώνονται στο μοντέλο κάθε φορά που εκτελείται μια μη αυτόματη ή προγραμματισμένη λειτουργία ανανέωσης από τον Υπηρεσία Power BI.

  4. Καθορίστε προαιρετικές ρυθμίσεις:

    Στην επιλογή προαιρετικών ρυθμίσεων, επιλέξτε Λήψη των πιο πρόσφατων δεδομένων σε πραγματικό χρόνο με το DirectQuery (μόνο Premium) για να συμπεριλάβετε τις τελευταίες αλλαγές δεδομένων που πραγματοποιήθηκαν στην προέλευση δεδομένων μετά την τελευταία περίοδο ανανέωσης. Αυτή η ρύθμιση προκαλεί την προσθήκη ενός διαμερίσματος DirectQuery στον πίνακα από την πολιτική επαυξητικής ανανέωσης.

    Επιλέξτε Ανανέωση μόνο των ολοκληρωμένων ημερών για ανανέωση μόνο ολόκληρων ημερών. Εάν η λειτουργία ανανέωσης εντοπίσει ότι μια ημέρα δεν έχει ολοκληρωθεί, οι γραμμές για ολόκληρη την ημέρα δεν ανανεώνονται. Αυτή η επιλογή ενεργοποιείται αυτόματα όταν επιλέγετε Λήψη των πιο πρόσφατων δεδομένων σε πραγματικό χρόνο με το DirectQuery (μόνο Premium).

    Επιλέξτε Εντοπισμός αλλαγών δεδομένων για να καθορίσετε μια στήλη ημερομηνίας/ώρας που χρησιμοποιείται για τον προσδιορισμό και την ανανέωση μόνο των ημερών όπου έχουν αλλάξει τα δεδομένα. Πρέπει να υπάρχει μια στήλη ημερομηνίας/ώρας, συνήθως για σκοπούς ελέγχου, στην προέλευση δεδομένων. Αυτή η στήλη δεν πρέπει να είναι η ίδια στήλη που χρησιμοποιείται για τον διαμερισμό των δεδομένων με τις παραμέτρους RangeStart και RangeEnd. Η μέγιστη τιμή αυτής της στήλης αξιολογείται για κάθε μία από τις περιόδους στην περιοχή επαύξησης. Εάν δεν έχει αλλάξει από την τελευταία ανανέωση, η τρέχουσα περίοδος δεν ανανεώνεται. Για μοντέλα που έχουν δημοσιευτεί σε Premium εκχωρημένους πόρους, μπορείτε επίσης να καθορίσετε ένα προσαρμοσμένο ερώτημα. Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Επαυξητική ανανέωση για προχωρημένους - Προσαρμοσμένα ερωτήματα για τον εντοπισμό αλλαγών δεδομένων.

    Ανάλογα με τις ρυθμίσεις σας, η πολιτική σας θα πρέπει να μοιάζει κάπως έτσι:

    Incremental refresh and real-time data policy dialog showing incremental refresh range.

  5. Εξετάστε τις ρυθμίσεις σας και, στη συνέχεια, επιλέξτε Εφαρμογή για να ολοκληρώσετε την πολιτική ανανέωσης. Αυτό το βήμα δεν φορτώνει δεδομένα.

Αποθήκευση και δημοσίευση στην υπηρεσία

Τώρα που έχουν ολοκληρωθεί οι παράμετροι RangeStart και RangeEnd, φιλτράρισμα και ανανέωση πολιτικής, αποθηκεύστε το μοντέλο σας και, στη συνέχεια, δημοσιεύστε το στην υπηρεσία. Εάν το μοντέλο σας θα γίνει μεγάλο, βεβαιωθείτε ότι έχετε ενεργοποιήσει τη μορφήαποθήκευσης μεγάλου μοντέλου πριν από την κλήση της πρώτης ανανέωσης στην υπηρεσία.

Ανανέωση μοντέλου

Στην υπηρεσία, ανανεώστε το μοντέλο. Η πρώτη ανανέωση θα φορτώσει νέα και ενημερωμένα δεδομένα κατά την περίοδο ανανέωσης, καθώς και ιστορικά δεδομένα για ολόκληρη την περίοδο χώρου αποθήκευσης. Ανάλογα με τον όγκο των δεδομένων, αυτή η ανανέωση μπορεί να διαρκέσει αρκετή ώρα. Οι επόμενες ανανεώσεις, είτε μη αυτόματες είτε προγραμματισμένες, είναι συνήθως πολύ πιο γρήγορες καθώς εφαρμόζεται η πολιτική επαυξητικής ανανέωσης και ανανεώνονται μόνο τα δεδομένα για την περίοδο που καθορίζεται στη ρύθμιση πολιτικής ανανέωσης.

Μετατροπή ημερομηνίας/ώρας σε ακέραιο

Αυτή η εργασία απαιτείται μόνο εάν ο πίνακάς σας χρησιμοποιεί ακέραια υποκατάστατα κλειδιά αντί για τιμές ημερομηνίας/ώρας στη στήλη ημερομηνίας που χρησιμοποιείτε για τον ορισμό φίλτρου RangeStart και RangeEnd.

Ο τύπος δεδομένων των παραμέτρων RangeStart και RangeEnd πρέπει να είναι τύπου δεδομένων ημερομηνίας/ώρας, ανεξάρτητα από τον τύπο δεδομένων της στήλης ημερομηνίας. Ωστόσο, για πολλές προελεύσεις δεδομένων, οι πίνακες δεν έχουν μια στήλη τύπου δεδομένων ημερομηνίας/ώρας, αλλά αντίθετα έχουν μια στήλη ημερομηνιών με τα υποκατάστατα κλειδιά με τη μορφή .yyyymmdd Συνήθως δεν μπορείτε να μετατρέψετε αυτά τα ακέραια υποκατάστατα κλειδιά στον τύπο δεδομένων Ημερομηνία/Ώρα, επειδή το αποτέλεσμα θα ήταν μια μη αναδίπλωση παράστασης ερωτήματος, αλλά μπορείτε να δημιουργήσετε μια συνάρτηση που μετατρέπει την τιμή ημερομηνίας/ώρας στις παραμέτρους ώστε να ταιριάζει με το υποκατάστατο κλειδί του πίνακα προέλευσης δεδομένων χωρίς απώλεια δυνατότητας αναδίπλωσης. Στη συνέχεια, η συνάρτηση καλείται σε ένα βήμα φίλτρου. Αυτό το βήμα μετατροπής απαιτείται εάν ο πίνακας προέλευσης δεδομένων περιέχει μόνο ένα υποκατάστατο κλειδί ως τύπο δεδομένων ακέραιου.

  1. Στην Αρχική κορδέλα του πρόγραμμα επεξεργασίας Power Query, επιλέξτε το αναπτυσσόμενο μενού Νέα προέλευση και, στη συνέχεια, επιλέξτε Κενό ερώτημα.

  2. Στο Ρυθμίσεις ερωτήματος, πληκτρολογήστε ένα όνομα, για παράδειγμα, DateKey και, στη συνέχεια, στο πρόγραμμα επεξεργασίας τύπων, εισαγάγετε τον παρακάτω τύπο:

    = (x as datetime) => Date.Year(x)*10000 + Date.Month(x)*100 + Date.Day(x)

    Power BI function editor showing the integer surrogate DateKey function.

  3. Για να ελέγξετε τον τύπο, στην εισαγωγή παραμέτρου, εισαγάγετε μια τιμή ημερομηνίας/ώρας και, στη συνέχεια, επιλέξτε Κλήση. Εάν ο τύπος είναι σωστός, επιστρέφεται μια ακέραια τιμή για την ημερομηνία. Μετά την επαλήθευση, διαγράψτε αυτό το νέο ερώτημα συνάρτησης που κλήθηκε.

  4. Στα Ερωτήματα, επιλέξτε τον πίνακα και, στη συνέχεια, επεξεργαστείτε τον τύπο ερωτήματος για να καλέσετε τη συνάρτηση με τις παραμέτρους RangeStart και RangeEnd.

    = Table.SelectRows(#"Reordered Column OrderDateKey", each [OrderDateKey] > DateKey(RangeStart) and [OrderDateKey] <= DateKey(RangeEnd))

    Power BI table showing DateKey filter.