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


Αντιμετώπιση προβλημάτων μοντέλων DirectQuery στο Power BI Desktop

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

Θα πρέπει να ξεκινήσετε οποιαδήποτε διάγνωση προβλημάτων επιδόσεων στο Power BI Desktop, αντί στον Υπηρεσία Power BI ή στο Power BI Report Server. Τα προβλήματα επιδόσεων συχνά εξαρτώνται από το επίπεδο επιδόσεων της υποκείμενης προέλευσης δεδομένων. Μπορείτε να εντοπίσετε και διαγνώσετε πιο εύκολα αυτά τα προβλήματα στο απομονωμένο περιβάλλον του Power BI Desktop, χωρίς να συμπεριλάβετε στοιχεία όπως μια πύλη εσωτερικής εγκατάστασης.

Εάν δεν εντοπίσετε προβλήματα επιδόσεων στο Power BI Desktop, μπορείτε να εστιάσετε την έρευνά σας στις λεπτομέρειες της αναφοράς στον Υπηρεσία Power BI.

Θα πρέπει επίσης να προσπαθήσετε να απομονώσετε ζητήματα σε μια μεμονωμένη απεικόνιση προτού εξετάσετε πολλές απεικονίσεις σε μια σελίδα.

Ανάλυση απόδοσης

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

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

Ακόμη και χωρίς ανιχνεύσεις από την προέλευση, μπορείτε να προβάλετε τα ερωτήματα που έστειλε το Power BI, μαζί με τους χρόνους εκτέλεσης.

Σημείωμα

Για προελεύσεις που βασίζονται σε SQL DirectQuery, Ανάλυση απόδοσης εμφανίζει ερωτήματα μόνο για προελεύσεις δεδομένων SQL Server, Oracle και Teradata.

Αρχείο ανίχνευσης

Από προεπιλογή, το Power BI Desktop καταγράφει συμβάντα κατά τη διάρκεια μιας δεδομένης περιόδου λειτουργίας σε ένα αρχείο ανίχνευσης που ονομάζεται FlightRecorderCurrent.trc. Μπορείτε να βρείτε το αρχείο ανίχνευσης για την τρέχουσα περίοδο λειτουργίας στον φάκελο AppData για τον τρέχοντα χρήστη, στη διαδρομή <User>\AppData\Local\Microsoft\Power BI Desktop\AnalysisServicesWorkspaces.

Οι παρακάτω προελεύσεις δεδομένων DirectQuery γράφουν όλα τα ερωτήματα που τους στέλνει το Power BI στο αρχείο ανίχνευσης. Το αρχείο καταγραφής ενδέχεται να υποστηρίζει άλλες προελεύσεις Του DirectQuery στο μέλλον.

  • SQL Server
  • Βάση δεδομένων SQL Azure
  • Azure Synapse Analytics (πρώην Αποθήκη δεδομένων SQL)
  • Oracle
  • Teradata
  • SAP HANA

Για να μεταβείτε εύκολα στον φάκελο αρχείων ανίχνευσης στο Power BI Desktop, επιλέξτε Αρχείο>Επιλογές και ρυθμίσεις>Επιλογές και, στη συνέχεια, επιλέξτε Διαγνωστικός έλεγχος.

Screenshot of the Diagnostics section of the Power BI Desktop Options screen with the link to open the crash dump/traces folder.

Στην περιοχή Συλλογή ένδειξης σφαλμάτων, επιλέξτε τη σύνδεση Άνοιγμα φακέλου ένδειξης σφαλμάτων/ιχνών για να ανοίξετε τον <φάκελο User>\AppData\Local\Microsoft\Power BI Desktop\Traces.

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

Κάθε φάκελος AnalysisServicesWorkspace περιλαμβάνει έναν υποφάκελο Data που περιέχει το αρχείο ανίχνευσης FlightRecorderCurrent.trc για την τρέχουσα περίοδο λειτουργίας του Power BI. Αυτός ο φάκελος εξαφανίζεται όταν λήξει η συσχετισμένη περίοδος λειτουργίας του Power BI Desktop.

Μπορείτε να ανοίξετε τα αρχεία ανίχνευσης χρησιμοποιώντας το εργαλείο SQL Server Profiler, το οποίο μπορείτε να λάβετε ως μέρος της δωρεάν λήψης του SQL Server Management Studio (SSMS). Αφού κάνετε λήψη και εγκατάσταση του SQL Server Management Studio, ανοίξτε το SQL Server Profiler.

Screenshot of SQL Server Profiler window with no highlighted traces.

Για να ανοίξετε ένα αρχείο ανίχνευσης:

  1. Στο SQL Server Profiler, επιλέξτε Αρχείο Άνοιγμα>αρχείου>ανίχνευσης.

  2. Μεταβείτε ή εισαγάγετε τη διαδρομή προς το αρχείο ανίχνευσης για την τρέχουσα περίοδο λειτουργίας του Power BI, όπως <User>\AppData\Local\Microsoft\Power BI Desktop\AnalysisServicesWorkspaces\AnalysisServicesWorkspace2058279583\Data και ανοίξτε το FlightRecorderCurrent.trc.

Το SQL Server Profiler εμφανίζει όλα τα συμβάντα από την τρέχουσα περίοδο λειτουργίας. Το παρακάτω στιγμιότυπο οθόνης επισημαίνει μια ομάδα συμβάντων για ένα ερώτημα. Κάθε ομάδα ερωτημάτων έχει τα εξής συμβάντα:

  • Ένα Query Begin συμβάν καιQuery End, που αντιπροσωπεύει την έναρξη και τη λήξη ενός ερωτήματος DAX που δημιουργείται με την αλλαγή μιας απεικόνισης ή φίλτρου στο περιβάλλον εργασίας χρήστη του Power BI ή από το φιλτράρισμα ή τον μετασχηματισμό δεδομένων στον πρόγραμμα επεξεργασίας Power Query.

  • Ένα ή περισσότερα ζεύγη συμβάντων DirectQuery Begin και DirectQuery End , τα οποία αντιπροσωπεύουν ερωτήματα που έχουν σταλεί στην υποκείμενη προέλευση δεδομένων ως μέρος της αξιολόγησης του ερωτήματος DAX.

Screenshot of SQL Server Profiler with highlighted Query Begin and Query End events.

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

Ενδιαφέρουν επίσης οι ακόλουθες στήλες:

  • TextData: Οι λεπτομέρειες κειμένου του συμβάντος. Για Query Begin συμβάντα και Query End , η λεπτομέρεια είναι το ερώτημα DAX. Για DirectQuery Begin συμβάντα και DirectQuery End , η λεπτομέρεια είναι το ερώτημα SQL που αποστέλλεται στην υποκείμενη προέλευση. Η τιμή TextData για το επιλεγμένο συμβάν εμφανίζεται επίσης στο τμήμα παραθύρου στο κάτω μέρος της οθόνης.
  • EndTime: Πότε ολοκληρώθηκε το συμβάν.
  • Διάρκεια: Η διάρκεια, σε χιλιοστά του δευτερολέπτου, χρειάστηκε για την εκτέλεση του ερωτήματος DAX ή SQL.
  • Σφάλμα: Εάν παρουσιάστηκε σφάλμα, σε αυτή την περίπτωση το συμβάν εμφανίζεται με κόκκινο χρώμα.

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

Ακολουθήστε αυτήν την προσέγγιση για να καταγράψετε μια ανίχνευση που θα σας βοηθήσει στη διάγνωση ενός πιθανού ζητήματος επιδόσεων:

  1. Ανοίξτε μία περίοδο λειτουργίας του Power BI Desktop, για να αποφύγετε τη σύγχυση των πολλαπλών φακέλων χώρου εργασίας.

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

  3. Ανοίξτε το SQL Server Profiler και εξετάστε την ανίχνευση. Να θυμάστε ότι το κλείσιμο του Power BI Desktop διαγράφει το αρχείο ανίχνευσης. Επίσης, περαιτέρω ενέργειες στο Power BI Desktop δεν εμφανίζονται αμέσως. Πρέπει να κλείσετε και να ανοίξετε ξανά το αρχείο ανίχνευσης για να δείτε νέα συμβάντα.

Διατηρήστε μεμονωμένες περιόδους λειτουργίας σχετικά μικρές, ίσως ενέργειες των 10 δευτερολέπτων, όχι εκατοντάδων. Αυτή η προσέγγιση διευκολύνει την ερμηνεία του αρχείου ανίχνευσης. Υπάρχει επίσης ένα όριο στο μέγεθος του αρχείου ανίχνευσης, επομένως, για μεγάλες περιόδους λειτουργίας υπάρχει πιθανότητα μείωσης των πρόωρων συμβάντων.

Μορφή ερωτήματος και δευτερεύοντα ερωτήματος

Η γενική μορφή των ερωτημάτων Power BI Desktop είναι η χρήση δευτερευουσών ερωτημάτων για κάθε πίνακα μοντέλου στον οποίο αναφέρονται τα ερωτήματα. Το ερώτημα πρόγραμμα επεξεργασίας Power Query ορίζει τα ερωτήματα δευτερεύουσας επιλογής. Για παράδειγμα, ας υποθέσουμε ότι έχετε τους ακόλουθους πίνακες TPC-DS σε μια σχεσιακή βάση δεδομένων SQL Server:

Screenshot of a Power BI Desktop model view diagram that shows the related Item, Web_Sales, Customer and Date-dim TPC-DS tables.

Στην απεικόνιση Power BI, η ακόλουθη παράσταση ορίζει τη SalesAmount μέτρηση:


SalesAmount = SUMX(Web_Sales, [ws_sales_price] * [ws_quantity])

Screenshot of a Power BI Desktop stacked column chart that displays sales amount by category.

Η ανανέωση της απεικόνισης παράγει το ερώτημα T-SQL στην παρακάτω εικόνα. Υπάρχουν τρία δευτερεύοντα ερωτήματα για τους Web_Salesπίνακες , Itemκαι Date_dim μοντέλου. Κάθε ερώτημα επιστρέφει όλες τις στήλες του πίνακα μοντέλου, παρόλο που η απεικόνιση αναφέρεται μόνο σε τέσσερις στήλες.

Αυτά τα σκιαστά δευτερεύοντα ερωτήματα είναι ο ακριβής ορισμός των ερωτημάτων Power Query. Αυτή η χρήση δευτερευουσών ερωτημάτων δεν επηρεάζει τις επιδόσεις για τις προελεύσεις δεδομένων που υποστηρίζει το DirectQuery. Οι προελεύσεις δεδομένων όπως ο SQL Server καταργούν τις αναφορές στις άλλες στήλες.

Ένας λόγος που το Power BI χρησιμοποιεί αυτό το μοτίβο είναι για να μπορείτε να ορίσετε ένα ερώτημα Power Query για χρήση μιας συγκεκριμένης πρότασης ερωτήματος. Το Power BI χρησιμοποιεί το ερώτημα όπως παρέχεται, χωρίς προσπάθεια αναδιατύπωσής του. Αυτό το μοτίβο περιορίζει τη χρήση πρότασης ερωτήματος που χρησιμοποιούν Κοινές παραστάσεις πίνακα (CTT) και αποθηκευμένες διαδικασίες. Δεν μπορείτε να χρησιμοποιήσετε αυτές τις προτάσεις σε δευτερεύοντα ερωτήματα.

Screenshot of a T-SQL query that shows embedded subqueries, one for each model table.

Επιδόσεις πύλης

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

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

Ερωτήσεις; Δοκιμάστε να ρωτήσετε τον Κοινότητα Power BI