DirectQuery στο Power BI
Στο Power BI Desktop ή την υπηρεσία Power BI, μπορείτε να συνδεθείτε σε πολλές διαφορετικές προελεύσεις δεδομένων με διαφορετικούς τρόπους. Μπορείτε να εισαγάγετε δεδομένα στο Power BI, που είναι ο πιο συνηθισμένος τρόπος λήψης δεδομένων. Μπορείτε επίσης να συνδεθείτε απευθείας σε ορισμένα δεδομένα στο αρχικό αποθετήριο προέλευσής τους, το οποίο ονομάζεται DirectQuery. Αυτό το άρθρο ασχολείται κυρίως με τις δυνατότητες του DirectQuery.
Αυτό το άρθρο περιγράφει τα εξής:
- Οι διάφορες επιλογές συνδεσιμότητας δεδομένων Power BI.
- Οδηγίες σχετικά με το πότε πρέπει να χρησιμοποιείτε το DirectQuery αντί για την εισαγωγή.
- Περιορισμοί και συνέπειες της χρήσης του DirectQuery.
- Προτάσεις για την επιτυχή χρήση του DirectQuery.
- Πώς μπορείτε να διαγνώσετε προβλήματα απόδοσης του DirectQuery.
Το άρθρο εστιάζει στη ροή εργασιών DirectQuery όταν δημιουργείτε μια αναφορά στο Power BI Desktop, αλλά καλύπτει επίσης τη σύνδεση μέσω του DirectQuery στην υπηρεσία Power BI.
Σημείωμα
Το DirectQuery είναι επίσης μια δυνατότητα των Υπηρεσιών ανάλυσης του SQL Server. Αυτή η δυνατότητα κοινοποιεί πολλές λεπτομέρειες με το DirectQuery στο Power BI, αλλά υπάρχουν επίσης σημαντικές διαφορές. Αυτό το άρθρο καλύπτει κυρίως το DirectQuery με το Power BI, όχι τις Υπηρεσίες ανάλυσης του SQL Server.
Για περισσότερες πληροφορίες σχετικά με τη χρήση του DirectQuery με τις Υπηρεσίες ανάλυσης του SQL Server, ανατρέξτε στο θέμα Χρήση σύνθετων μοντέλων στο Power BI Desktop). Μπορείτε επίσης να κάνετε λήψη του PDF DirectQuery στις Υπηρεσίες ανάλυσης του SQL Server 2016.
Λειτουργίες συνδεσιμότητας δεδομένων Power BI
Το Power BI συνδέεται σε έναν μεγάλο αριθμό ποικίλων προελεύσεων δεδομένων, όπως:
- Ηλεκτρονικές υπηρεσίες όπως το Salesforce και το Dynamics 365.
- Βάσεις δεδομένων όπως τα SQL Server, Access και Amazon Redshift.
- Απλά αρχεία σε Excel, JSON και άλλες μορφές.
- Άλλες προελεύσεις δεδομένων όπως spark, τοποθεσίες Web και Microsoft Exchange.
Μπορείτε να εισαγάγετε δεδομένα από αυτές τις προελεύσεις στο Power BI. Για ορισμένες προελεύσεις, μπορείτε επίσης να συνδεθείτε χρησιμοποιώντας το DirectQuery. Για μια σύνοψη των προελεύσεων που υποστηρίζουν το DirectQuery, ανατρέξτε στο θέμα Προελεύσεις δεδομένων Power BI. Οι προελεύσεις με δυνατότητα DirectQuery είναι κυρίως προελεύσεις που μπορούν να παρέχουν καλές επιδόσεις αλληλεπιδραστικών ερωτημάτων.
Θα πρέπει να εισαγάγετε δεδομένα στο Power BI όποτε είναι δυνατό. Η εισαγωγή εκμεταλλεύεται τη μηχανή ερωτημάτων υψηλών επιδόσεων του Power BI και παρέχει μια ιδιαίτερα αλληλεπιδραστική, πλήρως επιλεγμένη εμπειρία.
Εάν δεν μπορείτε να ικανοποιήσετε τους στόχους σας εισάγοντας δεδομένα, για παράδειγμα, εάν τα δεδομένα αλλάζουν συχνά και οι αναφορές πρέπει να αντικατοπτρίζουν τα πιο πρόσφατα δεδομένα, εξετάστε τη χρήση του DirectQuery. Το DirectQuery είναι εφικτό μόνο όταν η υποκείμενη προέλευση δεδομένων μπορεί να παρέχει αλληλεπιδραστικά αποτελέσματα ερωτημάτων σε λιγότερο από πέντε δευτερόλεπτα για ένα τυπικό ερώτημα συνάθροισης και μπορεί να χειριστεί τον φόρτο ερωτημάτων που δημιουργείται. Εξετάστε προσεκτικά τους περιορισμούς και τις συνέπειες της χρήσης του DirectQuery.
Οι δυνατότητες εισαγωγής του Power BI και DirectQuery εξελίσσονται με την πάροδο του χρόνου. Οι αλλαγές που παρέχουν μεγαλύτερη ευελιξία κατά τη χρήση δεδομένων που έχουν εισαχθεί σάς επιτρέπουν να εισάγετε πιο συχνά και να εξαλείφετε ορισμένα από τα μειονεκτήματα της χρήσης του DirectQuery. Ανεξάρτητα από τις βελτιώσεις, οι επιδόσεις της υποκείμενης προέλευσης δεδομένων είναι ένας σημαντικός παράγοντας που πρέπει να λαμβάνεται υπόψη κατά τη χρήση του DirectQuery. Εάν μια υποκείμενη προέλευση δεδομένων είναι αργή, η χρήση του DirectQuery για αυτήν την προέλευση παραμένει ανέφικτη.
Οι παρακάτω ενότητες καλύπτουν αυτές τις τρεις επιλογές για τη σύνδεση σε δεδομένα: εισαγωγή, DirectQuery και δυναμική σύνδεση. Το υπόλοιπο άρθρο εστιάζει στο DirectQuery.
Εισαγωγή συνδέσεων
Όταν συνδέεστε σε μια προέλευση δεδομένων όπως ο SQL Server και εισάγετε δεδομένα στο Power BI Desktop, υπάρχουν οι ακόλουθες συνθήκες συνδεσιμότητας:
Όταν χρησιμοποιείτε αρχικά τη Λήψη δεδομένων, κάθε σύνολο πινάκων που επιλέγετε ορίζει ένα ερώτημα που επιστρέφει ένα σύνολο δεδομένων. Μπορείτε να επεξεργαστείτε αυτά τα ερωτήματα πριν από τη φόρτωση των δεδομένων, για παράδειγμα, για να εφαρμόσετε φίλτρα, να συγκεντρώσετε τα δεδομένα ή να ενώσετε διαφορετικούς πίνακες.
Κατά τη φόρτωση, όλα τα δεδομένα που ορίζονται από τα ερωτήματα εισάγονται στο cache του Power BI.
Η δημιουργία μιας απεικόνισης εντός του Power BI Desktop υποβάλλει ερωτήματα στα δεδομένα στο cache. Ο χώρος αποθήκευσης του Power BI εξασφαλίζει ότι το ερώτημα είναι γρήγορο και ότι όλες οι αλλαγές στην απεικόνιση αντικατοπτρίζονται αμέσως.
Οι απεικονίσεις δεν αντικατοπτρίζουν τις αλλαγές στα υποκείμενα δεδομένα στον χώρο αποθήκευσης δεδομένων. Πρέπει να επαναλάβετε την εισαγωγή για να ανανεώσετε τα δεδομένα.
Η δημοσίευση της αναφοράς στην υπηρεσία Power BI ως αρχείο .pbix δημιουργεί και αποστέλλει ένα σημασιολογικό μοντέλο που περιλαμβάνει τα δεδομένα που έχουν εισαχθεί. Στη συνέχεια, μπορείτε να προγραμματίσετε ανανέωση δεδομένων για να επαναλάβετε την εισαγωγή των δεδομένων καθημερινά, για παράδειγμα. Ανάλογα με τη θέση της αρχικής προέλευσης δεδομένων, μπορεί να χρειαστεί να ρυθμίσετε τις παραμέτρους μιας πύλης δεδομένων εσωτερικής εγκατάστασης για την ανανέωση.
Το άνοιγμα μιας υπάρχουσας αναφοράς ή η σύνταξη μιας νέας αναφοράς στην υπηρεσία Power BI υποβάλλει ξανά ερώτημα στα δεδομένα που έχουν εισαχθεί, εξασφαλίζοντας αλληλεπίδραση.
Μπορείτε να καρφιτσώσετε απεικονίσεις ή ολόκληρες σελίδες αναφοράς ως πλακίδια πίνακα εργαλείων στην υπηρεσία Power BI. Τα πλακίδια ανανεώνονται αυτόματα κάθε φορά που ανανεώνεται το υποκείμενο μοντέλο σημασιολογίας.
Συνδέσεις DirectQuery
Όταν χρησιμοποιείτε το DirectQuery για να συνδεθείτε σε μια προέλευση δεδομένων στο Power BI Desktop, υπάρχουν οι ακόλουθες συνθήκες συνδεσιμότητας δεδομένων:
Χρησιμοποιείτε την επιλογή Λήψη δεδομένων για να επιλέξετε την προέλευση. Για σχεσιακές προελεύσεις, εξακολουθείτε να μπορείτε να επιλέξετε ένα σύνολο πινάκων που ορίζουν ένα ερώτημα που επιστρέφει λογικά ένα σύνολο δεδομένων. Για πολυδιάστατες προελεύσεις όπως το SAP Business Warehouse (SAP BW), επιλέγετε μόνο την προέλευση.
Κατά τη φόρτωση, δεν εισάγονται δεδομένα στον χώρο αποθήκευσης του Power BI. Αντίθετα, όταν δημιουργείτε μια απεικόνιση, το Power BI Desktop στέλνει ερωτήματα στην υποκείμενη προέλευση δεδομένων για να ανακτήσει τα απαραίτητα δεδομένα. Ο χρόνος που απαιτείται για την ανανέωση της απεικόνισης εξαρτάται από τις επιδόσεις της υποκείμενης προέλευσης δεδομένων.
Τυχόν αλλαγές στα υποκείμενα δεδομένα δεν αντικατοπτρίζονται αμέσως στις υπάρχουσες απεικονίσεις. Εξακολουθεί να είναι απαραίτητο για ανανέωση. Το Power BI Desktop υποβάλλει ξανά τα απαραίτητα ερωτήματα για κάθε απεικόνιση και ενημερώνει την απεικόνιση όπως απαιτείται.
Η δημοσίευση της αναφοράς στην υπηρεσία Power BI δημιουργεί και αποστέλλει ένα σημασιολογικό μοντέλο, όπως ακριβώς και με την εισαγωγή. Ωστόσο, αυτό το σημασιολογικό μοντέλο δεν περιλαμβάνει δεδομένα.
Το άνοιγμα μιας υπάρχουσας αναφοράς ή η σύνταξη μιας νέας αναφοράς στην υπηρεσία Power BI υποβάλλει ερώτημα στην υποκείμενη προέλευση δεδομένων για να ανακτήσει τα απαραίτητα δεδομένα. Ανάλογα με τη θέση της αρχικής προέλευσης δεδομένων, μπορεί να χρειαστεί να ρυθμίσετε τις παραμέτρους μιας πύλης δεδομένων εσωτερικής εγκατάστασης για τη λήψη των δεδομένων.
Μπορείτε να καρφιτσώσετε απεικονίσεις ή ολόκληρες σελίδες αναφοράς ως πλακίδια πίνακα εργαλείων. Για να εξασφαλιστεί ότι το άνοιγμα ενός πίνακα εργαλείων είναι γρήγορο, τα πλακίδια ανανεώνονται αυτόματα βάσει χρονοδιαγράμματος, για παράδειγμα κάθε ώρα. Μπορείτε να ελέγξετε τη συχνότητα ανανέωσης, ανάλογα με το πόσο συχνά αλλάζουν τα δεδομένα και τη σημασία της προβολής των πιο πρόσφατων δεδομένων.
Όταν ανοίγετε έναν πίνακα εργαλείων, τα πλακίδια απεικονίζουν τα δεδομένα τη στιγμή της τελευταίας ανανέωσης, όχι απαραίτητα τις τελευταίες αλλαγές που έγιναν στην υποκείμενη προέλευση. Μπορείτε να ανανεώσετε έναν ανοιχτό πίνακα εργαλείων για να εξασφαλίσετε ότι είναι ενημερωμένος.
Δυναμικές συνδέσεις
Όταν συνδέεστε στις Υπηρεσίες ανάλυσης του SQL Server, μπορείτε να επιλέξετε να εισαγάγετε τα δεδομένα ή να χρησιμοποιήσετε μια δυναμική σύνδεση στο επιλεγμένο μοντέλο δεδομένων. Η χρήση μιας δυναμικής σύνδεσης είναι παρόμοια με το DirectQuery. Δεν εισάγονται δεδομένα και ζητείται από την υποκείμενη προέλευση δεδομένων η ανανέωση απεικονίσεων.
Για παράδειγμα, όταν χρησιμοποιείτε την εισαγωγή για να συνδεθείτε στις Υπηρεσίες ανάλυσης του SQL Server, ορίζετε ένα ερώτημα σε σχέση με την εξωτερική προέλευση των Υπηρεσιών ανάλυσης του SQL Server και εισαγάγετε τα δεδομένα. Εάν συνδεθείτε δυναμικά, δεν ορίζετε ένα ερώτημα και ολόκληρο το εξωτερικό μοντέλο εμφανίζεται στη λίστα πεδίων.
Αυτή η κατάσταση ισχύει επίσης κατά τη σύνδεση στις ακόλουθες προελεύσεις, με τη διαφορά ότι δεν υπάρχει επιλογή για την εισαγωγή των δεδομένων:
Σημασιολογικά μοντέλα Power BI, για παράδειγμα, σύνδεση σε ένα σημασιολογικό μοντέλο Power BI που έχει ήδη δημοσιευτεί στην υπηρεσία, για τη σύνταξη μιας νέας αναφοράς μέσω αυτού.
Microsoft Dataverse.
Όταν δημοσιεύετε αναφορές Υπηρεσιών ανάλυσης του SQL Server που χρησιμοποιούν δυναμικές συνδέσεις, η συμπεριφορά στην υπηρεσία Power BI είναι παρόμοια με τις αναφορές DirectQuery με τους εξής τρόπους:
Το άνοιγμα μιας υπάρχουσας αναφοράς ή η σύνταξη μιας νέας αναφοράς στην υπηρεσία Power BI υποβάλλει ερώτημα στην υποκείμενη προέλευση των Υπηρεσιών ανάλυσης του SQL Server, πιθανώς απαιτώντας μια πύλη δεδομένων εσωτερικής εγκατάστασης.
Τα πλακίδια πίνακα εργαλείων ανανεώνονται αυτόματα βάσει χρονοδιαγράμματος, όπως κάθε ώρα.
Μια δυναμική σύνδεση διαφέρει επίσης από το DirectQuery με πολλούς τρόπους. Για παράδειγμα, οι δυναμικές συνδέσεις μεταβιβάζουν πάντα την ταυτότητα του χρήστη που ανοίγει την αναφορά στην υποκείμενη προέλευση των Υπηρεσιών ανάλυσης του SQL Server.
Περιπτώσεις χρήσης του DirectQuery
Η σύνδεση με το DirectQuery μπορεί να είναι χρήσιμη στα παρακάτω σενάρια. Σε πολλές από αυτές τις περιπτώσεις, η τοποθέτηση των δεδομένων στην αρχική θέση προέλευσής τους είναι απαραίτητη ή ευεργετική.
Το DirectQuery στο Power BI προσφέρει τα μεγαλύτερα πλεονεκτήματα στα παρακάτω σενάρια:
- Τα δεδομένα αλλάζουν συχνά και χρειάζεστε αναφορές σχεδόν σε πραγματικό χρόνο.
- Χρειάζεται να χειριστείτε μεγάλα δεδομένα χωρίς να χρειάζεται να κάνετε συνάθροιση εκ των προτέρων.
- Η υποκείμενη προέλευση ορίζει και εφαρμόζει κανόνες ασφαλείας.
- Ισχύουν περιορισμοί αυτονομίας δεδομένων.
- Η προέλευση είναι μια πολυδιάστατη προέλευση που περιέχει μετρήσεις, όπως SAP BW.
Συχνά αλλάζουν τα δεδομένα και χρειάζεστε αναφορές σχεδόν σε πραγματικό χρόνο
Μπορείτε να ανανεώσετε μοντέλα με δεδομένα που έχουν εισαχθεί το πολύ μία φορά την ώρα ή συχνότερα με συνδρομές Power BI Pro ή Power BI Premium. Εάν τα δεδομένα αλλάζουν συνεχώς και είναι απαραίτητο να εμφανίζουν οι αναφορές τα πιο πρόσφατα δεδομένα, η χρήση της εισαγωγής με προγραμματισμένη ανανέωση μπορεί να μην καλύπτει τις ανάγκες σας. Μπορείτε να κάνετε ροή δεδομένων απευθείας στο Power BI, παρόλο που υπάρχουν όρια στους όγκους δεδομένων που υποστηρίζονται για αυτήν την περίπτωση.
Η χρήση του DirectQuery σημαίνει ότι κατά το άνοιγμα ή την ανανέωση μιας αναφοράς ή ενός πίνακα εργαλείων εμφανίζονται πάντα τα πιο πρόσφατα δεδομένα στην προέλευση. Τα πλακίδια πίνακα εργαλείων μπορούν επίσης να ενημερώνονται πιο συχνά, έως κάθε 15 λεπτά.
Τα δεδομένα είναι πολύ μεγάλα
Εάν τα δεδομένα είναι πολύ μεγάλα, δεν είναι εφικτή η εισαγωγή όλων. Το DirectQuery δεν απαιτεί μεταφορά μεγάλου όγκου δεδομένων, επειδή υποβάλλει ερωτήματα σε δεδομένα επιτόπου. Ωστόσο, ο μεγάλος όγκος δεδομένων μπορεί επίσης να κάνει πολύ αργή την απόδοση των ερωτημάτων προς αυτή την υποκείμενη προέλευση.
Δεν χρειάζεται πάντα να εισαγάγετε πλήρη, λεπτομερή δεδομένα. Το Πρόγραμμα επεξεργασίας Power Query διευκολύνει τη συνάθροιση δεδομένων εκ των προτέρων κατά την εισαγωγή. Τεχνικά, είναι δυνατή η εισαγωγή ακριβώς των συγκεντρωτικών δεδομένων που χρειάζεστε για κάθε απεικόνιση. Παρόλο που το DirectQuery είναι η απλούστερη προσέγγιση σε μεγάλα δεδομένα, η εισαγωγή συγκεντρωτικών δεδομένων μπορεί να προσφέρει μια λύση εάν η υποκείμενη προέλευση δεδομένων είναι πολύ αργή για το DirectQuery.
Αυτές οι λεπτομέρειες σχετίζονται με τη χρήση μόνο του Power BI. Για περισσότερες πληροφορίες σχετικά με τη χρήση μεγάλων μοντέλων στο Power BI, ανατρέξτε στο θέμα Μεγάλα σημασιολογικά μοντέλα στο Power BI Premium. Δεν υπάρχει περιορισμός στο πόσο συχνά μπορούν να ανανεώνονται τα δεδομένα.
Η υποκείμενη προέλευση ορίζει κανόνες ασφαλείας
Κατά την εισαγωγή δεδομένων, το Power BI συνδέεται στην προέλευση δεδομένων χρησιμοποιώντας τα διαπιστευτήρια του τρέχοντος χρήστη στο Power BI Desktop ή τα διαπιστευτήρια που έχουν ρυθμιστεί για προγραμματισμένη ανανέωση από την υπηρεσία Power BI. Κατά τη δημοσίευση και την κοινή χρήση αναφορών που έχουν δεδομένα που έχουν εισαχθεί, πρέπει να είστε προσεκτικοί για να κάνετε κοινή χρήση μόνο με χρήστες στους οποίους επιτρέπεται να βλέπουν τα δεδομένα ή πρέπει να ορίσετε ασφάλεια σε επίπεδο γραμμών ως μέρος του μοντέλου σημασιολογίας.
Το DirectQuery επιτρέπει τη μεταβίβαση των διαπιστευτηρίων ενός προγράμματος προβολής αναφορών στην υποκείμενη προέλευση, η οποία εφαρμόζει κανόνες ασφαλείας. Το DirectQuery υποστηρίζει καθολική σύνδεση (SSO) σε προελεύσεις δεδομένων SQL Azure και μέσω μιας πύλης δεδομένων σε διακομιστές SQL εσωτερικής εγκατάστασης. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Επισκόπηση καθολικής σύνδεσης (SSO) για πύλες δεδομένων εσωτερικής εγκατάστασης στο Power BI.
Ισχύουν περιορισμοί αυτονομίας δεδομένων
Ορισμένοι οργανισμοί έχουν πολιτικές σχετικά με την αυτονομία των δεδομένων, που σημαίνει ότι τα δεδομένα δεν μπορούν να φύγουν από τις εγκαταστάσεις του οργανισμού. Αυτά τα δεδομένα παρουσιάζουν προβλήματα για λύσεις που βασίζονται στην εισαγωγή δεδομένων. Με το DirectQuery, τα δεδομένα παραμένουν στην υποκείμενη θέση προέλευσης. Ωστόσο, ακόμη και με το DirectQuery, η υπηρεσία Power BI διατηρεί ορισμένες προσωρινές αποθηκεύσεις δεδομένων στο επίπεδο απεικόνισης, λόγω της προγραμματισμένης ανανέωσης των πλακιδίων.
Η υποκείμενη προέλευση δεδομένων χρησιμοποιεί μετρήσεις
Μια υποκείμενη προέλευση δεδομένων, όπως το SAP HANA ή το SAP BW, περιέχει μετρήσεις. Οι μετρήσεις σημαίνουν ότι τα δεδομένα που έχουν εισαχθεί βρίσκονται ήδη σε ένα συγκεκριμένο επίπεδο συνάθροισης, όπως ορίζεται από το ερώτημα. Μια απεικόνιση που ζητά δεδομένα σε υψηλότερο επίπεδο συνάθροισης, όπως TotalSales κατά Year, συγκεντρώνει περαιτέρω τη συγκεντρωτική τιμή. Αυτή η συνάθροιση δεν είναι πρόβλημα για προσθετικές μετρήσεις, όπως Sum και Min, αλλά μπορεί να αποτελέσει πρόβλημα για μη προσθετικές μετρήσεις, όπως Average και DistinctCount.
Η εύκολη λήψη των σωστών συγκεντρωτικών δεδομένων που απαιτούνται για μια απεικόνιση απευθείας από την προέλευση απαιτεί την αποστολή ερωτημάτων ανά απεικόνιση, όπως στο DirectQuery. Όταν συνδέεστε στο SAP BW, η επιλογή DirectQuery επιτρέπει αυτόν τον χειρισμό μετρήσεων. Για περισσότερες πληροφορίες, ανατρέξτε στα DirectQuery και SAP BW.
Προς το παρόν, το DirectQuery μέσω SAP HANA χειρίζεται τα δεδομένα με τον ίδιο τρόπο όπως μια σχεσιακή προέλευση και παράγει συμπεριφορά παρόμοια με την εισαγωγή. Για περισσότερες πληροφορίες, ανατρέξτε στα DirectQuery και SAP HANA.
Περιορισμοί του DirectQuery
Η χρήση του DirectQuery έχει ορισμένες δυνητικά αρνητικές επιπτώσεις. Ορισμένοι από αυτούς τους περιορισμούς διαφέρουν ελαφρώς ανάλογα με την ακριβή προέλευση που χρησιμοποιείτε. Οι παρακάτω ενότητες παρατίθενται τις γενικές συνέπειες της χρήσης του DirectQuery και τους περιορισμούς που σχετίζονται με τις επιδόσεις, την ασφάλεια, τους μετασχηματισμούς, τη μοντελοποίηση και τις αναφορές.
Γενικές επιπτώσεις
Ακολουθούν ορισμένες γενικές συνέπειες και περιορισμοί στη χρήση του DirectQuery:
Εάν αλλάξουν τα δεδομένα, πρέπει να ανανεώσετε για να εμφανίσετε τα πιο πρόσφατα δεδομένα. Δεδομένης της χρήσης των cache, δεν υπάρχει εγγύηση ότι οι απεικονίσεις εμφανίζουν πάντα τα πιο πρόσφατα δεδομένα. Για παράδειγμα, μια απεικόνιση μπορεί να εμφανίσει συναλλαγές την προηγούμενη ημέρα. Μια αλλαγή αναλυτή μπορεί να ανανεώσει την απεικόνιση για να εμφανίσει τις συναλλαγές των τελευταίων δύο ημερών, συμπεριλαμβανομένων των πρόσφατων συναλλαγών που μόλις έφτασαν. Ωστόσο, η επιστροφή του αναλυτή στην αρχική του τιμή θα μπορούσε να έχει ως αποτέλεσμα να εμφανίσει ξανά την προηγούμενη τιμή που έχει αποθηκευτεί στο cache. Επιλέξτε Ανανέωση για να απαλείψετε τυχόν cache και να ανανεώσετε όλες τις απεικονίσεις στη σελίδα για να εμφανίσετε τα πιο πρόσφατα δεδομένα.
Εάν αλλάξουν τα δεδομένα, δεν υπάρχει εγγύηση συνέπειας μεταξύ των απεικονίσεων. Διαφορετικές απεικονίσεις, στην ίδια σελίδα ή σε διαφορετικές σελίδες, μπορεί να ανανεώνονται σε διαφορετικές χρονικές στιγμές. Εάν τα δεδομένα στην υποκείμενη προέλευση αλλάζουν, δεν υπάρχει εγγύηση ότι κάθε απεικόνιση εμφανίζει τα δεδομένα την ίδια χρονική στιγμή.
Δεδομένου ότι μπορεί να απαιτούνται περισσότερα από ένα ερωτήματα για μία μόνο απεικόνιση, για παράδειγμα για να λάβετε τις λεπτομέρειες και τα σύνολα, ακόμη και η συνέπεια μέσα σε μία απεικόνιση δεν είναι εγγυημένη. Για να εξασφαλιστεί αυτή η συνέπεια, θα χρειαζόταν η επιβάρυνση της ανανέωσης όλων των απεικονίσεων κάθε φορά που ανανεώνεται οποιαδήποτε απεικόνιση, μαζί με τη χρήση δυνατοτήτων κόστους, όπως η απομόνωση στιγμιότυπου στην υποκείμενη προέλευση δεδομένων.
Μπορείτε να μετριάσετε αυτό το πρόβλημα σε μεγάλο βαθμό, επιλέγοντας Ανανέωση για να ανανεώσετε όλες τις απεικονίσεις στη σελίδα. Ακόμη και για τη λειτουργία εισαγωγής, υπάρχει ένα παρόμοιο πρόβλημα διατήρησης της συνέπειας όταν εισάγετε δεδομένα από περισσότερους από έναν πίνακες.
Πρέπει να κάνετε ανανέωση στο Power BI Desktop για να αντικατοπτρίσετε τις αλλαγές σχήματος. Μετά τη δημοσίευση μιας αναφοράς, η ανανέωση στην υπηρεσία Power BI ανανεώνει τις απεικονίσεις στην αναφορά. Ωστόσο, εάν αλλάξει το σχήμα υποκείμενης προέλευσης, η υπηρεσία Power BI δεν ενημερώνει αυτόματα τη λίστα διαθέσιμων πεδίων. Εάν καταργηθούν πίνακες ή στήλες από την υποκείμενη προέλευση, αυτό μπορεί να οδηγήσει σε αποτυχία ερωτήματος κατά την ανανέωση. Για να ενημερώσετε τα πεδία στο μοντέλο ώστε να αντικατοπτρίζουν τις αλλαγές, πρέπει να ανοίξετε την αναφορά στο Power BI Desktop και να επιλέξετε Ανανέωση.
Ένα όριο 1 εκατομμυρίου γραμμών μπορεί να επιστρέψει σε οποιοδήποτε ερώτημα. Υπάρχει ένα σταθερό όριο 1 εκατομμυρίου γραμμών που μπορεί να επιστρέψει σε οποιοδήποτε μεμονωμένο ερώτημα στην υποκείμενη προέλευση. Αυτό το όριο γενικά δεν έχει πρακτικές συνέπειες και οι απεικονίσεις δεν θα εμφανίζουν τόσα πολλά σημεία. Ωστόσο, το όριο μπορεί να προκύψει σε περιπτώσεις όπου το Power BI δεν βελτιστοποιεί πλήρως τα ερωτήματα που αποστέλλονται και ζητά κάποιο ενδιάμεσο αποτέλεσμα που υπερβαίνει το όριο.
Το όριο μπορεί επίσης να προκύψει κατά τη δημιουργία μιας απεικόνισης, στη διαδρομή προς μια πιο εύλογη τελική κατάσταση. Για παράδειγμα, συμπεριλαμβάνοντας τα Customer και TotalSalesQuantity μπορεί να υπερισχύει αυτού του ορίου εάν υπάρχουν περισσότεροι από 1 εκατομμύριο πελάτες, μέχρι να εφαρμόσετε κάποιο φίλτρο. Το σφάλμα που επιστρέφει είναι: Το σύνολο αποτελεσμάτων ενός ερωτήματος προς προέλευση εξωτερικών δεδομένων υπερέβη το μέγιστο επιτρεπόμενο μέγεθος '1000000' γραμμών.
Σημείωμα
Οι Premium εκχωρημένοι πόροι σάς επιτρέπουν να υπερβείτε το όριο ενός εκατομμυρίου γραμμών. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Μέγιστο πλήθος συνόλου ενδιάμεσων γραμμών.
Δεν μπορείτε να αλλάξετε ένα μοντέλο από εισαγωγή σε λειτουργία DirectQuery. Μπορείτε να αλλάξετε ένα μοντέλο από τη λειτουργία DirectQuery σε λειτουργία εισαγωγής, εάν εισαγάγετε όλα τα απαραίτητα δεδομένα. Δεν είναι δυνατή η επιστροφή στη λειτουργία DirectQuery, κυρίως λόγω του συνόλου δυνατοτήτων που δεν υποστηρίζει η λειτουργία DirectQuery. Για πολυδιάστατες προελεύσεις όπως SAP BW, δεν μπορείτε να μεταβείτε από DirectQuery σε λειτουργία εισαγωγής, λόγω της διαφορετικής αντιμετώπισης των εξωτερικών μετρήσεων.
Επιπτώσεις στις επιδόσεις και τον φόρτο
Όταν χρησιμοποιείτε το DirectQuery, η συνολική εμπειρία εξαρτάται από τις επιδόσεις της υποκείμενης προέλευσης δεδομένων. Εάν η ανανέωση κάθε απεικόνισης, για παράδειγμα μετά την αλλαγή μιας τιμής αναλυτή, απαιτεί λιγότερο από πέντε δευτερόλεπτα, η εμπειρία είναι λογική, παρόλο που μπορεί να φαίνεται αργή σε σύγκριση με την άμεση απόκριση με τα δεδομένα που έχουν εισαχθεί. Εάν η βραδύτητα της προέλευσης προκαλεί σε μεμονωμένες απεικονίσεις να χρειαστούν περισσότερο από δεκάδες δευτερόλεπτα για να ανανεωθεί, η εμπειρία γίνεται αδικαιολόγητα κακή. Μπορεί ακόμη και να λήξει το χρονικό όριο των ερωτημάτων.
Μαζί με τις επιδόσεις της υποκείμενης προέλευσης, ο φόρτος που τοποθετείται στην προέλευση επηρεάζει επίσης τις επιδόσεις. Κάθε χρήστης που ανοίγει μια κοινόχρηστη αναφορά και κάθε πλακίδιο πίνακα εργαλείων που ανανεώνεται, στέλνει τουλάχιστον ένα ερώτημα ανά απεικόνιση στην υποκείμενη προέλευση. Η προέλευση πρέπει να μπορεί να χειριστεί έναν τέτοιο φόρτο ερωτημάτων, διατηρώντας παράλληλα εύλογες επιδόσεις.
Επιπτώσεις στην ασφάλεια
Εκτός εάν η υποκείμενη προέλευση δεδομένων χρησιμοποιεί SSO, μια αναφορά DirectQuery χρησιμοποιεί πάντα τα ίδια σταθερά διαπιστευτήρια για τη σύνδεση στην προέλευση μόλις δημοσιευτεί στην υπηρεσία Power BI. Αμέσως μετά τη δημοσίευση μιας αναφοράς DirectQuery, πρέπει να ρυθμίσετε τις παραμέτρους των διαπιστευτηρίων του χρήστη που θα χρησιμοποιήσει. Μέχρι να ρυθμίσετε τις παραμέτρους των διαπιστευτηρίων, η προσπάθεια ανοίγματος της αναφοράς στην υπηρεσία Power BI έχει ως αποτέλεσμα ένα σφάλμα.
Μόλις καταχωρήσετε τα διαπιστευτήρια χρήστη, το Power BI χρησιμοποιεί αυτά τα διαπιστευτήρια για οποιονδήποτε ανοίξει την αναφορά, όπως ακριβώς και για τα δεδομένα που έχουν εισαχθεί. Κάθε χρήστης βλέπει τα ίδια δεδομένα, εκτός εάν έχει οριστεί ασφάλεια σε επίπεδο γραμμών ως μέρος της αναφοράς. Πρέπει να δώσετε την ίδια προσοχή στην κοινή χρήση της αναφοράς όπως και για τα δεδομένα που έχουν εισαχθεί, ακόμα και αν έχουν οριστεί κανόνες ασφαλείας στην υποκείμενη προέλευση.
Η σύνδεση σε σημασιολογικά μοντέλα Power BI και υπηρεσίες ανάλυσης σε λειτουργία DirectQuery χρησιμοποιεί πάντα SSO, ώστε η ασφάλεια να είναι παρόμοια με τις δυναμικές συνδέσεις με τις Υπηρεσίες ανάλυσης.
Δεν υποστηρίζονται εναλλακτικά διαπιστευτήρια κατά την πραγματοποίηση συνδέσεων DirectQuery σε SQL Server από το Power BI Desktop. Μπορείτε να χρησιμοποιήσετε τα τρέχοντα διαπιστευτήρια των Windows ή τα διαπιστευτήρια της βάσης δεδομένων σας.
Μπορείτε να χρησιμοποιήσετε πολλές προελεύσεις δεδομένων σε ένα μοντέλο DirectQuery χρησιμοποιώντας σύνθετα μοντέλα. Όταν χρησιμοποιείτε πολλές προελεύσεις δεδομένων, είναι σημαντικό να κατανοήσετε τις επιπτώσεις ασφαλείας του τρόπου με τον οποίο μετακινούνται τα δεδομένα μεταξύ των υποκείμενων προελεύσεων δεδομένων.
Περιορισμοί μετασχηματισμού δεδομένων
Το DirectQuery περιορίζει τους μετασχηματισμούς δεδομένων που μπορείτε να εφαρμόσετε στο Πρόγραμμα επεξεργασίας Power Query. Με τα δεδομένα που έχουν εισαχθεί, μπορείτε εύκολα να εφαρμόσετε ένα εξελιγμένο σύνολο μετασχηματισμών για να καθαρίσετε και να αναδιαμορφώσετε τα δεδομένα προτού τα χρησιμοποιήσετε για τη δημιουργία απεικονίσεων. Για παράδειγμα, μπορείτε να αναλύσετε έγγραφα JSON ή να συγκεντρώσετε δεδομένα από μια στήλη σε μια φόρμα γραμμής. Αυτοί οι μετασχηματισμοί είναι πιο περιορισμένοι στο DirectQuery.
Όταν συνδέεστε σε μια ηλεκτρονική προέλευση ανάλυσης (OLAP) όπως το SAP BW, δεν μπορείτε να ορίσετε μετασχηματισμούς και ολόκληρο το εξωτερικό μοντέλο λαμβάνεται από την προέλευση. Για σχεσιακές προελεύσεις όπως SQL Server, εξακολουθείτε να μπορείτε να ορίσετε ένα σύνολο μετασχηματισμών ανά ερώτημα, αλλά αυτοί οι μετασχηματισμοί είναι περιορισμένοι για λόγους επιδόσεων.
Οποιοιδήποτε μετασχηματισμοί πρέπει να εφαρμόζονται σε κάθε ερώτημα προς την υποκείμενη προέλευση, αντί για μία φορά κατά την ανανέωση των δεδομένων. Οι μετασχηματισμοί πρέπει να μπορούν εύλογα να μεταφραστούν σε ένα εγγενές ερώτημα. Εάν χρησιμοποιείτε έναν μετασχηματισμό που είναι υπερβολικά σύνθετος, εμφανίζεται ένα σφάλμα που αναφέρει ότι πρέπει είτε να διαγραφεί είτε ότι το μοντέλο σύνδεσης πρέπει να αλλάξει για εισαγωγή.
Επίσης, το παράθυρο διαλόγου Λήψη δεδομένων ή το Πρόγραμμα επεξεργασίας Power Query χρησιμοποιούν δευτερεύουσες επιλογές στα ερωτήματα που δημιουργούν και στέλνουν για την ανάκτηση δεδομένων για μια απεικόνιση. Τα ερωτήματα που ορίζονται στο Πρόγραμμα επεξεργασίας Power Query πρέπει να είναι έγκυρα σε αυτό το περιβάλλον. Συγκεκριμένα, δεν είναι δυνατή η χρήση ενός ερωτήματος με κοινές παραστάσεις πίνακα ή που καλεί αποθηκευμένες διαδικασίες.
Περιορισμοί μοντελοποίησης
Ο όρος μοντελοποίηση σε αυτό το περιβάλλον σημαίνει τη βελτίωση και τον εμπλουτισμό ανεπεξέργαστων δεδομένων ως μέρος της σύνταξης μιας αναφοράς με χρήση των δεδομένων. Ορισμένα παραδείγματα μοντελοποίησης είναι τα εξής:
- Ορισμός σχέσεων μεταξύ πινάκων.
- Προσθήκη νέων υπολογισμών, όπως υπολογιζόμενες στήλες και μετρήσεις.
- Μετονομασία και απόκρυψη στηλών και μετρήσεων.
- Ορισμός ιεραρχιών.
- Ορισμός μορφοποίησης στήλης, προεπιλεγμένης σύνοψης και σειράς ταξινόμησης.
- Ομαδοποίηση ή δημιουργία συμπλέγματος τιμών.
Εξακολουθείτε να μπορείτε να κάνετε πολλούς από αυτούς τους εμπλουτισμούς μοντέλου όταν χρησιμοποιείτε το DirectQuery και να χρησιμοποιήσετε την αρχή του εμπλουτισμού των ανεπεξέργαστων δεδομένων για να βελτιώσετε τη μεταγενέστερη κατανάλωση. Ωστόσο, ορισμένες δυνατότητες μοντελοποίησης δεν είναι διαθέσιμες ή περιορίζονται στο DirectQuery. Οι περιορισμοί εφαρμόζονται για την αποφυγή προβλημάτων επιδόσεων.
Οι ακόλουθοι περιορισμοί είναι κοινοί σε όλες τις προελεύσεις του DirectQuery. Ενδέχεται να ισχύουν περισσότεροι περιορισμοί για μεμονωμένες προελεύσεις.
Δεν υπάρχει ενσωματωμένη ιεραρχία ημερομηνιών: Με δεδομένα που έχουν εισαχθεί, κάθε στήλη ημερομηνίας/ημερομηνίας/ώρας διαθέτει επίσης μια ενσωματωμένη ιεραρχία ημερομηνιών διαθέσιμη από προεπιλογή. Για παράδειγμα, εάν εισαγάγετε έναν πίνακα παραγγελιών πωλήσεων που περιλαμβάνει μια στήλη OrderDate και χρησιμοποιήσετε το OrderDate σε μια απεικόνιση, μπορείτε να επιλέξετε το κατάλληλο επίπεδο ημερομηνίας για χρήση, όπως έτος, μήνας ή ημέρα. Αυτή η ενσωματωμένη ιεραρχία ημερομηνιών δεν είναι διαθέσιμη με το DirectQuery. Εάν υπάρχει ένας πίνακας Date διαθέσιμος στην υποκείμενη προέλευση, όπως συνηθίζεται σε πολλές αποθήκες δεδομένων, μπορείτε να χρησιμοποιήσετε τις συναρτήσεις χρονικής ευφυΐας των παραστάσεων ανάλυσης δεδομένων (DAX) ως συνήθως.
Υποστήριξη ημερομηνίας/ώρας μόνο στο επίπεδο δευτερολέπτων: Για σημασιολογικά μοντέλα που χρησιμοποιούν στήλες χρόνου, το Power BI εκδίδει ερωτήματα στην υποκείμενη προέλευση DirectQuery μόνο μέχρι το επίπεδο λεπτομερειών δευτερολέπτων, όχι χιλιοστά του δευτερολέπτου. Καταργήστε δεδομένα χιλιοστών του δευτερολέπτου από τις στήλες προέλευσής σας.
Περιορισμοί στις υπολογιζόμενες στήλες: Οι υπολογιζόμενες στήλες μπορούν να είναι μόνο εντός γραμμής, δηλαδή μπορούν να αναφέρονται μόνο σε τιμές άλλων στηλών του ίδιου πίνακα, χωρίς τη χρήση συναρτήσεων συγκεντρωτικών αποτελεσμάτων. Επίσης, οι επιτρεπόμενες ανυσματικές συναρτήσεις DAX, όπως
LEFT()
, περιορίζονται σε εκείνες τις συναρτήσεις που μπορούν να προωθηθούν στην υποκείμενη προέλευση. Οι συναρτήσεις ποικίλλουν ανάλογα με τις ακριβείς δυνατότητες της προέλευσης. Οι συναρτήσεις που δεν υποστηρίζονται δεν εμφανίζονται στην αυτόματη καταχώρηση κατά τη σύνταξη του ερωτήματος DAX για μια υπολογιζόμενη στήλη και έχουν ως αποτέλεσμα σφάλμα εάν χρησιμοποιηθούν.Δεν υποστηρίζεται για γονικές-θυγατρικές συναρτήσεις DAX: Όταν βρίσκεστε σε λειτουργία DirectQuery, δεν είναι δυνατή η χρήση της οικογένειας
DAX PATH()
συναρτήσεων που συνήθως χειρίζονται δομές γονικού-θυγατρικού στοιχείου, όπως γραφήματα λογαριασμών ή ιεραρχίες υπαλλήλων.Δεν υπάρχει δυνατότητα συμπλέγματος: Όταν χρησιμοποιείτε το DirectQuery, δεν μπορείτε να χρησιμοποιήσετε τη δυνατότητα συμπλέγματος για αυτόματη εύρεση ομάδων.
Περιορισμοί αναφορών
Υποστηρίζονται σχεδόν όλες οι δυνατότητες αναφοράς για μοντέλα DirectQuery. Εφόσον η υποκείμενη προέλευση προσφέρει ένα κατάλληλο επίπεδο επιδόσεων, μπορείτε να χρησιμοποιήσετε το ίδιο σύνολο απεικονίσεων όπως για δεδομένα που έχουν εισαχθεί.
Ένας γενικός περιορισμός είναι ότι το μέγιστο μήκος δεδομένων σε μια στήλη κειμένου για σημασιολογικά μοντέλα DirectQuery είναι 32.764 χαρακτήρες. Η αναφορά σε μεγαλύτερα κείμενα οδηγεί σε σφάλμα.
Οι παρακάτω δυνατότητες αναφοράς του Power BI μπορούν να προκαλέσουν προβλήματα επιδόσεων σε αναφορές που βασίζονται στο DirectQuery:
Φίλτρα μετρήσεων: Οι απεικονίσεις που χρησιμοποιούν μετρήσεις ή συγκεντρωτικές τιμές στηλών μπορεί να περιέχουν φίλτρα σε αυτές τις μετρήσεις. Για παράδειγμα, το παρακάτω γραφικό εμφανίζει το SalesAmount κατά Category, αλλά μόνο για κατηγορίες με πωλήσεις άνω των 20 εκατομμυρίων .
Αυτή η προσέγγιση προκαλεί την αποστολή δύο ερωτημάτων στην υποκείμενη προέλευση:
- Το πρώτο ερώτημα ανακτά τις κατηγορίες που ικανοποιούν τη συνθήκη SalesAmount μεγαλύτερη από 20 εκατομμύρια.
- Το δεύτερο ερώτημα ανακτά τα απαραίτητα δεδομένα για την απεικόνιση, το οποίο περιλαμβάνει τις κατηγορίες που πληρούσαν τη
WHERE
συνθήκη.
Αυτή η προσέγγιση λειτουργεί καλά γενικά εάν υπάρχουν εκατοντάδες ή χιλιάδες κατηγορίες, όπως σε αυτό το παράδειγμα. Οι επιδόσεις μπορεί να υποβαθμιστούν εάν ο αριθμός των κατηγοριών είναι πολύ μεγαλύτερος. Το ερώτημα αποτυγχάνει εάν υπάρχουν περισσότερες από ένα εκατομμύριο κατηγορίες.
Φίλτρα κορυφαίων N: Μπορείτε να ορίσετε σύνθετα φίλτρα για φιλτράρισμα μόνο των κορυφαίων ή τελευταίων
N
τιμών, ταξινομημένων κατά μέτρηση. Για παράδειγμα, τα φίλτρα μπορούν να περιλαμβάνουν τις 10 κορυφαίες κατηγορίες. Αυτή η προσέγγιση στέλνει πάλι δύο ερωτήματα στην υποκείμενη προέλευση. Ωστόσο, το πρώτο ερώτημα επιστρέφει όλες τις κατηγορίες από την υποκείμενη προέλευση και, στη συνέχεια, οιTopN
παράμετροι καθορίζονται με βάση τα αποτελέσματα που επιστρέφονται. Ανάλογα με την πληθικότητα της στήλης που εμπλέκεται, αυτή η προσέγγιση μπορεί να οδηγήσει σε ζητήματα επιδόσεων ή αποτυχίες ερωτημάτων λόγω του ορίου ενός εκατομμυρίου γραμμών στα αποτελέσματα ερωτημάτων.Διάμεσος: Κάθε συνάθροιση, όπως
Sum
ήCount Distinct
, προωθείται στην υποκείμενη προέλευση. Ωστόσο, ηmedian
συνάθροιση δεν υποστηρίζεται συνήθως από την υποκείμενη προέλευση. Γιαmedian
το , τα λεπτομερή δεδομένα ανακτώνται από την υποκείμενη προέλευση και η διάμεσος υπολογίζεται από τα αποτελέσματα που επιστρέφονται. Αυτή η προσέγγιση είναι εύλογη για τον υπολογισμό της διάμεσου ενός σχετικά μικρού αριθμού αποτελεσμάτων.Μπορεί να προκύψουν ζητήματα επιδόσεων ή αποτυχίες ερωτημάτων εάν η πληθικότητα είναι μεγάλη λόγω του ορίου ενός εκατομμυρίου γραμμών. Για παράδειγμα, η υποβολή ερωτημάτων για ενδιάμεσο πληθυσμό χώρας/περιοχής μπορεί να είναι εύλογη, αλλά η διάμεση τιμή πωλήσεων μπορεί να μην είναι εύλογη.
Σύνθετα φίλτρα κειμένου όπως "περιέχει": Το σύνθετο φιλτράρισμα σε μια στήλη κειμένου επιτρέπει φίλτρα όπως
contains
το καιbegins with
το . Αυτά τα φίλτρα μπορεί να έχουν ως αποτέλεσμα υποβάθμιση επιδόσεων για ορισμένες προελεύσεις δεδομένων. Συγκεκριμένα, μην χρησιμοποιήσετε το προεπιλεγμένοcontains
φίλτρο εάν χρειάζεστε ακριβή συμφωνία. Παρόλο που τα αποτελέσματα μπορεί να είναι τα ίδια ανάλογα με τα πραγματικά δεδομένα, οι επιδόσεις μπορεί να είναι ριζικά διαφορετικές λόγω των ευρετηρίων.Αναλυτές πολλαπλής επιλογής: Από προεπιλογή, οι αναλυτές επιτρέπουν την πραγματοποίηση μίας μόνο επιλογής. Η δυνατότητα πολλαπλής επιλογής στα φίλτρα μπορεί να προκαλέσει προβλήματα επιδόσεων. Για παράδειγμα, εάν ο χρήστης επιλέξει 10 προϊόντα ενδιαφέροντος, κάθε νέα επιλογή έχει ως αποτέλεσμα την αποστολή ερωτημάτων στην προέλευση. Παρόλο που ο χρήστης μπορεί να επιλέξει το επόμενο στοιχείο πριν την ολοκλήρωση του ερωτήματος, αυτή η προσέγγιση έχει ως αποτέλεσμα επιπλέον φόρτο στην υποκείμενη προέλευση.
Σύνολα σε απεικονίσεις πίνακα: Από προεπιλογή, οι πίνακες και οι μήτρες εμφανίζουν σύνολα και μερικά αθροίσματα. Σε πολλές περιπτώσεις, η λήψη των τιμών για αυτά τα σύνολα απαιτεί την αποστολή ξεχωριστών ερωτημάτων στην υποκείμενη προέλευση. Αυτή η απαίτηση ισχύει όποτε χρησιμοποιείτε
DistinctCount
συνάθροιση ή σε όλες τις περιπτώσεις που χρησιμοποιούν το DirectQuery μέσω SAP BW ή SAP HANA. Μπορείτε να απενεργοποιήσετε αυτά τα σύνολα χρησιμοποιώντας το τμήμα παραθύρου Μορφοποίηση .
Προτάσεις DirectQuery
Αυτή η ενότητα παρέχει οδηγίες υψηλού επιπέδου για τον τρόπο επιτυχούς χρήσης του DirectQuery, δεδομένων των συνεπειών του.
Υποκείμενες επιδόσεις προέλευσης δεδομένων
Επαληθεύστε ότι απλές απεικονίσεις ανανεώνονται μέσα σε πέντε δευτερόλεπτα, παρέχοντας μια εύλογη αλληλεπιδραστική εμπειρία. Εάν η ανανέωση των απεικονίσεων διαρκεί περισσότερο από 30 δευτερόλεπτα, είναι πιθανό ότι περαιτέρω ζητήματα μετά τη δημοσίευση αναφοράς θα καταστήσουν τη λύση ανεφάρμοστη.
Εάν τα ερωτήματα είναι αργά, εξετάστε τα ερωτήματα που αποστέλλονται στην υποκείμενη προέλευση και την αιτία της αργής απόδοσης. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Διαγνωστικά απόδοσης.
Αυτό το άρθρο δεν καλύπτει το ευρύ φάσμα των προτάσεων βελτιστοποίησης βάσης δεδομένων σε ολόκληρο το σύνολο των πιθανών υποκείμενων προελεύσεων. Οι ακόλουθες τυπικές πρακτικές βάσης δεδομένων ισχύουν για τις περισσότερες περιπτώσεις:
Για καλύτερες επιδόσεις, βασίσουν τις σχέσεις σε ακέραιες στήλες αντί να ενώσουν στήλες άλλων τύπων δεδομένων.
Δημιουργήστε τα κατάλληλα ευρετήρια. Η δημιουργία ευρετηρίου γενικά σημαίνει χρήση ευρετηρίων χώρου αποθήκευσης στηλών σε προελεύσεις που τα υποστηρίζουν, για παράδειγμα SQL Server.
Ενημερώστε τυχόν απαραίτητα στατιστικά στοιχεία στην προέλευση.
Σχεδίαση μοντέλου
Όταν ορίζετε το μοντέλο, ακολουθήστε αυτές τις οδηγίες:
Αποφύγετε σύνθετα ερωτήματα στο Πρόγραμμα επεξεργασίας Power Query. Το Πρόγραμμα επεξεργασίας Power Query μεταφράζει ένα σύνθετο ερώτημα σε ένα μεμονωμένο ερώτημα SQL. Το μοναδικό ερώτημα εμφανίζεται στη δευτερεύουσα επιλογή κάθε ερωτήματος που αποστέλλεται σε αυτόν τον πίνακα. Εάν αυτό το ερώτημα είναι σύνθετο, μπορεί να προκαλέσει προβλήματα επιδόσεων σε κάθε ερώτημα που αποστέλλεται. Μπορείτε να λάβετε το πραγματικό ερώτημα SQL για ένα σύνολο βημάτων, κάνοντας δεξί κλικ στο τελευταίο βήμα στην περιοχή Εφαρμοσμένα βήματα στο Πρόγραμμα επεξεργασίας Power Query και επιλέγοντας Προβολή εγγενούς ερωτήματος.
Διατηρήστε απλές τις μετρήσεις. Στην αρχή τουλάχιστον, περιορίστε τις μετρήσεις σε απλές συγκεντρωτικές τιμές. Εάν οι μετρήσεις λειτουργούν με ικανοποιητικό τρόπο, μπορείτε να ορίσετε πιο σύνθετες μετρήσεις, προσέχετε όμως τις επιδόσεις.
Αποφύγετε τις σχέσεις σε υπολογιζόμενες στήλες. Σε βάσεις δεδομένων όπου χρειάζεται να δημιουργήσετε ενώσεις πολλών στηλών, το Power BI δεν επιτρέπει τη βάση σχέσεων σε πολλές στήλες ως πρωτεύον κλειδί ή εξωτερικό κλειδί. Η συνήθης λύση είναι να συνενώνετε τις στήλες χρησιμοποιώντας μια υπολογιζόμενη στήλη και να βασίζετε την ένωση σε αυτήν τη στήλη.
Αυτή η λύση είναι λογική για δεδομένα που έχουν εισαχθεί, αλλά για το DirectQuery έχει ως αποτέλεσμα μια ένωση σε μια παράσταση. Αυτό το αποτέλεσμα συνήθως αποτρέπει τη χρήση ευρετηρίων και οδηγεί σε κακές επιδόσεις. Η μόνη λύση είναι να υλοποιήσετε τις πολλαπλές στήλες σε μία μόνο στήλη στην υποκείμενη προέλευση δεδομένων.
Αποφύγετε τις σχέσεις σε στήλες "μοναδικού αναγνωριστικού". Το Power BI δεν υποστηρίζει εγγενώς έναν
uniqueidentifier
τύπο δεδομένων. Ο ορισμός μιας σχέσης μεταξύuniqueidentifier
στηλών έχει ως αποτέλεσμα ένα ερώτημα με μια ένωση που περιλαμβάνει μια μετατροπή σε μετατροπή. Και πάλι, αυτή η προσέγγιση οδηγεί συνήθως σε κακές επιδόσεις. Η μόνη λύση είναι να υλοποιήσετε στήλες εναλλακτικού τύπου στην υποκείμενη προέλευση δεδομένων.Κρύψτε τη στήλη "προς" στις σχέσεις. Η
to
στήλη στις σχέσεις είναι συνήθως το πρωτεύον κλειδί στονto
πίνακα. Αυτή η στήλη θα πρέπει να είναι κρυφή, αλλά αν είναι κρυφή, δεν εμφανίζεται στη λίστα πεδίων και δεν μπορεί να χρησιμοποιηθεί σε απεικονίσεις. Συχνά οι στήλες στις οποίες βασίζονται οι σχέσεις είναι στην πραγματικότητα στήλες συστήματος, για παράδειγμα, υποκατάστατα κλειδιά σε μια αποθήκη δεδομένων. Εξακολουθεί να είναι καλύτερο να κάνετε απόκρυψη τέτοιων στηλών.Εάν η στήλη έχει σημασία, εισαγάγετε μια υπολογιζόμενη στήλη που είναι ορατή και η οποία έχει μια απλή παράσταση ότι ισούται με το πρωτεύον κλειδί, για παράδειγμα:
ProductKey_PK (Destination of a relationship, hidden) ProductKey (= [ProductKey_PK], visible) ProductName ...
Εξετάστε όλες τις υπολογιζόμενες στήλες και τις αλλαγές τύπου δεδομένων. Μπορείτε να χρησιμοποιήσετε υπολογιζόμενους πίνακες όταν χρησιμοποιείτε το DirectQuery με σύνθετα μοντέλα. Αυτές οι δυνατότητες δεν είναι απαραίτητα επιβλαβείς, αλλά έχουν ως αποτέλεσμα ερωτήματα που περιέχουν παραστάσεις αντί για απλές αναφορές σε στήλες. Αυτά τα ερωτήματα μπορεί να έχουν ως αποτέλεσμα τη μη χρήση ευρετηρίων.
Αποφύγετε το αμφίδρομο διασταυρούμενο φιλτράρισμα σε σχέσεις. Η χρήση του αμφίδρομου διασταυρούμενου φιλτραρίσματος μπορεί να οδηγήσει σε προτάσεις ερωτήματος που δεν λειτουργούν σωστά. Για περισσότερες πληροφορίες σχετικά με το αμφίδρομο διασταυρούμενο φιλτράρισμα, ανατρέξτε στο θέμα Ενεργοποίηση αμφίδρομου διασταυρούμενου φιλτραρίσματος για το DirectQuery στο Power BI Desktop ή κάντε λήψη της λευκής βίβλου Διασταυρούμενο φιλτράρισμα διπλής κατεύθυνσης. Τα παραδείγματα στην εργασία είναι για τις Υπηρεσίες ανάλυσης του SQL Server, αλλά τα βασικά σημεία ισχύουν επίσης για το Power BI.
Πειραματιστείτε με τη ρύθμιση Υιοθέτηση ακεραιότητας αναφορών. Η ρύθμιση Υιοθέτηση ακεραιότητας αναφορών στις σχέσεις επιτρέπει στα ερωτήματα να χρησιμοποιούν
INNER JOIN
αντί γιαOUTER JOIN
προτάσεις. Αυτή η καθοδήγηση γενικά βελτιώνει τις επιδόσεις των ερωτημάτων, παρόλο που εξαρτάται από τις λεπτομέρειες της προέλευσης δεδομένων.Μην χρησιμοποιείτε φιλτράρισμα σχετικής ημερομηνίας στο Πρόγραμμα επεξεργασίας Power Query. Μπορείτε να ορίσετε φιλτράρισμα σχετικής ημερομηνίας στο Πρόγραμμα επεξεργασίας Power Query. Για παράδειγμα, μπορείτε να φιλτράρετε στις γραμμές όπου η ημερομηνία είναι τις τελευταίες 14 ημέρες.
Ωστόσο, αυτό το φίλτρο μεταφράζεται σε ένα φίλτρο με βάση μια σταθερή ημερομηνία, όπως την ώρα σύνταξης του ερωτήματος, όπως μπορείτε να δείτε στο εγγενές ερώτημα.
Αυτά τα δεδομένα πιθανώς δεν είναι αυτά που θέλετε. Για να εξασφαλίσετε ότι το φίλτρο εφαρμόζεται με βάση την ημερομηνία κατά την οποία εκτελείται η αναφορά, εφαρμόστε το φίλτρο ημερομηνίας στην αναφορά. Μπορείτε να δημιουργήσετε μια υπολογιζόμενη στήλη που υπολογίζει τον αριθμό των ημερών πριν από τη χρήση της
DAX DATE()
συνάρτησης και να χρησιμοποιήσετε αυτή την υπολογιζόμενη στήλη στο φίλτρο.
Σχεδίαση αναφοράς
Όταν δημιουργείτε μια αναφορά που χρησιμοποιεί μια σύνδεση DirectQuery, ακολουθήστε αυτές τις οδηγίες:
Εξετάστε τη χρήση επιλογών μείωσης ερωτημάτων: Το Power BI παρέχει επιλογές αναφοράς για αποστολή λιγότερων ερωτημάτων, καθώς και για απενεργοποίηση ορισμένων αλληλεπιδράσεων που προκαλούν κακή εμπειρία εάν η εκτέλεση των ερωτημάτων που προκύπτουν διαρκεί πολύ χρόνο. Αυτές οι επιλογές ισχύουν κατά την αλληλεπίδραση με την αναφορά σας στο Power BI Desktop και ισχύουν επίσης όταν οι χρήστες καταναλώνουν την αναφορά στην υπηρεσία Power BI.
Για να αποκτήσετε πρόσβαση σε αυτές τις επιλογές στο Power BI Desktop, μεταβείτε στην επιλογή Αρχείο>Επιλογές και ρυθμίσεις>Επιλογές και επιλέξτε Μείωση ερωτημάτων.
Οι επιλογές στην οθόνη Μείωση ερωτημάτων σάς επιτρέπουν να εμφανίσετε ένα κουμπί Εφαρμογή για αναλυτές ή επιλογές φίλτρου. Δεν αποστέλλονται ερωτήματα μέχρι να επιλέξετε το κουμπί Εφαρμογή στο φίλτρο ή τον αναλυτή. Τα ερωτήματα, στη συνέχεια, χρησιμοποιούν τις επιλογές σας για να φιλτράρουν τα δεδομένα. Αυτό το κουμπί σάς επιτρέπει να κάνετε πολλές επιλογές αναλυτή και φίλτρου προτού τις εφαρμόσετε.
Εφαρμόστε πρώτα τα φίλτρα: Να εφαρμόζετε πάντα τυχόν ισχύοντα φίλτρα στην αρχή της δημιουργίας μιας απεικόνισης. Για παράδειγμα, αντί να σύρετε τα TotalSalesAmount και ProductName και, στη συνέχεια, να φιλτράρετε για ένα συγκεκριμένο έτος, εφαρμόστε το φίλτρο στο Year στην αρχή.
Κάθε βήμα της δημιουργίας μιας απεικόνισης στέλνει ένα ερώτημα. Παρόλο που είναι δυνατό να κάνετε άλλη μια αλλαγή προτού ολοκληρωθεί το πρώτο ερώτημα, αυτή η προσέγγιση εξακολουθεί να αφήνει περιττό φόρτο στην υποκείμενη προέλευση. Η εφαρμογή φίλτρων στην αρχή γενικά καθιστά αυτά τα ενδιάμεσα ερωτήματα λιγότερο δαπανηρά. Η αποτυχία πρώιμης εφαρμογής φίλτρων μπορεί να έχει ως αποτέλεσμα την υπέρβαση του ορίου ενός εκατομμυρίου γραμμών.
Περιορίστε τον αριθμό των απεικονίσεων σε μια σελίδα: Όταν ανοίγετε μια σελίδα ή αλλάζετε έναν αναλυτή ή φίλτρο επιπέδου σελίδας, ανανεώνονται όλες οι απεικονίσεις στη σελίδα. Υπάρχει ένα όριο στον αριθμό παράλληλων ερωτημάτων. Καθώς αυξάνεται ο αριθμός των απεικονίσεων, ορισμένες απεικονίσεις ανανεώνονται σειριακά, το οποίο αυξάνει τον χρόνο που απαιτείται για ανανέωση της σελίδας. Επομένως, είναι προτιμότερο να περιορίσετε τον αριθμό των απεικονίσεων σε μία σελίδα και να έχετε περισσότερες και πιο απλές σελίδες.
Απενεργοποιήστε την αλληλεπίδραση μεταξύ των απεικονίσεων: Από προεπιλογή, οι απεικονίσεις σε μια σελίδα αναφοράς μπορούν να χρησιμοποιηθούν για το διασταυρούμενο φιλτράρισμα και τη διασταυρούμενη επισήμανση των άλλων απεικονίσεων στη σελίδα. Για παράδειγμα, εάν επιλέξετε 1999 στο γράφημα πίτας, γίνεται διασταυρούμενη επισήμανση στο γράφημα στηλών για να εμφανιστούν οι πωλήσεις κατά κατηγορία για το 1999.
Το διασταυρούμενο φιλτράρισμα και η διασταυρούμενη επισήμανση στο DirectQuery απαιτούν υποβολή ερωτημάτων στην υποκείμενη προέλευση. Θα πρέπει να απενεργοποιήσετε αυτήν την αλληλεπίδραση εάν ο χρόνος που απαιτείται για την απόκριση στις επιλογές των χρηστών είναι αδικαιολόγητα μεγάλος.
Μπορείτε να χρησιμοποιήσετε τις ρυθμίσεις μείωσης ερωτημάτων για να απενεργοποιήσετε τη διασταυρούμενη επισήμανση σε ολόκληρη την αναφορά σας ή κατά περίπτωση. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Πώς οι απεικονίσεις φιλτράρονται με διασταύρωση μεταξύ τους σε μια αναφορά Power BI.
Μέγιστος αριθμός συνδέσεων
Μπορείτε να ορίσετε τον μέγιστο αριθμό συνδέσεων DirectQuery που ανοίγει για κάθε υποκείμενη προέλευση δεδομένων, το οποίο ελέγχει τον αριθμό των ερωτημάτων που αποστέλλονται ταυτόχρονα σε κάθε προέλευση δεδομένων.
Το DirectQuery ανοίγει έναν προεπιλεγμένο μέγιστο αριθμό 10 ταυτόχρονων συνδέσεων. Για να αλλάξετε τον μέγιστο αριθμό για το τρέχον αρχείο στο Power BI Desktop, μεταβείτε στην επιλογή Αρχείο>Επιλογές και ρυθμίσεις>Επιλογές και επιλέξτε DirectQuery στην ενότητα Τρέχον αρχείο στο αριστερό τμήμα παραθύρου.
Η ρύθμιση ενεργοποιείται μόνο όταν υπάρχει τουλάχιστον μία προέλευση DirectQuery στην τρέχουσα αναφορά. Η τιμή ισχύει για όλες τις προελεύσεις του DirectQuery και για κάθε νέα προέλευση DirectQuery που προστίθεται σε αυτήν την αναφορά.
Η αύξηση των Μέγιστων συνδέσεων ανά προέλευση δεδομένων επιτρέπει την αποστολή περισσότερων ερωτημάτων, έως τον μέγιστο αριθμό που έχει καθοριστεί, στην υποκείμενη προέλευση δεδομένων. Αυτή η προσέγγιση είναι χρήσιμη όταν πολλές απεικονίσεις βρίσκονται σε μία σελίδα ή πολλοί χρήστες έχουν πρόσβαση σε μια αναφορά ταυτόχρονα. Όταν επιτευχθεί ο μέγιστος αριθμός συνδέσεων, περαιτέρω ερωτήματα τοποθετούνται σε ουρά μέχρι να γίνει διαθέσιμη μια σύνδεση. Ένα υψηλότερο όριο έχει ως αποτέλεσμα μεγαλύτερο φόρτο στην υποκείμενη προέλευση, επομένως η ρύθμιση δεν εγγυάται τη βελτίωση της συνολικής απόδοσης.
Όταν δημοσιεύετε μια αναφορά στην υπηρεσία Power BI, ο μέγιστος αριθμός ταυτόχρονων ερωτημάτων εξαρτάται επίσης από καθορισμένα όρια που έχουν οριστεί στο περιβάλλον προορισμού όπου δημοσιεύεται η αναφορά. Τα Power BI, Power BI Premium και Power BI Report Server θέτουν διαφορετικά όρια. Ο παρακάτω πίνακας παραθέτει τα άνω όρια των ενεργών συνδέσεων ανά προέλευση δεδομένων για κάθε περιβάλλον Power BI. Αυτά τα όρια ισχύουν για προελεύσεις δεδομένων cloud και προελεύσεις δεδομένων εσωτερικής εγκατάστασης όπως SQL Server, Oracle και Teradata.
Περιβάλλον | Ανώτατο όριο ανά προέλευση δεδομένων |
---|---|
Power BI Pro | 10 ενεργές συνδέσεις |
Power BI Premium | Εξαρτάται από τον περιορισμό SKU μοντέλου σημασιολογίας |
Power BI Report Server | 10 ενεργές συνδέσεις |
Σημείωμα
Ο μέγιστος αριθμός ρυθμίσεων συνδέσεων DirectQuery ισχύει για όλες τις προελεύσεις DirectQuery όταν ενεργοποιείτε βελτιωμένα μετα-δεδομένα, που είναι η προεπιλεγμένη ρύθμιση για όλα τα μοντέλα που δημιουργούνται στο Power BI Desktop.
DirectQuery στην υπηρεσία Power BI
Όλες οι προελεύσεις δεδομένων DirectQuery υποστηρίζονται από το Power BI Desktop και ορισμένες προελεύσεις είναι επίσης διαθέσιμες απευθείας μέσα από την υπηρεσία Power BI. Ένας χρήστης επιχείρησης μπορεί να χρησιμοποιήσει το Power BI για να συνδεθεί με τα δεδομένα του στο Salesforce, για παράδειγμα, και να λάβει αμέσως έναν πίνακα εργαλείων, χωρίς να χρησιμοποιήσει το Power BI Desktop.
Μόνο οι παρακάτω δύο προελεύσεις με δυνατότητα DirectQuery είναι διαθέσιμες απευθείας στην υπηρεσία Power BI:
- Spark
- Azure Synapse Analytics (πρώην Αποθήκη δεδομένων SQL)
Ακόμη και για αυτές τις δύο προελεύσεις, είναι προτιμότερο να ξεκινήσετε τη χρήση του DirectQuery στο Power BI Desktop. Παρόλο που είναι εύκολο να κάνετε αρχικά τη σύνδεση στην υπηρεσία Power BI, υπάρχουν περιορισμοί για την περαιτέρω βελτίωση της αναφοράς που προκύπτει. Για παράδειγμα, στην υπηρεσία δεν είναι δυνατή η δημιουργία υπολογισμών ή η χρήση πολλών δυνατοτήτων ανάλυσης ή η ανανέωση των μετα-δεδομένων για να αντικατοπτριστούν οι αλλαγές στο υποκείμενο σχήμα.
Οι επιδόσεις μιας αναφοράς DirectQuery στην υπηρεσία Power BI εξαρτώνται από τον βαθμό φόρτου που ασκείται στην υποκείμενη προέλευση δεδομένων. Ο φόρτος εξαρτάται από τα εξής:
- Ο αριθμός των χρηστών που κάνουν κοινή χρήση της αναφοράς και του πίνακα εργαλείων.
- Η πολυπλοκότητα της αναφοράς.
- Εάν η αναφορά ορίζει ασφάλεια σε επίπεδο γραμμών.
Συμπεριφορά αναφοράς στην υπηρεσία Power BI
Όταν ανοίγετε μια αναφορά στην υπηρεσία Power BI, ανανεώνονται όλες οι απεικονίσεις στη σελίδα που είναι ορατή τη συγκεκριμένη στιγμή. Κάθε απεικόνιση απαιτεί τουλάχιστον ένα ερώτημα προς την υποκείμενη προέλευση δεδομένων. Ορισμένες απεικονίσεις μπορεί να απαιτούν περισσότερα από ένα ερωτήματα. Για παράδειγμα, μια απεικόνιση μπορεί να εμφανίζει συγκεντρωτικές τιμές από δύο διαφορετικούς πίνακες δεδομένων ή να περιέχει μια πιο σύνθετη μέτρηση ή να περιέχει σύνολα μιας μη προσθετικής μέτρησης, όπως το Count Distinct. Η μετακίνηση σε μια νέα σελίδα ανανεώνει αυτές τις απεικονίσεις. Η ανανέωση στέλνει ένα νέο σύνολο ερωτημάτων στην υποκείμενη προέλευση.
Κάθε αλληλεπίδραση του χρήστη στην αναφορά μπορεί να έχει ως αποτέλεσμα την ανανέωση των απεικονίσεων. Για παράδειγμα, η επιλογή διαφορετικής τιμής σε έναν αναλυτή απαιτεί την αποστολή ενός νέου συνόλου ερωτημάτων για την ανανέωση όλων των απεικονίσεων που επηρεάζονται. Το ίδιο ισχύει για την επιλογή μιας απεικόνισης για διασταυρούμενη επισήμανση άλλων απεικονίσεων ή για την αλλαγή ενός φίλτρου. Παρομοίως, η δημιουργία ή επεξεργασία μιας αναφοράς απαιτεί την αποστολή ερωτημάτων για κάθε βήμα της διαδρομής προς την τελική απεικόνιση.
Υπάρχει κάποια προσωρινή αποθήκευση των αποτελεσμάτων. Η ανανέωση μιας απεικόνισης είναι άμεση εάν τα ίδια ακριβώς αποτελέσματα έχουν ληφθεί πρόσφατα. Εάν έχει οριστεί ασφάλεια σε επίπεδο γραμμών, αυτά τα cache δεν κοινοποιούνται στους χρήστες.
Η χρήση του DirectQuery επιβάλλει ορισμένους σημαντικούς περιορισμούς σε ορισμένες από τις δυνατότητες που προσφέρει η υπηρεσία Power BI για δημοσιευμένες αναφορές:
Δεν υποστηρίζονται γρήγορες δεδομενικές πληροφορίες: Οι γρήγορες δεδομενικές πληροφορίες του Power BI κάνουν αναζήτηση σε διαφορετικά υποσύνολα του σημασιολογικού μοντέλου σας, εφαρμόζοντας παράλληλα ένα σύνολο εξελιγμένων αλγόριθμων για να ανακαλύψουν πιθανώς ενδιαφέρουσες πληροφορίες. Επειδή οι γρήγορες πληροφορίες απαιτούν ερωτήματα υψηλών επιδόσεων, αυτή η δυνατότητα δεν είναι διαθέσιμη σε σημασιολογικά μοντέλα που χρησιμοποιούν το DirectQuery.
Η χρήση της δυνατότητας "Εξερεύνηση στο Excel" έχει ως αποτέλεσμα χαμηλές επιδόσεις: Μπορείτε να εξερευνήσετε ένα μοντέλο σημασιολογίας χρησιμοποιώντας τη δυνατότητα "Εξερεύνηση στο Excel ", η οποία σας επιτρέπει να δημιουργείτε συγκεντρωτικούς πίνακες και συγκεντρωτικά γραφήματα στο Excel. Αυτή η δυνατότητα υποστηρίζεται για σημασιολογικά μοντέλα που χρησιμοποιούν το DirectQuery, αλλά οι επιδόσεις είναι πιο αργές από τη δημιουργία απεικονίσεων στο Power BI. Εάν η χρήση του Excel είναι σημαντική για τα σενάριά σας, θα λάβετε υπόψη σας αυτό το ζήτημα όταν αποφασίσετε αν θα χρησιμοποιήσετε το DirectQuery.
Το Excel δεν εμφανίζει ιεραρχίες: Για παράδειγμα, όταν χρησιμοποιείτε την Ανάλυση στο Excel, το Excel δεν εμφανίζει ιεραρχίες που έχουν οριστεί σε μοντέλα Υπηρεσιών Ανάλυσης του Azure ή σημασιολογικά μοντέλα Power BI που χρησιμοποιούν το DirectQuery.
Ανανέωση πίνακα εργαλείων
Στην υπηρεσία Power BI, μπορείτε να καρφιτσώσετε μεμονωμένες απεικονίσεις ή ολόκληρες σελίδες σε πίνακες εργαλείων ως πλακίδια. Τα πλακίδια που βασίζονται σε σημασιολογικά μοντέλα DirectQuery ανανεώνονται αυτόματα με την αποστολή ερωτημάτων στις υποκείμενες προελεύσεις δεδομένων βάσει χρονοδιαγράμματος. Από προεπιλογή, τα σημασιολογικά μοντέλα ανανεώνονται κάθε ώρα, αλλά μπορείτε να ρυθμίσετε τα διαστήματα χρονοδιαγράμματος ανανέωσης μεταξύ εβδομαδιαίας και κάθε 15 λεπτά ως μέρος των ρυθμίσεων σημασιολογικού μοντέλου.
Εάν δεν έχει οριστεί ασφάλεια σε επίπεδο γραμμών στο μοντέλο, κάθε πλακίδιο ανανεώνεται μία φορά και τα αποτελέσματα κοινοποιούνται σε όλους τους χρήστες. Εάν χρησιμοποιείτε ασφάλεια σε επίπεδο γραμμών, κάθε πλακίδιο απαιτεί την αποστολή ξεχωριστών ερωτημάτων ανά χρήστη στην υποκείμενη προέλευση.
Μπορεί να υπάρχει ένα μεγάλο πολλαπλασιαστικό αποτέλεσμα. Ένας πίνακας εργαλείων με 10 πλακίδια, ο οποίος χρησιμοποιείται από κοινού από 100 χρήστες, έχει δημιουργηθεί σε ένα μοντέλο σημασιολογίας με χρήση του DirectQuery με ασφάλεια σε επίπεδο γραμμών και έχει ως αποτέλεσμα την αποστολή τουλάχιστον 1.000 ερωτημάτων στην υποκείμενη προέλευση δεδομένων για κάθε ανανέωση. Εξετάστε προσεκτικά τη χρήση της ασφάλειας σε επίπεδο γραμμών και τη ρύθμιση παραμέτρων του χρονοδιαγράμματος ανανέωσης.
Λήξη χρονικού ορίου ερωτήματος
Ένα χρονικό όριο τεσσάρων λεπτών ισχύει για μεμονωμένα ερωτήματα στην υπηρεσία Power BI. Τα ερωτήματα που απαιτούν περισσότερο από τέσσερα λεπτά αποτυγχάνουν. Αυτό το όριο προορίζεται για να αποτρέπονται προβλήματα που προκαλούνται από υπερβολικά μεγάλους χρόνους εκτέλεσης. Θα πρέπει να χρησιμοποιείτε το DirectQuery μόνο για προελεύσεις που μπορούν να παρέχουν επιδόσεις αλληλεπιδραστικών ερωτημάτων.
Διαγνωστικός έλεγχος απόδοσης
Αυτή η ενότητα περιγράφει τον τρόπο διάγνωσης προβλημάτων επιδόσεων ή πώς μπορείτε να λάβετε πιο λεπτομερείς πληροφορίες για να βελτιστοποιήσετε τις αναφορές σας.
Ξεκινήστε τη διάγνωση ζητημάτων επιδόσεων στο Power BI Desktop και όχι στην υπηρεσία Power BI. Τα προβλήματα επιδόσεων συχνά βασίζονται στις επιδόσεις της υποκείμενης προέλευσης. Μπορείτε να εντοπίσετε και διαγνώσετε πιο εύκολα προβλήματα στο πιο απομονωμένο περιβάλλον του Power BI Desktop.
Αυτή η προσέγγιση εξαλείφει αρχικά ορισμένα στοιχεία, όπως την πύλη Power BI. Εάν τα προβλήματα επιδόσεων δεν προκύψουν στο Power BI Desktop, μπορείτε να διερευνήσετε τις λεπτομέρειες της αναφοράς στην υπηρεσία Power BI.
Η Ανάλυση απόδοσης του Power BI Desktop είναι ένα χρήσιμο εργαλείο για τον εντοπισμό προβλημάτων. Προσπαθήστε να απομονώσετε τυχόν προβλήματα σε μία απεικόνιση και όχι σε πολλές απεικονίσεις σε μια σελίδα. Εάν μία μεμονωμένη απεικόνιση σε μια σελίδα του Power BI Desktop είναι αργή, χρησιμοποιήστε την Ανάλυση απόδοσης για να αναλύσετε τα ερωτήματα που στέλνει το Power BI Desktop στην υποκείμενη προέλευση.
Μπορείτε επίσης να προβάλετε ανιχνεύσεις και διαγνωστικές πληροφορίες που εκπέμπουν ορισμένες υποκείμενες προελεύσεις δεδομένων. Ακόμα και αν δεν υπάρχουν ανιχνεύσεις από την προέλευση, το αρχείο ανίχνευσης μπορεί να περιέχει χρήσιμες λεπτομέρειες για τον τρόπο που εκτελείται ένα ερώτημα και πώς μπορείτε να το βελτιώσετε. Μπορείτε να χρησιμοποιήσετε την ακόλουθη διαδικασία για να προβάλετε τα ερωτήματα που στέλνει το Power BI και τους χρόνους εκτέλεσής τους.
Χρήση του SQL Server Profiler για την προβολή ερωτημάτων
Από προεπιλογή, το Power BI Desktop καταγράφει συμβάντα κατά τη διάρκεια μιας δεδομένης περιόδου λειτουργίας σε ένα αρχείο ανίχνευσης που ονομάζεται FlightRecorderCurrent.trc. Το αρχείο ανίχνευσης βρίσκεται στον φάκελο του Power BI Desktop για τον τρέχοντα χρήστη, σε έναν φάκελο που ονομάζεται AnalysisServicesWorkspaces.
Για ορισμένες προελεύσεις DirectQuery, αυτό το αρχείο ανίχνευσης περιλαμβάνει όλα τα ερωτήματα που αποστέλλονται στην υποκείμενη προέλευση δεδομένων. Οι παρακάτω προελεύσεις δεδομένων στέλνουν ερωτήματα στο αρχείο καταγραφής:
- SQL Server
- Βάση δεδομένων SQL Azure
- Azure Synapse Analytics (πρώην Αποθήκη δεδομένων SQL)
- Oracle
- Teradata
- SAP HANA
Μπορείτε να διαβάσετε τα αρχεία ανίχνευσης χρησιμοποιώντας το SQL Server Profiler, μέρος της δωρεάν λήψης του SQL Server Management Studio.
Για να ανοίξετε το αρχείο ανίχνευσης για την τρέχουσα περίοδο λειτουργίας:
Κατά τη διάρκεια μιας περιόδου λειτουργίας του Power BI Desktop, επιλέξτε Αρχείο>Επιλογές και ρυθμίσεις>Επιλογές και, στη συνέχεια, επιλέξτε Διαγνωστικά.
Στην περιοχή Συλλογή ένδειξης σφαλμάτων, επιλέξτε Άνοιγμα φακέλου ένδειξης σφαλμάτων/ιχνών.
Ανοίγει ο φάκελος Power BI Desktop\Traces .
Μεταβείτε στον γονικό φάκελο και, στη συνέχεια, στον φάκελο AnalysisServicesWorkspaces, ο οποίος περιέχει έναν φάκελο χώρου εργασίας για κάθε ανοιχτή παρουσία του Power BI Desktop. Αυτοί οι φάκελοι ονομάζονται με ένα επίθημα ακέραιου, όπως AnalysisServicesWorkspace2058279583. Ο φάκελος χώρου εργασίας διαγράφεται όταν λήξει η σχετική περίοδος λειτουργίας του Power BI Desktop.
Μέσα στον φάκελο του χώρου εργασίας για την τρέχουσα περίοδο λειτουργίας του Power BI, ο φάκελος \Data περιέχει το αρχείο ανίχνευσης FlightRecorderCurrent.trc . Σημειώστε την τοποθεσία.
Ανοίξτε το SQL Server Profiler και επιλέξτε Αρχείο Άνοιγμα>αρχείου>ανίχνευσης.
Μεταβείτε ή εισαγάγετε τη διαδρομή προς το αρχείο ανίχνευσης για την τρέχουσα περίοδο λειτουργίας του Power BI και ανοίξτε το FlightRecorderCurrent.trc.
Το SQL Server Profiler εμφανίζει όλα τα συμβάντα από την τρέχουσα περίοδο λειτουργίας. Το παρακάτω στιγμιότυπο οθόνης επισημαίνει μια ομάδα συμβάντων για ένα ερώτημα. Κάθε ομάδα ερωτημάτων έχει τα εξής συμβάντα:
Ένα
Query Begin
συμβάν καιQuery End
, το οποίο αντιπροσωπεύει την έναρξη και τη λήξη ενός ερωτήματος DAX που δημιουργείται με την αλλαγή μιας απεικόνισης ή φίλτρου στο περιβάλλον εργασίας χρήστη του Power BI ή από το φιλτράρισμα ή τον μετασχηματισμό δεδομένων στο Πρόγραμμα επεξεργασίας Power Query.Ένα ή περισσότερα ζεύγη συμβάντων
DirectQuery Begin
καιDirectQuery End
, τα οποία αντιπροσωπεύουν ερωτήματα που έχουν σταλεί στην υποκείμενη προέλευση δεδομένων ως μέρος της αξιολόγησης του ερωτήματος DAX.
Είναι δυνατή η παράλληλη εκτέλεση πολλών ερωτημάτων DAX, επομένως είναι δυνατή η παρεμβολή συμβάντων από διαφορετικές ομάδες. Μπορείτε να χρησιμοποιήσετε την ActivityID
τιμή για να προσδιορίσετε ποια συμβάντα ανήκουν στην ίδια ομάδα.
Ενδιαφέρουν επίσης οι ακόλουθες στήλες:
- TextData: Οι λεπτομέρειες κειμένου του συμβάντος. Για
Query Begin
συμβάντα καιQuery End
, η λεπτομέρεια είναι το ερώτημα DAX. ΓιαDirectQuery Begin
συμβάντα καιDirectQuery End
, η λεπτομέρεια είναι το ερώτημα SQL που αποστέλλεται στην υποκείμενη προέλευση. Το TextData για το τρέχον επιλεγμένο συμβάν εμφανίζεται επίσης στο τμήμα παραθύρου στο κάτω μέρος της οθόνης. - EndTime: Πότε ολοκληρώθηκε το συμβάν.
- Διάρκεια: Η διάρκεια, σε χιλιοστά του δευτερολέπτου, χρειάστηκε για την εκτέλεση του ερωτήματος DAX ή SQL.
- Σφάλμα: Εάν παρουσιάστηκε σφάλμα, σε αυτή την περίπτωση το συμβάν εμφανίζεται με κόκκινο χρώμα.
Για να καταγράψετε μια ανίχνευση που θα σας βοηθήσει στη διάγνωση ενός πιθανού ζητήματος επιδόσεων:
Ανοίξτε μία περίοδο λειτουργίας του Power BI Desktop, για να αποφύγετε τη σύγχυση των πολλαπλών φακέλων χώρου εργασίας.
Εκτελέστε το σύνολο των ενεργειών που σας ενδιαφέρει στο Power BI Desktop. Συμπεριλάβετε μερικές ακόμα ενέργειες, για να εξασφαλίσετε ότι τα συμβάντα που σας ενδιαφέρουν θα κατανοηθούν στο αρχείο ανίχνευσης.
Ανοίξτε το SQL Server Profiler και εξετάστε την ανίχνευση. Να θυμάστε ότι το κλείσιμο του Power BI Desktop διαγράφει το αρχείο ανίχνευσης. Επίσης, περαιτέρω ενέργειες στο Power BI Desktop δεν εμφανίζονται αμέσως. Πρέπει να κλείσετε και να ανοίξετε ξανά το αρχείο ανίχνευσης για να δείτε νέα συμβάντα.
Διατηρήστε μεμονωμένες περιόδους λειτουργίας σχετικά μικρές, ίσως ενέργειες των 10 δευτερολέπτων, όχι εκατοντάδων. Αυτή η προσέγγιση διευκολύνει την ερμηνεία του αρχείου ανίχνευσης. Υπάρχει επίσης ένα όριο στο μέγεθος του αρχείου ανίχνευσης. Για περιόδους λειτουργίας μεγάλης διάρκειας, υπάρχει πιθανότητα απόρριψης πρόωρων συμβάντων.
Κατανόηση της μορφής των ερωτημάτων
Η γενική μορφή των ερωτημάτων Power BI Desktop χρησιμοποιεί δευτερεύουσες επιλογές για κάθε πίνακα στον οποίο αναφέρονται. Το ερώτημα του Προγράμματος επεξεργασίας Power Query ορίζει τα ερωτήματα δευτερεύουσας επιλογής. Για παράδειγμα, ας υποθέσουμε ότι έχετε τους ακόλουθους πίνακες TPC-DS στον SQL Server:
Εκτέλεση του παρακάτω ερωτήματος:
SalesAmount (SUMX(Web_Sales, [ws_sales_price]*[ws_quantity]))
by Item[i_category]
for Date_dim[d_year] = 2000
Έχει ως αποτέλεσμα την ακόλουθη απεικόνιση στο Power BI:
Η ανανέωση της απεικόνισης παράγει το ερώτημα SQL στην παρακάτω εικόνα. Υπάρχουν τρία ερωτήματα δευτερεύουσας επιλογής για Web_Sales
, Item
και Date_dim
, τα οποία επιστρέφουν το καθένα όλες τις στήλες στον αντίστοιχο πίνακα, παρόλο που η απεικόνιση αναφέρεται σε μόνο τέσσερις στήλες.
Το Πρόγραμμα επεξεργασίας Power Query ορίζει τα ακριβή ερωτήματα δευτερεύουσας επιλογής. Αυτή η χρήση ερωτημάτων δευτερεύουσας επιλογής δεν έχει αποδειχθεί ότι επηρεάζει τις επιδόσεις για τις προελεύσεις δεδομένων που υποστηρίζει το DirectQuery. Οι προελεύσεις δεδομένων όπως ο SQL Server καταργούν τις αναφορές στις άλλες στήλες.
Το Power BI χρησιμοποιεί αυτό το μοτίβο καθώς ο αναλυτής παρέχει απευθείας το ερώτημα SQL. Το Power BI χρησιμοποιεί το ερώτημα όπως παρέχεται, χωρίς καμία προσπάθεια αναδιατύπωσής του.
Σχετικό περιεχόμενο
Για περισσότερες πληροφορίες σχετικά με το DirectQuery στο Power BI, ανατρέξτε στα εξής:
Αυτό το άρθρο περιέγραψε τις πτυχές του DirectQuery που είναι κοινές σε όλες τις προελεύσεις δεδομένων. Ανατρέξτε στα παρακάτω άρθρα για λεπτομέρειες σχετικά με συγκεκριμένες προελεύσεις: