Χρήση του DirectQuery στο Power BI Desktop
Όταν συνδέεστε σε οποιαδήποτε προέλευση δεδομένων με το Power BI Desktop, μπορείτε να εισαγάγετε ένα αντίγραφο των δεδομένων. Για ορισμένες προελεύσεις δεδομένων, μπορείτε επίσης να συνδεθείτε απευθείας στην προέλευση δεδομένων χωρίς εισαγωγή δεδομένων χρησιμοποιώντας το DirectQuery. Αυτό το άρθρο εξηγεί τις διαφορές μεταξύ των λειτουργιών συνδεσιμότητας εισαγωγής και DirectQuery και σας δείχνει πώς μπορείτε να συνδεθείτε σε προελεύσεις δεδομένων χρησιμοποιώντας το DirectQuery. Καλύπτει επίσης τα ζητήματα και τους περιορισμούς της χρήσης του DirectQuery, όπως οι επιδόσεις και η ασφάλεια.
Για να προσδιορίσετε εάν μια προέλευση δεδομένων υποστηρίζει το DirectQuery, προβάλετε την πλήρη λίστα των διαθέσιμων προελεύσεων δεδομένων που βρίσκονται στο άρθρο Συνδέσεις στο Power Query, το οποίο ισχύει επίσης για το Power BI. Επιλέξτε το άρθρο που περιγράφει την προέλευση δεδομένων που σας ενδιαφέρει από τη λίστα των υποστηριζόμενων συνδέσεων και, στη συνέχεια, ανατρέξτε στην ενότητα στο άρθρο αυτής της σύνδεσης με τίτλο Δυνατότητες που υποστηρίζεται. Εάν το DirectQuery δεν αναφέρεται σε αυτή την ενότητα για το άρθρο της προέλευσης δεδομένων, το DirectQuery δεν υποστηρίζεται για αυτήν τη σύνδεση δεδομένων.
Ακολουθούν οι διαφορές μεταξύ της χρήσης των λειτουργιών συνδεσιμότητας Εισαγωγή και DirectQuery:
Εισαγωγή: Ένα αντίγραφο των δεδομένων από τους επιλεγμένους πίνακες και στήλες εισάγεται στο Power BI Desktop. Καθώς δημιουργείτε ή αλληλεπιδράτε με απεικονίσεις, το Power BI Desktop χρησιμοποιεί τα δεδομένα που έχουν εισαχθεί. Για να δείτε αλλαγές στα υποκείμενα δεδομένα μετά την αρχική εισαγωγή ή την πιο πρόσφατη ανανέωση, πρέπει να εισαγάγετε ξανά το πλήρες μοντέλο σημασιολογίας για να ανανεώσετε τα δεδομένα.
DirectQuery: Δεν εισάγονται δεδομένα στο Power BI Desktop. Για σχεσιακές προελεύσεις, μπορείτε να επιλέξετε πίνακες και στήλες που θα εμφανίζονται στο τμήμα παραθύρου Δεδομένα του Power BI Desktop. Για πολυδιάστατες προελεύσεις όπως το SAP Business Warehouse (SAP BW), οι διαστάσεις και οι μετρήσεις του επιλεγμένου κύβου εμφανίζονται στο τμήμα παραθύρου Δεδομένα . Καθώς δημιουργείτε ή αλληλεπιδράτε με απεικονίσεις, το Power BI Desktop υποβάλλει ερώτημα στην υποκείμενη προέλευση δεδομένων, ώστε να βλέπετε πάντα τρέχοντα δεδομένα.
Με το DirectQuery, όταν δημιουργείτε ή αλληλεπιδράτε με μια απεικόνιση, πρέπει να υποβάλετε ερώτημα στην υποκείμενη προέλευση. Ο χρόνος που απαιτείται για την ανανέωση της απεικόνισης εξαρτάται από τις επιδόσεις της υποκείμενης προέλευσης δεδομένων. Εάν τα δεδομένα που είναι απαραίτητα για την εξυπηρέτηση της αίτησης ζητήθηκαν πρόσφατα, το Power BI Desktop χρησιμοποιεί τα πρόσφατα δεδομένα για να μειώσει τον χρόνο που απαιτείται για την εμφάνιση της απεικόνισης. Η επιλογή Ανανέωση από την Αρχική κορδέλα ανανεώνει όλες τις απεικονίσεις με τα τρέχοντα δεδομένα.
Υπάρχουν πολλές διαθέσιμες επιλογές μοντελοποίησης και μετασχηματισμού δεδομένων κατά τη χρήση του DirectQuery, αν και με ορισμένους περιορισμούς που βασίζονται στην απόδοση. Για περισσότερες πληροφορίες σχετικά με τα πλεονεκτήματα, τους περιορισμούς και τις προτάσεις του DirectQuery, ανατρέξτε στο θέμα DirectQuery στο Power BI.
Πλεονεκτήματα DirectQuery
Ορισμένα οφέλη από τη χρήση του DirectQuery είναι τα εξής:
Το DirectQuery σάς επιτρέπει να δημιουργήσετε απεικονίσεις σε πολύ μεγάλα σημασιολογικά μοντέλα, όπου θα ήταν αδύνατο να εισαγάγετε όλα τα δεδομένα με συνάθροιση εκ των προτέρων.
Οι αναφορές DirectQuery χρησιμοποιούν πάντα τρέχοντα δεδομένα. Η εμφάνιση των υποκείμενων αλλαγών δεδομένων απαιτεί να ανανεώσετε τα δεδομένα και η εκ νέου εισαγωγή μεγάλων σημασιολογικών μοντέλων για ανανέωση δεδομένων μπορεί να είναι ανέφικτη.
Ο περιορισμός σημασιολογικού μοντέλου 1 GB δεν ισχύει για το DirectQuery.
Σύνδεση με χρήση του DirectQuery
Για να συνδεθείτε σε μια προέλευση δεδομένων με το DirectQuery:
Στην Αρχική ομάδα της κορδέλας του Power BI Desktop, επιλέξτε Λήψη δεδομένων και, στη συνέχεια, επιλέξτε μια προέλευση δεδομένων που υποστηρίζει το DirectQuery, όπως ο SQL Server.
Στο παράθυρο διαλόγου για τη σύνδεση, στη λειτουργία συνδεσιμότητας δεδομένων, επιλέξτε DirectQuery.
Δημοσίευση στην υπηρεσία Power BI
Μπορείτε να δημοσιεύσετε αναφορές DirectQuery στην υπηρεσία Power BI, αλλά πρέπει να κάνετε επιπλέον βήματα για να ανοίξει οι αναφορές η υπηρεσία Power BI.
Για να συνδέσετε την υπηρεσία Power BI σε προελεύσεις δεδομένων DirectQuery εκτός από τη Βάση δεδομένων SQL Azure, το Azure Synapse Analytics (πρώην Αποθήκη δεδομένων SQL), το Amazon Redshift και την Αποθήκη δεδομένων Snowflake, εγκαταστήστε μια πύλη δεδομένων εσωτερικής εγκατάστασης και καταχωρήστε την προέλευση δεδομένων.
Εάν χρησιμοποιήσατε το DirectQuery με προελεύσεις cloud όπως βάση δεδομένων SQL Azure, Azure Synapse, Amazon Redshift ή Αποθήκη δεδομένων Snowflake, δεν χρειάζεστε πύλη δεδομένων εσωτερικής εγκατάστασης. Εξακολουθεί να πρέπει να καταχωρήσετε διαπιστευτήρια για την υπηρεσία Power BI για να ανοίξετε τη δημοσιευμένη αναφορά. Χωρίς διαπιστευτήρια, παρουσιάζεται ένα σφάλμα όταν προσπαθείτε να ανοίξετε μια δημοσιευμένη αναφορά ή να εξερευνήσετε ένα μοντέλο σημασιολογίας που δημιουργήθηκε με μια σύνδεση DirectQuery.
Για να καταχωρήσετε διαπιστευτήρια για το άνοιγμα της αναφοράς και την ανανέωση των δεδομένων:
Στην υπηρεσία Power BI, μεταβείτε στον χώρο εργασίας και εντοπίστε το σημασιολογικό μοντέλο που χρησιμοποιεί το DirectQuery στη λίστα περιεχομένου του χώρου εργασίας.
Επιλέξτε περισσότερες επιλογές εικονίδιο τριών οριζόντιων κουκκίδων δίπλα στο όνομα του μοντέλου σημασιολογίας και, στη συνέχεια, επιλέξτε Ρυθμίσεις.
Στην περιοχή Διαπιστευτήρια προέλευσης δεδομένων, καταχωρήστε τα διαπιστευτήρια για να συνδεθείτε στην προέλευση δεδομένων.
Σημείωμα
Εάν χρησιμοποιήσατε το DirectQuery με μια βάση δεδομένων SQL Azure που διαθέτει ιδιωτική διεύθυνση IP, πρέπει να χρησιμοποιήσετε μια πύλη εσωτερικής εγκατάστασης.
Ζητήματα προς εξέταση και περιορισμοί
Ορισμένες δυνατότητες του Power BI Desktop δεν υποστηρίζονται στη λειτουργία DirectQuery ή έχουν περιορισμούς. Ορισμένες δυνατότητες στην υπηρεσία Power BI, όπως οι γρήγορες δεδομενικές πληροφορίες, δεν είναι επίσης διαθέσιμες για σημασιολογικά μοντέλα που χρησιμοποιούν το DirectQuery. Όταν αποφασίσετε αν θα χρησιμοποιήσετε το DirectQuery, εξετάστε αυτούς τους περιορισμούς δυνατοτήτων. Λάβετε επίσης υπόψη τους ακόλουθους παράγοντες:
Ζητήματα επιδόσεων και φόρτου
Το DirectQuery στέλνει όλες τις αιτήσεις στη βάση δεδομένων προέλευσης, επομένως ο απαιτούμενος χρόνος ανανέωσης για τις απεικονίσεις εξαρτάται από τον χρόνο που απαιτείται από την υποκείμενη προέλευση για να επιστρέψει αποτελέσματα. Πέντε δευτερόλεπτα ή λιγότερο είναι ο προτεινόμενος χρόνος απόκρισης για τη λήψη δεδομένων που ζητήθηκαν για απεικονίσεις. Οι χρόνοι ανανέωσης σε διάστημα 30 δευτερολέπτων παράγουν μια πολύ κακή εμπειρία για τους χρήστες που καταναλώνουν την αναφορά. Ένα ερώτημα που διαρκεί περισσότερο από τέσσερα λεπτά ορίζεται στην υπηρεσία Power BI και ο χρήστης λαμβάνει ένα σφάλμα.
Η φόρτωση στη βάση δεδομένων προέλευσης εξαρτάται επίσης από τον αριθμό των χρηστών του Power BI που καταναλώνουν τη δημοσιευμένη αναφορά, ειδικά εάν η αναφορά χρησιμοποιεί ασφάλεια σε επίπεδο γραμμών (RLS). Η ανανέωση ενός πλακιδίου πίνακα εργαλείων που δεν είναι RLS που κοινοποιήθηκε από πολλούς χρήστες στέλνει ένα μόνο ερώτημα στη βάση δεδομένων, αλλά η ανανέωση ενός πλακιδίου πίνακα εργαλείων που χρησιμοποιεί RLS απαιτεί ένα ερώτημα ανά χρήστη. Τα αυξημένα ερωτήματα αυξάνουν σημαντικά τον φόρτο και πιθανώς επηρεάζουν τις επιδόσεις.
Όριο 1 εκατομμυρίου γραμμών
Το DirectQuery ορίζει ένα όριο 1 εκατομμυρίου γραμμών για δεδομένα που επιστρέφονται από προελεύσεις δεδομένων cloud, οι οποίες είναι οποιεσδήποτε προελεύσεις δεδομένων που δεν βρίσκονται στην εσωτερική εγκατάσταση. Οι προελεύσεις εσωτερικής εγκατάστασης περιορίζονται σε ένα καθορισμένο ωφέλιμο φορτίο περίπου 4 MB ανά γραμμή, ανάλογα με τον αποκλειστικό αλγόριθμο συμπίεσης ή 16 MB για ολόκληρη την απεικόνιση. Οι Premium εκχωρημένοι πόροι μπορούν να ορίσουν διαφορετικά μέγιστα όρια γραμμών, όπως περιγράφεται στην καταχώρηση ιστολογίου νέες ρυθμίσεις εκχωρημένων πόρων του Power BI Premium.
Το Power BI δημιουργεί ερωτήματα που είναι όσο το δυνατόν πιο αποτελεσματικά, αλλά ορισμένα ερωτήματα που δημιουργούνται ενδέχεται να ανακτήσουν πάρα πολλές γραμμές από την υποκείμενη προέλευση δεδομένων. Για παράδειγμα, αυτή η κατάσταση μπορεί να προκύψει με ένα απλό γράφημα που περιλαμβάνει μια στήλη υψηλής πληθικότητας με την επιλογή συνάθροισης να έχει οριστεί σε Χωρίς υπολογισμό. Η απεικόνιση πρέπει να έχει μόνο στήλες με πληθικότητα χαμηλότερη από 1 εκατομμύριο ή πρέπει να εφαρμόσει τα κατάλληλα φίλτρα.
Το όριο γραμμών δεν ισχύει για συναθροίσεις ή υπολογισμούς που χρησιμοποιούνται για την επιλογή του μοντέλου σημασιολογίας Που επιστρέφει το DirectQuery, μόνο για τις γραμμές που επιστρέφονται. Για παράδειγμα, το ερώτημα που εκτελείται στην προέλευση δεδομένων μπορεί να συγκεντρώσει 10 εκατομμύρια γραμμές. Εφόσον τα δεδομένα που επιστρέφονται στο Power BI είναι λιγότερες από 1 εκατομμύριο γραμμές, το ερώτημα μπορεί να επιστρέψει με ακρίβεια τα αποτελέσματα. Εάν τα δεδομένα έχουν πάνω από 1 εκατομμύριο γραμμές, το Power BI εμφανίζει ένα σφάλμα, εκτός από τους Premium εκχωρημένους πόρους με διαφορετικά όρια από τον διαχειριστή. Το σφάλμα αναφέρει: Το σύνολο αποτελεσμάτων ενός ερωτήματος προς προέλευση εξωτερικών δεδομένων υπερέβη το μέγιστο επιτρεπόμενο μέγεθος '1000000' γραμμών.
Ζητήματα ασφαλείας
Από προεπιλογή, όλοι οι χρήστες που χρησιμοποιούν μια δημοσιευμένη αναφορά στην υπηρεσία Power BI συνδέονται στην υποκείμενη προέλευση δεδομένων χρησιμοποιώντας τα διαπιστευτήρια που έχουν εισάγει μετά τη δημοσίευση. Αυτή η κατάσταση είναι ίδια με την περίπτωση των δεδομένων που έχουν εισαχθεί. Όλοι οι χρήστες βλέπουν τα ίδια δεδομένα, ανεξάρτητα από τους κανόνες ασφαλείας που ορίζει η υποκείμενη προέλευση.
Εάν χρειάζεστε την υλοποίηση ασφάλειας ανά χρήστη με προελεύσεις DirectQuery, είτε χρησιμοποιήστε το RLS είτε ρυθμίστε τον περιορισμένο έλεγχο ταυτότητας Kerberos στην προέλευση. Το Kerberos δεν είναι διαθέσιμο για όλες τις προελεύσεις. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ασφάλεια σε επίπεδο γραμμών (RLS) με το Power BI και Ρύθμιση παραμέτρων SSO που βασίζεται στο Kerberos από την υπηρεσία Power BI σε προελεύσεις δεδομένων εσωτερικής εγκατάστασης.
Άλλοι περιορισμοί του DirectQuery
Ορισμένοι άλλοι περιορισμοί στη χρήση του DirectQuery περιλαμβάνουν τα εξής:
Εάν το ερώτημα του προγράμματος επεξεργασίας Power Query είναι υπερβολικά σύνθετο, παρουσιάζεται ένα σφάλμα. Για να διορθώσετε το σφάλμα, πρέπει είτε να διαγράψετε το προβληματικό βήμα στο Πρόγραμμα επεξεργασίας Power Query είτε να μεταβείτε σε λειτουργία εισαγωγής. Οι πολυδιάστατες προελεύσεις όπως το SAP BW δεν μπορούν να χρησιμοποιήσουν το Πρόγραμμα επεξεργασίας Power Query.
Η αυτόματη ιεραρχία ημερομηνίας/ώρας δεν είναι διαθέσιμη στο DirectQuery. Η λειτουργία DirectQuery δεν υποστηρίζει λεπτομερή έρευνα στήλης ημερομηνίας κατά έτος, τρίμηνο, μήνα ή ημέρα.
Για τις απεικονίσεις πίνακα ή μήτρας, υπάρχει ένα όριο 125 στηλών για τα αποτελέσματα που επιστρέφουν περισσότερες από 500 γραμμές από προελεύσεις DirectQuery. Αυτά τα αποτελέσματα εμφανίζουν μια γραμμή κύλισης στον πίνακα ή μήτρα που σας επιτρέπει να έχετε περισσότερα δεδομένα. Σε αυτή την περίπτωση, ο μέγιστος αριθμός στηλών στον πίνακα ή μήτρα είναι 125. Εάν πρέπει να συμπεριλάβετε περισσότερες από 125 στήλες σε έναν μοναδικό πίνακα ή μήτρα, εξετάστε τη δημιουργία μετρήσεων που χρησιμοποιούν
MIN
τα ,MAX
,FIRST
ήLAST
, καθώς δεν υπολογίζονται σε αυτό το μέγιστο.Δεν μπορείτε να αλλάξετε από Λειτουργία εισαγωγής σε λειτουργία DirectQuery. Μπορείτε να μεταβείτε από τη λειτουργία DirectQuery σε λειτουργία εισαγωγής εάν εισαγάγετε όλα τα απαραίτητα δεδομένα. Δεν είναι δυνατή η επαναφορά της, κυρίως λόγω του συνόλου δυνατοτήτων που δεν υποστηρίζει το DirectQuery. Τα μοντέλα DirectQuery μέσω πολυδιάστατων προελεύσεων, όπως SAP BW, δεν μπορούν να αλλάξουν από DirectQuery σε λειτουργία εισαγωγής, λόγω της διαφορετικής αντιμετώπισης των εξωτερικών μετρήσεων.
Οι υπολογιζόμενοι πίνακες και οι υπολογιζόμενες στήλες που αναφέρονται σε έναν πίνακα DirectQuery από μια προέλευση δεδομένων με έλεγχο ταυτότητας καθολικής σύνδεσης (SSO) υποστηρίζονται στην υπηρεσία Power BI με μια κοινόχρηστη σύνδεση cloud ή /και λεπτομερή έλεγχο πρόσβασης.