Καθοδήγηση μοντέλου DirectQuery στο Power BI Desktop
Αυτό το άρθρο αφορά δημιουργούς μοντέλων δεδομένων που αναπτύσσουν μοντέλα DirectQuery του Power BI, τα οποία αναπτύσσονται χρησιμοποιώντας είτε το Power BI Desktop είτε την υπηρεσία Power BI. Περιγράφει περιπτώσεις χρήσης του DirectQuery, περιορισμούς και οδηγίες. Συγκεκριμένα, οι οδηγίες έχουν σχεδιαστεί για να σας βοηθήσουν να προσδιορίσετε εάν το DirectQuery είναι η κατάλληλη λειτουργία για το μοντέλο σας και να βελτιώσετε τις επιδόσεις των αναφορών σας με βάση μοντέλα DirectQuery. Αυτό το άρθρο ισχύει για μοντέλα DirectQuery που φιλοξενούνται στην υπηρεσία Power BI ή στον Power BI Report Server.
Αυτό το άρθρο δεν προορίζεται για να παρέχει μια πλήρη συζήτηση σχετικά με τη σχεδίαση μοντέλου DirectQuery. Για μια εισαγωγή, ανατρέξτε στο άρθρο Μοντέλα DirectQuery στο Power BI Desktop . Για μια βαθύτερη συζήτηση, ανατρέξτε απευθείας στη λευκή βίβλο DirectQuery στις Υπηρεσίες ανάλυσης του SQL Server 2016. Λάβετε υπόψη ότι η λευκή βίβλος περιγράφει τη χρήση του DirectQuery στις Υπηρεσίες ανάλυσης του SQL Server. Μεγάλο μέρος του περιεχομένου, ωστόσο, εξακολουθεί να ισχύει για μοντέλα Power BI DirectQuery.
Σημείωμα
Για ζητήματα σχετικά με τη χρήση της λειτουργίας αποθήκευσης DirectQuery για το Dataverse, ανατρέξτε στο θέμα Οδηγίες μοντελοποίησης του Power BI για το Power Platform.
Αυτό το άρθρο δεν καλύπτει άμεσα σύνθετα μοντέλα. Ένα Σύνθετο μοντέλο αποτελείται από τουλάχιστον μία προέλευση DirectQuery και πιθανώς περισσότερο. Οι οδηγίες που περιγράφονται σε αυτό το άρθρο παραμένουν σχετικές, τουλάχιστον εν μέρει, με τη σχεδίαση σύνθετου μοντέλου. Ωστόσο, οι συνέπειες του συνδυασμού πινάκων Εισαγωγής με πίνακες DirectQuery δεν αποτελούν αντικείμενο αυτού του άρθρου. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Χρήση σύνθετων μοντέλων στο Power BI Desktop.
Είναι σημαντικό να κατανοήσετε ότι τα μοντέλα DirectQuery καθιστούν έναν διαφορετικό φόρτο εργασίας στο περιβάλλον Power BI (υπηρεσία Power BI ή Power BI Report Server) και επίσης στις υποκείμενες προελεύσεις δεδομένων. Εάν διαπιστώσετε ότι το DirectQuery είναι η κατάλληλη προσέγγιση σχεδίασης, συνιστούμε να χρησιμοποιήσετε τα κατάλληλα άτομα στο έργο. Συχνά βλέπουμε ότι μια επιτυχημένη ανάπτυξη μοντέλου DirectQuery είναι το αποτέλεσμα μιας ομάδας επαγγελματιών IT που συνεργάζονται στενά. Η ομάδα συνήθως αποτελείται από προγραμματιστές μοντέλων και τους διαχειριστές βάσης δεδομένων προέλευσης. Μπορεί επίσης να αφορά αρχιτέκτονες δεδομένων και προγραμματιστές αποθήκης δεδομένων και ETL. Συχνά, πρέπει να εφαρμοστούν βελτιστοποιήσεις απευθείας στην προέλευση δεδομένων για την επίτευξη καλών αποτελεσμάτων.
Βελτιστοποίηση επιδόσεων προέλευσης δεδομένων
Η προέλευση σχεσιακής βάσης δεδομένων μπορεί να βελτιστοποιηθεί με πολλούς τρόπους, όπως περιγράφεται στην παρακάτω λίστα με κουκκίδες.
Σημείωμα
Κατανοούμε ότι δεν έχουν όλοι οι δημιουργούς μοντέλων δικαιώματα ή δεξιότητες βελτιστοποίησης μιας σχεσιακής βάσης δεδομένων. Παρόλο που είναι το προτιμώμενο επίπεδο για την προετοιμασία των δεδομένων για ένα μοντέλο DirectQuery, ορισμένες βελτιστοποιήσεις μπορούν επίσης να επιτευχθούν στη σχεδίαση μοντέλου, χωρίς τροποποίηση της βάσης δεδομένων προέλευσης. Ωστόσο, τα καλύτερα αποτελέσματα βελτιστοποίησης επιτυγχάνονται εφαρμόζοντας βελτιστοποιήσεις στη βάση δεδομένων προέλευσης.
Βεβαιωθείτε ότι η ακεραιότητα δεδομένων ολοκληρώθηκε: Είναι ιδιαίτερα σημαντικό οι πίνακες διαστάσεων να περιέχουν μια στήλη μοναδικών τιμών (κλειδί διάστασης) που αντιστοιχεί στους πίνακες στοιχείων. Είναι επίσης σημαντικό οι στήλες διαστάσεων στοιχείων να περιέχουν έγκυρες τιμές κλειδιών διαστάσεων. Θα επιτρέπουν τη ρύθμιση περισσότερο αποτελεσματικών σχέσεων μοντέλων, τα οποία αναμένουν αντιστοιχίες τιμών και στις δύο πλευρές των σχέσεων. Όταν από τα δεδομένα προέλευσης αποστερείται ακεραιότητας, συνιστάται να προστεθεί μια "άγνωστη" εγγραφή διάστασης για την αποτελεσματική επιδιόρθωση των δεδομένων. Για παράδειγμα, μπορείτε να προσθέσετε μια γραμμή στον πίνακα Προϊόν για να αναπαριστά ένα άγνωστο προϊόν και, στη συνέχεια, να εκχωρήσετε σε αυτόν ένα κλειδί εκτός περιοχής, όπως -1. Εάν οι γραμμές στον πίνακα Πωλήσεις περιέχουν μια τιμή κλειδιού προϊόντος που λείπει, αντικαταστήστε τις με -1. Εξασφαλίζει ότι κάθε τιμή κλειδιού προϊόντος Πωλήσεις διαθέτει μια αντίστοιχη γραμμή στον πίνακα Προϊόν .
Προσθήκη ευρετηρίων: Καθορίστε κατάλληλα ευρετήρια, σε πίνακες ή προβολές, για να υποστηρίξετε την αποτελεσματική ανάκτηση δεδομένων για το αναμενόμενο φιλτράρισμα και ομαδοποίηση απεικονίσεων αναφοράς. Για προελεύσεις SQL Server, Βάση δεδομένων Azure SQL ή Azure Synapse Analytics (πρώην Αποθήκη δεδομένων SQL), ανατρέξτε στο θέμα Αρχιτεκτονική ευρετηρίου SQL Server και Οδηγός σχεδίασης για χρήσιμες πληροφορίες σχετικά με τις οδηγίες σχεδίασης ευρετηρίου. Για τις ασταθείς προελεύσεις SQL Server ή Βάση δεδομένων Azure SQL, ανατρέξτε στο θέμα Γρήγορα αποτελέσματα με το Columnstore για λειτουργική ανάλυση σε πραγματικό χρόνο.
Σχεδίαση κατανεμημένων πινάκων: Για προελεύσεις Azure Synapse Analytics (πρώην Αποθήκη δεδομένων SQL), οι οποίες χρησιμοποιούν αρχιτεκτονική Μαζικής παράλληλης επεξεργασίας (MPP), εξετάστε τη ρύθμιση μεγάλων πινάκων στοιχείων ως διανομής κατακερματισμού και πινάκων διαστάσεων για αναπαραγωγή σε όλους τους υπολογιστικούς κόμβους. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Οδηγίες για τη σχεδίαση κατανεμημένων πινάκων στο Azure Synapse Analytics (πρώην Αποθήκη δεδομένων SQL).
Βεβαιωθείτε ότι υλοποιούνται οι υποχρεωτικοί μετασχηματισμοί δεδομένων: Για προελεύσεις σχεσιακής βάσης δεδομένων SQL Server (και άλλες προελεύσεις σχεσιακής βάσης δεδομένων), οι υπολογιζόμενες στήλες μπορούν να προστεθούν σε πίνακες. Αυτές οι στήλες βασίζονται σε μια παράσταση, όπως Ποσότητα πολλαπλασιασμένη επί Τιμή μονάδας. Οι υπολογιζόμενες στήλες μπορούν να διατηρηθούν (υλοποιηθούν) και, όπως οι κανονικές στήλες, ορισμένες φορές μπορούν να καταχωρηθούν σε ευρετήριο. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ευρετήρια υπολογιζόμενων στηλών.
Εξετάστε επίσης προβολές ευρετηρίου που μπορούν να συγκεντρώσουν εκ των προτέρων δεδομένα πίνακα δεδομένων με μεγαλύτερη λεπτομέρεια. Για παράδειγμα, εάν ο πίνακας Πωλήσεις αποθηκεύει δεδομένα σε επίπεδο γραμμής παραγγελίας, μπορείτε να δημιουργήσετε μια προβολή για να συνοψίσετε αυτά τα δεδομένα. Η προβολή μπορεί να βασίζεται σε μια πρόταση SELECT που ομαδοποιεί τα δεδομένα του πίνακα Πωλήσεις κατά ημερομηνία (σε επίπεδο μήνα), πελάτη, προϊόν και συνοψίζει τιμές μέτρησης όπως πωλήσεις, ποσότητα κ.λπ. Η προβολή μπορεί, στη συνέχεια, να καταχωρηθεί σε ευρετήριο. Για προελεύσεις SQL Server ή Βάση δεδομένων SQL Azure, ανατρέξτε στο θέμα Δημιουργία προβολών ευρετηρίου.
Υλοποίηση ενός πίνακα ημερομηνιών: Μια συνηθισμένη απαίτηση μοντελοποίησης αφορά στην προσθήκη ενός πίνακα ημερομηνιών για την υποστήριξη φιλτραρίσματος βάσει χρόνου. Για να υποστηρίξετε τα γνωστά φίλτρα χρόνου στον οργανισμό σας, δημιουργήστε έναν πίνακα στη βάση δεδομένων προέλευσης και βεβαιωθείτε ότι φορτώνεται με μια περιοχή ημερομηνιών που περιλαμβάνουν τις ημερομηνίες του πίνακα δεδομένων. Εξασφαλίστε επίσης ότι περιλαμβάνει στήλες για χρήσιμες χρονικές περιόδους, όπως έτος, τρίμηνο, μήνας, εβδομάδα κ.λπ.
Βελτιστοποίηση σχεδίασης μοντέλου
Ένα μοντέλο DirectQuery μπορεί να βελτιστοποιηθεί με πολλούς τρόπους, όπως περιγράφεται στην παρακάτω λίστα με κουκκίδες.
Αποφύγετε σύνθετα ερωτήματα Power Query: Μια αποτελεσματική σχεδίαση μοντέλου μπορεί να επιτευχθεί καταργώντας την ανάγκη εφαρμογής μετασχηματισμών από τα ερωτήματα Power Query. Σημαίνει ότι κάθε ερώτημα αντιστοιχίζεται σε έναν μοναδικό πίνακα ή προβολή προέλευσης σχεσιακής βάσης δεδομένων. Μπορείτε να κάνετε προεπισκόπηση μιας αναπαράστασης της πραγματικής πρότασης ερωτήματος SQL για ένα εφαρμοσμένο βήμα του Power Query, επιλέγοντας Προβολή εγγενούς ερωτήματος .
Εξετάστε τη χρήση υπολογιζόμενων στηλών και αλλαγών τύπου δεδομένων: Τα μοντέλα DirectQuery υποστηρίζουν προσθήκη υπολογισμών και βήματα Power Query για τη μετατροπή τύπων δεδομένων. Ωστόσο, καλύτερες επιδόσεις επιτυγχάνονται υλοποιώντας αποτελέσματα μετασχηματισμού στην προέλευση σχεσιακής βάσης δεδομένων, όταν είναι δυνατό.
Μην χρησιμοποιείτε φιλτράρισμα σχετικής ημερομηνίας του Power Query: Μπορείτε να ορίσετε φιλτράρισμα σχετικής ημερομηνίας σε ένα ερώτημα Power Query. Για παράδειγμα, για ανάκτηση στις παραγγελίες πωλήσεων που δημιουργήθηκαν το τελευταίο έτος (σε σχέση με τη σημερινή ημερομηνία). Αυτός ο τύπος φίλτρου μεταφράζεται σε ένα αναποτελεσματικό εγγενές ερώτημα, ως εξής:
… from [dbo].[Sales] as [_] where [_].[OrderDate] >= convert(datetime2, '2018-01-01 00:00:00') and [_].[OrderDate] < convert(datetime2, '2019-01-01 00:00:00'))
Μια καλύτερη προσέγγιση σχεδίασης είναι να συμπεριλάβετε στήλες σχετικής ώρας στον πίνακα ημερομηνιών. Αυτές οι στήλες αποθηκεύουν τιμές μετατόπισης σχετικές με την τρέχουσα ημερομηνία. Για παράδειγμα, σε μια στήλη Σχετικό έτος , η μηδενική τιμή αντιπροσωπεύει το τρέχον έτος, το -1 αντιπροσωπεύει το προηγούμενο έτος κ.λπ. Κατά προτίμηση, η στήλη Σχετικό έτος υλοποιείται στον πίνακα ημερομηνιών. Παρόλο που είναι λιγότερο αποδοτικό, μπορεί επίσης να προστεθεί ως υπολογιζόμενη στήλη μοντέλου, με βάση την παράσταση που χρησιμοποιεί τις συναρτήσεις TODAY και DATE DAX.
Διατηρήστε απλές τις μετρήσεις: Στην αρχή τουλάχιστον, συνιστάται να περιορίσετε τις μετρήσεις σε απλές συγκεντρωτικές τιμές. Οι συναρτήσεις συγκεντρωτικών αποτελεσμάτων περιλαμβάνουν τα SUM, COUNT, MIN, MAX και AVERAGE. Στη συνέχεια, εάν οι μετρήσεις ανταποκρίνονται επαρκώς, μπορείτε να πειραματιστείτε με πιο σύνθετες μετρήσεις, προσέχετε όμως τις επιδόσεις για κάθε μία. Παρόλο που η συνάρτηση DAX CALCULATE μπορεί να χρησιμοποιηθεί για την παραγωγή προηγμένων παραστάσεων μετρήσεων που χειρίζονται περιβάλλον φίλτρου, μπορεί να δημιουργήσει εκτιμημένα εγγενή ερωτήματα που δεν αποδίδουν καλά.
Αποφύγετε τις σχέσεις σε υπολογιζόμενες στήλες: Οι σχέσεις μοντέλων μπορούν να σχετίζονται μόνο με μια μοναδική στήλη σε έναν πίνακα σε μια μοναδική στήλη σε έναν διαφορετικό πίνακα. Ορισμένες φορές, ωστόσο, είναι απαραίτητο να συσχετίσετε πίνακες χρησιμοποιώντας πολλές στήλες. Για παράδειγμα, οι πίνακες Πωλήσεις και Γεωγραφία σχετίζονται με δύο στήλες: Χώρα/Περιοχή και Πόλη. Για να δημιουργήσετε μια σχέση μεταξύ των πινάκων, απαιτείται μία μόνο στήλη και στον πίνακα Γεωγραφία , η στήλη πρέπει να περιέχει μοναδικές τιμές. Η συνένωση της χώρας/περιοχής και πόλης με ένα διαχωριστικό ενωτικού μπορεί να επιτύχει αυτό το αποτέλεσμα.
Η συνδυασμένη στήλη μπορεί να δημιουργηθεί είτε με μια προσαρμοσμένη στήλη Power Query, είτε στο μοντέλο ως υπολογιζόμενη στήλη. Ωστόσο, θα πρέπει να αποφεύγεται καθώς η παράσταση υπολογισμού θα ενσωματωθεί στα ερωτήματα προέλευσης. Όχι μόνο δεν είναι αποδοτικό, αλλά συχνά αποτρέπει τη χρήση ευρετηρίων. Αντί για αυτό, προσθέστε υλοποιημένες στήλες στην προέλευση σχεσιακής βάσης δεδομένων και εξετάστε το ενδεχόμενο δημιουργίας ευρετηρίου για αυτές. Μπορείτε επίσης να εξετάσετε την προσθήκη στηλών υποκατάστατων κλειδιών σε πίνακες διαστάσεων, το οποίο είναι μια κοινή πρακτική στη σχεδίαση σχεσιακών αποθηκών δεδομένων.
Υπάρχει μία εξαίρεση σε αυτές τις οδηγίες και αφορά τη χρήση της συνάρτησης COMBINEVALUES DAX. Ο σκοπός αυτής της συνάρτησης είναι η υποστήριξη σχέσεων μοντέλων πολλών στηλών. Αντί να δημιουργήσει μια παράσταση που χρησιμοποιεί η σχέση, δημιουργεί ένα κατηγόρημα συνδέσμου SQL πολλών στηλών.
Αποφύγετε τις σχέσεις σε στήλες "Μοναδικό αναγνωριστικό": Το Power BI δεν υποστηρίζει εγγενώς τον τύπο δεδομένων μοναδικού αναγνωριστικού (GUID). Όταν ορίζετε μια σχέση μεταξύ στηλών αυτού του τύπου, το Power BI δημιουργεί ένα ερώτημα προέλευσης με έναν σύνδεσμο που περιλαμβάνει μια αναγκαστική μετατροπή. Αυτή η μετατροπή δεδομένων ερωτήματος-χρόνου έχει συνήθως ως αποτέλεσμα κακές επιδόσεις. Μέχρι να βελτιστοποιηθεί αυτή η περίπτωση, η μόνη λύση είναι να υλοποιήσετε στήλες εναλλακτικού τύπου δεδομένων στην υποκείμενη βάση δεδομένων.
Απόκρυψη της στήλης μίας πλευράς των σχέσεων: Η στήλη μίας πλευράς μιας σχέσης θα πρέπει να είναι κρυφή. (Συνήθως είναι η στήλη πρωτεύοντος κλειδιού πινάκων διαστάσεων.) Όταν είναι κρυφό, δεν είναι διαθέσιμο στο τμήμα παραθύρου Πεδία και επομένως δεν μπορεί να χρησιμοποιηθεί για τη ρύθμιση μιας απεικόνισης. Η στήλη πολλών πλευρών μπορεί να παραμείνει ορατή εάν είναι χρήσιμη για την ομαδοποίηση ή το φιλτράρισμα αναφορών κατά τιμές στήλης. Για παράδειγμα, εξετάστε ένα μοντέλο όπου υπάρχει μια σχέση μεταξύ των πινάκων Πωλήσεις και Προϊόν . Οι στήλες σχέσεων περιέχουν τιμές SKU προϊόντος (μονάδα φύλαξης στοκ). Εάν η SKU προϊόντος πρέπει να προστεθεί σε απεικονίσεις, θα πρέπει να είναι ορατή μόνο στον πίνακα Πωλήσεις . Όταν χρησιμοποιείται αυτή η στήλη για φιλτράρισμα ή ομαδοποίηση σε μια απεικόνιση, το Power BI δημιουργεί ένα ερώτημα που δεν χρειάζεται να ενώσει τους πίνακες Πωλήσεις και Προϊόν .
Ορισμός σχέσεων για επιβολή ακεραιότητας: Η ιδιότητα Υιοθέτηση ακεραιότητας αναφορών των σχέσεων DirectQuery καθορίζει εάν το Power BI δημιουργεί ερωτήματα προέλευσης χρησιμοποιώντας έναν εσωτερικό σύνδεσμο αντί για εξωτερικό σύνδεσμο. Βελτιώνει γενικά τις επιδόσεις ερωτημάτων, παρόλο που εξαρτάται από τις λεπτομέρειες της προέλευσης σχεσιακής βάσης δεδομένων. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ρυθμίσεις υιοθέτησης ακεραιότητας αναφορών στο Power BI Desktop.
Αποφύγετε τη χρήση φιλτραρίσματος σχέσεων διπλής κατεύθυνσης: Η χρήση φιλτραρίσματος σχέσεων αμφίδρομης κατεύθυνσης μπορεί να οδηγήσει σε προτάσεις ερωτήματος που δεν λειτουργούν σωστά. Χρησιμοποιήστε αυτήν τη δυνατότητα σχέσης μόνο όταν είναι απαραίτητο και συνήθως είναι η περίπτωση κατά την υλοποίηση μιας σχέσης πολλά-προς-πολλά σε έναν πίνακα γεφύρωσης. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Σχέσεις με πληθικότητα πολλά προς πολλά στο Power BI Desktop.
Περιορισμός παράλληλων ερωτημάτων: Μπορείτε να ορίσετε τον μέγιστο αριθμό συνδέσεων που ανοίγει το DirectQuery για κάθε υποκείμενη προέλευση δεδομένων. Ελέγχει τον αριθμό ερωτημάτων που αποστέλλονται ταυτόχρονα στην προέλευση δεδομένων.
- Η ρύθμιση ενεργοποιείται μόνο όταν υπάρχει τουλάχιστον μία προέλευση DirectQuery στο μοντέλο. Η τιμή ισχύει για όλες τις προελεύσεις του DirectQuery και για τυχόν νέες προελεύσεις DirectQuery που προστίθενται στο μοντέλο.
- Η αύξηση της τιμής των Μέγιστων συνδέσεων ανά προέλευση δεδομένων εξασφαλίζει ότι περισσότερα ερωτήματα (έως τον μέγιστο αριθμό που καθορίζεται) μπορούν να σταλούν στην υποκείμενη προέλευση δεδομένων, το οποίο είναι χρήσιμο όταν υπάρχουν πολλές απεικονίσεις σε μία σελίδα ή πολλοί χρήστες έχουν πρόσβαση σε μια αναφορά ταυτόχρονα. Όταν επιτευχθεί ο μέγιστος αριθμός συνδέσεων, περαιτέρω ερωτήματα τοποθετούνται σε ουρά μέχρι να γίνει διαθέσιμη μια σύνδεση. Η αύξηση αυτού του ορίου έχει ως αποτέλεσμα μεγαλύτερο φόρτο στην υποκείμενη προέλευση δεδομένων, επομένως η ρύθμιση δεν εγγυάται τη βελτίωση της συνολικής απόδοσης.
- Όταν το μοντέλο δημοσιεύεται στο Power BI, ο μέγιστος αριθμός ταυτόχρονων ερωτημάτων που αποστέλλονται στην υποκείμενη προέλευση δεδομένων εξαρτάται επίσης από το περιβάλλον. Διαφορετικά περιβάλλοντα (όπως το Power BI, Power BI Premium ή Power BI Report Server) μπορούν να επιβάλουν το καθένα διαφορετικούς περιορισμούς ταχύτητας. Για περισσότερες πληροφορίες σχετικά με τους περιορισμούς εκχωρημένων πόρων, ανατρέξτε στα θέματα Άδειες χρήσης εκχωρημένων πόρων Microsoft Fabric και Ρύθμιση παραμέτρων και διαχείριση εκχωρημένων πόρων στο Power BI Premium.
Σημαντικό
Κατά καιρούς αυτό το άρθρο αναφέρεται στο Power BI Premium ή στις συνδρομές εκχωρημένων πόρων του (P SKU). Να γνωρίζετε ότι η Microsoft ενοποιεί επί του παρόντος επιλογές αγοράς και αποσύρει το Power BI Premium ανά SKU εκχωρημένων πόρων. Οι νέοι και υπάρχοντες πελάτες θα πρέπει να εξετάσουν το ενδεχόμενο αγοράς συνδρομών εκχωρημένων πόρων Fabric (F SKU).
Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Σημαντικές ενημερώσεις που αφορούν την παραχώρηση αδειών χρήσης Power BI Premium και συνήθεις ερωτήσεις για το Power BI Premium.
Βελτιστοποίηση σχεδίασης αναφορών
Οι αναφορές που βασίζονται σε ένα σημασιολογικό μοντέλο DirectQuery μπορούν να βελτιστοποιηθούν με πολλούς τρόπους, όπως περιγράφεται στην παρακάτω λίστα με κουκκίδες.
- Ενεργοποίηση τεχνικών μείωσης ερωτημάτων: Το Power BI Desktop Επιλογές και ρυθμίσεις περιλαμβάνει μια σελίδα "Μείωση ερωτημάτων". Αυτή η σελίδα έχει τρεις χρήσιμες επιλογές. Είναι δυνατή η απενεργοποίηση διασταυρούμενης επισήμανσης και φιλτραρίσματος από προεπιλογή, αν και μπορεί να παρακαμπθεί με την επεξεργασία αλληλεπιδράσεων. Μπορείτε επίσης να εμφανίσετε ένα κουμπί Εφαρμογή σε αναλυτές και φίλτρα. Οι επιλογές αναλυτή ή φίλτρου δεν θα εφαρμοστούν μέχρι ο χρήστης αναφοράς να κάνει κλικ στο κουμπί. Εάν ενεργοποιήσετε αυτές τις επιλογές, συνιστούμε να το κάνετε κατά τη δημιουργία της αναφοράς για πρώτη φορά.
- Εφαρμογή φίλτρων πρώτα: Κατά την πρώτη σχεδίαση αναφορών, προτείνουμε να εφαρμόσετε τυχόν ισχύοντα φίλτρα, σε επίπεδο αναφοράς, σελίδας ή απεικόνισης, προτού αντιστοιχίζετε πεδία στα πεδία απεικόνισης. Για παράδειγμα, αντί να σύρετε τις μετρήσεις Χώρα/Περιοχή και Πωλήσεις και, στη συνέχεια, να φιλτράρετε κατά ένα συγκεκριμένο έτος, εφαρμόστε το φίλτρο πρώτα στο πεδίο Έτος . Ο λόγος είναι επειδή κάθε βήμα της δημιουργίας μιας απεικόνισης θα στείλει ένα ερώτημα και ενώ είναι δυνατό να κάνετε στη συνέχεια μια άλλη αλλαγή προτού ολοκληρωθεί το πρώτο ερώτημα, εξακολουθεί να θέτει περιττό φόρτο στην υποκείμενη προέλευση δεδομένων. Με την εφαρμογή των φίλτρων στην αρχή, γενικά μειώνεται το κόστος και η ταχύτητα αυτών των ενδιάμεσων ερωτημάτων. Επίσης, η αποτυχία πρώιμης εφαρμογής φίλτρων μπορεί να οδηγήσει σε υπέρβαση του ορίου του 1 εκατομμυρίου γραμμών, όπως περιγράφεται στο θέμα Πληροφορίες για το DirectQuery.
- Περιορίστε τον αριθμό των απεικονίσεων σε μια σελίδα: Όταν ανοίγει μια σελίδα αναφοράς (και όταν εφαρμόζονται φίλτρα σελίδας), ανανεώνονται όλες οι απεικονίσεις σε μια σελίδα. Ωστόσο, υπάρχει ένα όριο στον αριθμό ερωτημάτων που μπορούν να σταλούν παράλληλα, που επιβάλλεται από το περιβάλλον του Power BI και τη ρύθμιση μοντέλου Μέγιστες συνδέσεις ανά προέλευση δεδομένων, όπως περιγράφεται παραπάνω. Επομένως, καθώς αυξάνεται ο αριθμός των απεικονίσεων σελίδας, υπάρχει μεγαλύτερη πιθανότητα να ανανεωθούν σειριακά. Αυξάνει τον χρόνο που απαιτείται για ανανέωση ολόκληρης της σελίδας και αυξάνει επίσης την πιθανότητα οι απεικονίσεις να εμφανίζουν μη συνεπή αποτελέσματα (για ασταθείς προελεύσεις δεδομένων). Για αυτούς τους λόγους, συνιστάται να περιορίζετε τον αριθμό των απεικονίσεων σε οποιαδήποτε σελίδα και να έχετε πιο απλές σελίδες. Η αντικατάσταση πολλών απεικονίσεων κάρτας με μια μοναδική απεικόνιση κάρτας πολλών γραμμών μπορεί να επιτύχει μια παρόμοια διάταξη σελίδας.
- Απενεργοποίηση αλληλεπίδρασης μεταξύ απεικονίσεων: Οι αλληλεπιδράσεις διασταυρούμενης επισήμανσης και φιλτραρίσματος απαιτούν υποβολή των ερωτημάτων στην υποκείμενη προέλευση. Εκτός εάν αυτές οι αλληλεπιδράσεις είναι απαραίτητες, συνιστάται να απενεργοποιηθούν εάν ο χρόνος που απαιτείται για την απόκριση στις επιλογές των χρηστών είναι αδικαιολόγητα μεγάλος. Αυτές οι αλληλεπιδράσεις μπορούν να απενεργοποιηθούν, είτε για ολόκληρη την αναφορά (όπως περιγράφεται παραπάνω για επιλογές μείωσης ερωτημάτων) είτε κατά περίπτωση. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Πώς οι απεικονίσεις φιλτράρονται με διασταύρωση μεταξύ τους σε μια αναφορά Power BI.
Εκτός από την παραπάνω λίστα τεχνικών βελτιστοποίησης, καθεμία από τις παρακάτω δυνατότητες αναφοράς μπορεί να συμβάλει σε προβλήματα επιδόσεων:
Φίλτρα μετρήσεων: Οι απεικονίσεις που περιέχουν μετρήσεις (ή συγκεντρωτικές τιμές στηλών) μπορούν να έχουν εφαρμοσμένα φίλτρα σε αυτές τις μετρήσεις. Για παράδειγμα, η παρακάτω απεικόνιση εμφανίζει τις Πωλήσεις κατά Κατηγορία, αλλά μόνο για κατηγορίες με περισσότερα από $15 εκατομμύρια πωλήσεων.
Μπορεί να έχει ως αποτέλεσμα να σταλούν δύο ερωτήματα στην υποκείμενη προέλευση:
- Το πρώτο ερώτημα θα ανακτήσει τις κατηγορίες που πληρούν τη συνθήκη (Πωλήσεις > 15 εκατομμύρια δολάρια)
- Στη συνέχεια, το δεύτερο ερώτημα θα ανακτήσει τα απαραίτητα δεδομένα για την απεικόνιση, προσθέτοντας τις κατηγορίες που πληρούσαν τη συνθήκη στον όρο WHERE
Γενικά λειτουργεί καλά εάν υπάρχουν εκατοντάδες ή χιλιάδες κατηγορίες, όπως σε αυτό το παράδειγμα. Οι επιδόσεις μπορεί, ωστόσο, να υποβαθμιστούν εάν ο αριθμός των κατηγοριών είναι πολύ μεγαλύτερος (πράγματι, το ερώτημα θα αποτύχει εάν υπάρχουν περισσότερες από 1 εκατομμύριο κατηγορίες που πληρούν τη συνθήκη, λόγω του ορίου 1 εκατομμυρίου γραμμών που αναφέρθηκε παραπάνω).
Φίλτρα κορυφαίων N: Τα φίλτρα για προχωρημένους μπορούν να οριστούν για φιλτράρισμα μόνο των κορυφαίων (ή τελευταίων) N τιμών, ταξινομημένων κατά μέτρηση. Για παράδειγμα, για να εμφανίσετε μόνο τις πέντε κορυφαίες κατηγορίες στην παραπάνω απεικόνιση. Όπως με τα φίλτρα μέτρησης, θα οδηγήσει επίσης σε δύο ερωτήματα που θα σταλούν στην υποκείμενη προέλευση δεδομένων. Ωστόσο, το πρώτο ερώτημα θα επιστρέψει όλες τις κατηγορίες από την υποκείμενη προέλευση και, στη συνέχεια, οι κορυφαίες N καθορίζονται με βάση τα αποτελέσματα που επιστρέφονται. Ανάλογα με την πληθικότητα της στήλης που εμπλέκεται, αυτό μπορεί να οδηγήσει σε ζητήματα επιδόσεων (ή αποτυχίες ερωτημάτων λόγω του ορίου του 1 εκατομμυρίου γραμμών).
Διάμεσος: Γενικά, κάθε συνάθροιση (Sum, Count Distinct κ.λπ.) προωθείται στην υποκείμενη προέλευση. Ωστόσο, δεν είναι αληθές για διάμεσο, καθώς αυτή η συνάθροιση δεν υποστηρίζεται από την υποκείμενη προέλευση. Σε αυτές τις περιπτώσεις, ανακτώνται λεπτομερή δεδομένα από την υποκείμενη προέλευση και το Power BI αξιολογεί τη διάμεσο από τα αποτελέσματα που επιστρέφονται. Είναι μια χαρά όταν η διάμεσος υπολογίζεται από έναν σχετικά μικρό αριθμό αποτελεσμάτων, ωστόσο θα προκύψουν ζητήματα επιδόσεων (ή αποτυχίες ερωτημάτων λόγω του ορίου 1 εκατομμυρίου γραμμών) εάν η πληθικότητα είναι μεγάλη. Για παράδειγμα, ο διάμεσος πληθυσμός χώρας/περιοχής μπορεί να είναι εύλογος, αλλά η μέση τιμή πώλησης μπορεί να μην είναι.
Αναλυτές πολλαπλής επιλογής: Η δυνατότητα πολλαπλής επιλογής σε αναλυτές και φίλτρα μπορεί να προκαλέσει προβλήματα επιδόσεων. Αυτό συμβαίνει επειδή καθώς ο χρήστης επιλέγει πρόσθετα στοιχεία αναλυτή (για παράδειγμα, δημιουργώντας τα 10 προϊόντα που τον ενδιαφέρουν), κάθε νέα επιλογή έχει ως αποτέλεσμα την αποστολή ενός νέου ερωτήματος στην υποκείμενη προέλευση. Παρόλο που ο χρήστης μπορεί να επιλέξει το επόμενο στοιχείο πριν από την ολοκλήρωση του ερωτήματος, έχει ως αποτέλεσμα επιπλέον φόρτο στην υποκείμενη προέλευση. Αυτή η κατάσταση μπορεί να αποφευχθεί εμφανίζοντας το κουμπί Εφαρμογή, όπως περιγράφεται παραπάνω στις τεχνικές μείωσης ερωτημάτων.
Οπτικά σύνολα: Από προεπιλογή, οι πίνακες και οι μήτρες εμφανίζουν σύνολα και μερικά αθροίσματα. Σε πολλές περιπτώσεις, επιπλέον ερωτήματα πρέπει να σταλούν στην υποκείμενη προέλευση για να ληφθούν οι τιμές για τα σύνολα. Ισχύει όποτε χρησιμοποιείτε συγκεντρώσεις διακριτού πλήθους ή ενδιάμεσες, και σε όλες τις περιπτώσεις όταν χρησιμοποιείτε το DirectQuery σε SAP HANA ή SAP Business Warehouse. Αυτά τα σύνολα θα πρέπει να απενεργοποιούνται (χρησιμοποιώντας το τμήμα παραθύρου Μορφοποίηση) εάν δεν είναι απαραίτητο.
Μετατροπή σε σύνθετο μοντέλο
Τα πλεονεκτήματα των μοντέλων Εισαγωγή και DirectQuery μπορούν να συνδυαστούν σε ένα ενιαίο μοντέλο ρυθμίζοντας τη λειτουργία αποθήκευσης των πινάκων μοντέλων. Η λειτουργία αποθήκευσης πινάκων μπορεί να είναι Εισαγωγή ή DirectQuery, ή και τα δύο, γνωστό ως Διπλή. Όταν ένα μοντέλο περιέχει πίνακες με διαφορετικές λειτουργίες αποθήκευσης, είναι γνωστό ως Σύνθετο μοντέλο. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Χρήση σύνθετων μοντέλων στο Power BI Desktop.
Υπάρχουν πολλές λειτουργικές βελτιώσεις και βελτιώσεις επιδόσεων που μπορούν να επιτευχθούν μετατρέποντας ένα μοντέλο DirectQuery σε ένα Σύνθετο μοντέλο. Ένα σύνθετο μοντέλο μπορεί να ενσωματώσει περισσότερες από μία προελεύσεις DirectQuery και μπορεί επίσης να περιλαμβάνει συναθροίσεις. Οι πίνακες συνάθροισης μπορούν να προστεθούν σε πίνακες DirectQuery για την εισαγωγή μιας συνοπτικής αναπαράστασης του πίνακα. Μπορούν να επιτύχουν εντυπωσιακές βελτιώσεις επιδόσεων όταν οι απεικονίσεις υποβάλλουν ερωτήματα για συγκεντρώσεις υψηλότερου επιπέδου. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Συναθροίσεις στο Power BI Desktop.
Εκπαίδευση χρηστών
Είναι σημαντικό να εκπαιδεύσετε τους χρήστες σας στον τρόπο αποτελεσματικής εργασίας με αναφορές που βασίζονται σε σημασιολογικά μοντέλα DirectQuery. Οι συντάκτες αναφορών σας θα πρέπει να εκπαιδευτούν στο περιεχόμενο που περιγράφεται στην ενότητα Βελτιστοποίηση σχεδίασης αναφορών .
Συνιστούμε να εκπαιδεύσετε τους καταναλωτές αναφορών σας σχετικά με τις αναφορές σας που βασίζονται σε σημασιολογικά μοντέλα DirectQuery. Μπορεί να τους βοηθήσει να κατανοήσουν τη γενική αρχιτεκτονική δεδομένων, συμπεριλαμβανομένων τυχόν σχετικών περιορισμών που περιγράφονται σε αυτό το άρθρο. Ενημερώστε τους ότι οι αποκρίσεις ανανέωσης και αλληλεπιδραστικό φιλτράρισμα μπορεί να αργούν κατά περιόδους. Όταν οι χρήστες αναφοράς κατανοούν γιατί συμβαίνει υποβάθμιση επιδόσεων, είναι λιγότερο πιθανό να χάσουν την εμπιστοσύνη τους στις αναφορές και τα δεδομένα.
Κατά την παράδοση αναφορών σε ασταθείς προελεύσεις δεδομένων, φροντίστε να εκπαιδεύσετε τους χρήστες αναφορών στη χρήση του κουμπιού Ανανέωση. Ενημερώστε τους επίσης ότι μπορεί να είναι δυνατό να βλέπουν ασυνέπειες στα αποτελέσματα και ότι μια ανανέωση της αναφοράς μπορεί να επιλύσει οποιεσδήποτε ασυνέπειες στη σελίδα αναφοράς.
Σχετικό περιεχόμενο
Για περισσότερες πληροφορίες σχετικά με το DirectQuery, ανατρέξτε στους παρακάτω πόρους: