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


Τεχνικές μείωσης δεδομένων για τη μοντελοποίηση εισαγωγής

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

Τα μοντέλα εισαγωγής φορτώνονται με δεδομένα που συμπιέζονται και βελτιστοποιούνται και, στη συνέχεια, αποθηκεύονται στον δίσκο από τη μηχανή αποθήκευσης VertiPaq. Όταν φορτωθούν δεδομένα προέλευσης στη μνήμη, είναι δυνατό να επιτευχθεί συμπίεση 10x και επομένως είναι λογικό να αναμένετε ότι δεδομένα προέλευσης 10 GB μπορούν να συμπιεστεί σε μέγεθος περίπου 1 GB. Επιπλέον, όταν διατηρείται στον δίσκο, μπορεί να επιτευχθεί επιπλέον 20% μείωση.

Παρά τις αποδόσεις που επιτυγχάνονται από τη μηχανή αποθήκευσης VertiPaq, θα πρέπει να προσπαθήσετε να ελαχιστοποιήσετε τα δεδομένα που φορτώνονται στα μοντέλα σας. Αυτό ισχύει ιδιαίτερα για μεγάλα μοντέλα ή μοντέλα που αναμένετε ότι θα μεγαλώσουν με τον χρόνο. Τέσσερις σημαντικοί λόγοι περιλαμβάνουν τα εξής:

  • Ενδέχεται να μην υποστηρίζονται μεγαλύτερα μεγέθη μοντέλου από τους εκχωρημένους πόρους σας. Οι κοινόχρηστοι εκχωρημένοι πόροι μπορούν να φιλοξενήσουν μοντέλα έως και 1 GB σε μέγεθος, ενώ οι Premium εκχωρημένοι πόροι μπορούν να φιλοξενήσουν μεγαλύτερα μοντέλα ανάλογα με το SKU. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Μεγάλα σημασιολογικά μοντέλα στο Power BI Premium.
  • Μικρότερα μεγέθη μοντέλου μειώνουν τον ισχυρισμό για εκχωρημένους πόρους, συγκεκριμένα για τη μνήμη. Πολλά μικρότερα μοντέλα σε ένα σύνολο εκχωρημένων πόρων μπορούν να φορτωθούν ταυτόχρονα για μεγαλύτερες χρονικές περιόδους, με αποτέλεσμα χαμηλότερους ρυθμούς κατάργησης.
  • Τα μικρότερα μεγέθη μοντέλου επιτυγχάνουν ταχύτερη ανανέωση δεδομένων, με αποτέλεσμα χαμηλότερες αναφορές λανθάνοντος χρόνου, υψηλότερη ταχύτητα ανανέωσης μοντέλου σημασιολογίας και λιγότερη πίεση στους πόρους συστήματος προέλευσης και τους εκχωρημένους πόρους.
  • Μικρότερο πλήθος γραμμών πίνακα μπορεί να οδηγήσει σε ταχύτερες αξιολογήσεις υπολογισμού, το οποίο έχει ως αποτέλεσμα καλύτερες συνολικές επιδόσεις ερωτημάτων.

Σημαντικό

Κατά καιρούς αυτό το άρθρο αναφέρεται στο Power BI Premium ή στις συνδρομές εκχωρημένων πόρων του (P SKU). Να γνωρίζετε ότι η Microsoft ενοποιεί επί του παρόντος επιλογές αγοράς και αποσύρει το Power BI Premium ανά SKU εκχωρημένων πόρων. Οι νέοι και υπάρχοντες πελάτες θα πρέπει να εξετάσουν το ενδεχόμενο αγοράς συνδρομών εκχωρημένων πόρων Fabric (F SKU).

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Σημαντικές ενημερώσεις που αφορούν την παραχώρηση αδειών χρήσης Power BI Premium και συνήθεις ερωτήσεις για το Power BI Premium.

Κατάργηση περιττών στηλών

Οι στήλες πίνακα μοντέλου εξυπηρετούν δύο κύριους σκοπούς:

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

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

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

Κατάργηση περιττών γραμμών

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

  • το φιλτράρισμα κατά ώρα αφορά στον περιορισμό της ποσότητας του ιστορικού δεδομένων που φορτωθεί σε πίνακες δεδομένων που (και τον περιορισμό των γραμμών ημερομηνίας που φορτώνονται στους πίνακες ημερομηνιών μοντέλου). Συνιστούμε να μην φορτώνετε όλο το διαθέσιμο ιστορικό από προεπιλογή, εκτός εάν αποτελεί γνωστή απαίτηση αναφοράς. Μπορείτε να υλοποιήσετε φίλτρα Power Query που βασίζονται σε χρόνο με παραμέτρους, ακόμα και να τα ορίσετε για χρήση σχετικών χρονικών περιόδων (σε σχέση με την ημερομηνία ανανέωσης, για παράδειγμα, τα τελευταία πέντε έτη). Επίσης, λάβετε υπόψη ότι μια αναδρομική αλλαγή στα φίλτρα χρόνου δεν θα διακόψει τις αναφορές. αυτό θα έχει ως αποτέλεσμα απλώς μικρότερο (ή μεγαλύτερο) ιστορικό δεδομένων διαθέσιμο σε αναφορές.
  • Το φιλτράρισμα κατά οντότητα περιλαμβάνει τη φόρτωση ενός υποσυνόλου δεδομένων προέλευσης στο μοντέλο. Για παράδειγμα, αντί να φορτώσετε στοιχεία πωλήσεων για όλες τις περιοχές πωλήσεων, φορτώνετε μόνο στοιχεία για μία μόνο περιοχή. Αυτή η προσέγγιση σχεδίασης έχει ως αποτέλεσμα πολλά μικρότερα μοντέλα και μπορεί επίσης να καταργήσει την ανάγκη ορισμού ασφάλειας σε επίπεδο γραμμών (RLS), αλλά απαιτεί την εκχώρηση συγκεκριμένων δικαιωμάτων σημασιολογικών μοντέλων στην υπηρεσία Power BI και τη δημιουργία διπλότυπων αναφορών που συνδέονται σε κάθε μοντέλο σημασιολογίας. Μπορείτε να χρησιμοποιήσετε παραμέτρους Power Query και αρχεία προτύπου Power BI για να απλοποιήσετε τη διαχείριση και δημοσίευση. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Δημιουργία και χρήση προτύπων αναφοράς στο Power BI Desktop.

Ομαδοποίηση κατά και σύνοψη

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

Εξετάστε ένα παράδειγμα όπου ένας πίνακας δεδομένων πωλήσεων προέλευσης αποθηκεύει μία γραμμή ανά γραμμή παραγγελίας. Μπορείτε να πετύχετε σημαντική μείωση δεδομένων συνοψίζοντας όλα τα μετρικά πωλήσεων, ομαδοποιώντας κατά ημερομηνία, πελάτη και προϊόν. Μια ακόμα μεγαλύτερη μείωση δεδομένων μπορεί να επιτευχθεί με ομαδοποίηση κατά ημερομηνία σε επίπεδο μήνα. Παρόλο που μπορεί να επιτύχει μια πιθανή μείωση 99% στο μέγεθος μοντέλου, η αναφορά σε επίπεδο ημέρας ή μεμονωμένης γραμμής παραγγελίας δεν είναι πλέον εφικτή. Η απόφαση σύνοψης των δεδομένων περιλαμβάνει πάντα ανταλλαγές. Η ανταλλαγή μπορεί να μετριαστεί με μια σχεδίαση μοντέλου που περιλαμβάνει ορισμένους πίνακες στη λειτουργία αποθήκευσης DirectQuery, η οποία περιγράφεται αργότερα σε αυτό το άρθρο.

Βελτιστοποίηση τύπων δεδομένων στήλης

Η μηχανή αποθήκευσης VertiPaq χρησιμοποιεί ξεχωριστές εσωτερικές δομές δεδομένων για κάθε στήλη. Βάσει σχεδίασης, αυτές οι δομές δεδομένων επιτυγχάνουν τις υψηλότερες βελτιστοποιήσεις για αριθμητικά δεδομένα στηλών, που χρησιμοποιούν κωδικοποίηση τιμών. Ωστόσο, το κείμενο και άλλα μη αριθμητικά δεδομένα χρησιμοποιούν κωδικοποίηση κατακερματίσματος. Η κωδικοποίηση κατακερματισμού απαιτεί από τη μηχανή αποθήκευσης να εκχωρήσει ένα αριθμητικό αναγνωριστικό σε κάθε μοναδική τιμή που περιέχεται στη στήλη. Είναι τότε το αριθμητικό αναγνωριστικό που αποθηκεύεται στη δομή δεδομένων, απαιτώντας αναζήτηση κατακερματίσματος κατά την αποθήκευση και την υποβολή ερωτημάτων.

Σε ορισμένες συγκεκριμένες παρουσίες, μπορείτε να μετατρέψετε δεδομένα κειμένου προέλευσης σε αριθμητικές τιμές. Για παράδειγμα, ένας αριθμός παραγγελίας πωλήσεων μπορεί να έχει διαρκώς ως πρόθεμα μια τιμή κειμένου (για παράδειγμα, SO123456). Σε αυτήν την περίπτωση, μπορεί να καταργηθεί το πρόθεμα SO και η τιμή αριθμού παραγγελίας να μετατραπεί σε ακέραιο αριθμό. Για μεγάλους πίνακες, αυτή η τροποποίηση μπορεί να οδηγήσει σε σημαντική μείωση δεδομένων, ιδιαίτερα όταν η στήλη περιέχει μοναδικές ή υψηλής πληθικότητας τιμές.

Σε αυτό το παράδειγμα, συνιστούμε να ορίσετε την προεπιλεγμένη ιδιότητα σύνοψης στήλης σε Do Not Summarize. Βοηθά να αποφύγετε ακατάλληλη σύνοψη των τιμών αριθμού παραγγελιών.

Προτίμηση για προσαρμοσμένες στήλες

Η μηχανή αποθήκευσης VertiPaq αποθηκεύει μοντέλα υπολογιζόμενες στήλες (ορίζονται στο DAX) όπως ακριβώς και οι κανονικές στήλες που προέρχονται από το Power Query. Ωστόσο, οι εσωτερικές δομές δεδομένων αποθηκεύονται λίγο διαφορετικά και συνήθως επιτυγχάνουν λιγότερο αποτελεσματική συμπίεση. Επίσης, οι δομές δεδομένων δημιουργούνται όταν φορτώνονται όλοι οι πίνακες Power Query, το οποίο μπορεί να οδηγήσει σε εκτεταμένους χρόνους ανανέωσης δεδομένων. Επομένως, είναι λιγότερο αποτελεσματικό να προσθέτετε στήλες πίνακα ως υπολογιζόμενες στήλες σε σχέση με υπολογιζόμενες στήλες Power Query (ορίζονται στην M).

Όποτε είναι εφικτό, κάντε προτίμηση για τη δημιουργία προσαρμοσμένων στηλών στο Power Query. Όταν η προέλευση είναι μια βάση δεδομένων, μπορείτε να επιτύχετε μεγαλύτερη αποδοτικότητα φόρτου με δύο τρόπους: Ο υπολογισμός μπορεί να οριστεί στην πρόταση SQL (χρησιμοποιώντας τη γλώσσα εγγενούς ερωτήματος της υπηρεσίας παροχής) ή μπορεί να υλοποιηθεί ως στήλη στην προέλευση δεδομένων.

Ωστόσο, σε ορισμένες παρουσίες, οι υπολογιζόμενες στήλες μοντέλου μπορεί να είναι η καλύτερη επιλογή. Αυτό ισχύει όταν ο τύπος αφορά την αξιολόγηση μετρήσεων ή όταν απαιτεί συγκεκριμένες λειτουργίες μοντελοποίησης που υποστηρίζεται μόνο σε συναρτήσεις DAX. Για πληροφορίες σε ένα τέτοιο παράδειγμα, ανατρέξτε στο θέμα Κατανόηση συναρτήσεων για ιεραρχίες γονικού-θυγατρικού στοιχείου στο DAX.

Απενεργοποίηση φόρτωσης ερωτημάτων Power Query

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

Στιγμιότυπο οθόνης του Power Query που εμφανίζει την επιλογή Ενεργοποίηση φόρτωσης.

Απενεργοποίηση αυτόματης ημερομηνίας/ώρας

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

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα οδηγίες αυτόματης ημερομηνίας/ώρας στο Power BI Desktop.

Χρήση λειτουργίας αποθήκευσης DirectQuery

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

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

Υπάρχουν, ωστόσο, πολλές επιπτώσεις στην ασφάλεια και τις επιδόσεις που σχετίζονται με τη λειτουργία αποθήκευσης DirectQuery και τα Σύνθετα μοντέλα. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Χρήση σύνθετων μοντέλων στο Power BI Desktop.

Για περισσότερες πληροφορίες σχετικά με αυτό το άρθρο, ανατρέξτε στα παρακάτω άρθρα: