Επισκόπηση της αξιολόγησης ερωτημάτων και της αναδίπλωσης ερωτημάτων στο Power Query

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

Δέσμη ενεργειών Power Query M

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

Συμβουλή

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

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

Σημείωση

Η δέσμη ενεργειών M χρησιμοποιείται στο πρόγραμμα επεξεργασίας Power Query για τα εξής:

  • Εμφανίζει το ερώτημα ως μια σειρά βημάτων και επιτρέπει τη δημιουργία ή την τροποποίηση νέων βημάτων.
  • Εμφάνιση μιας προβολής διαγράμματος.

Στιγμιότυπο οθόνης των εφαρμοσμένων βημάτων και της προβολής προεπισκόπησης δεδομένων.

Η προηγούμενη εικόνα τονίζει την ενότητα εφαρμοσμένων βημάτων, η οποία περιέχει τα παρακάτω βήματα:

  • Προέλευση: Πραγματοποιεί τη σύνδεση στην προέλευση δεδομένων. Σε αυτήν την περίπτωση, πρόκειται για μια σύνδεση με μια βάση δεδομένων του SQL Server.
  • Περιήγηση: Μεταβαίνει σε έναν συγκεκριμένο πίνακα στη βάση δεδομένων.
  • Καταργήθηκε άλλες στήλες: Επιλέγει τις στήλες του πίνακα που θα διατηρηθεί.
  • Ταξινομημένες γραμμές: Ταξινομεί τον πίνακα χρησιμοποιώντας μία ή περισσότερες στήλες.
  • Διατήρηση πρώτων γραμμών: Φιλτράρει τον πίνακα ώστε να διατηρούνται μόνο ορισμένες γραμμές από την κορυφή του πίνακα.

Αυτό το σύνολο ονομάτων βημάτων είναι ένας φιλικός τρόπος για να προβάλετε τη δέσμη ενεργειών M που δημιούργησε το Power Query για εσάς. Υπάρχουν πολλοί τρόποι για να προβάλετε την πλήρη δέσμη ενεργειών M. Στο Power Query, μπορείτε να επιλέξετε Προηγμένο πρόγραμμα επεξεργασίας στην καρτέλα Προβολή. Μπορείτε επίσης να επιλέξετε Προηγμένο πρόγραμμα επεξεργασίας από την ομάδα Query στην καρτέλα Home. Σε ορισμένες εκδόσεις του Power Query, μπορείτε επίσης να αλλάξετε την προβολή της γραμμής τύπων για να εμφανίσετε τη δέσμη ενεργειών ερωτήματος, μεταβαίνοντας στην καρτέλα Προβολή και από την ομάδα Διάταξη, επιλέξτε Προβολή δέσμης ενεργειών>Δέσμη ενεργειών ερωτήματος.

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

Τα περισσότερα ονόματα που βρέθηκαν στο τμήμα παραθύρου Εφαρμοσμένα βήματα χρησιμοποιούνται επίσης όπως στη δέσμη ενεργειών M. Τα βήματα ενός ερωτήματος ονομάζονται χρησιμοποιώντας κάτι που ονομάζεται αναγνωριστικά στη γλώσσα M. Μερικές φορές οι επιπλέον χαρακτήρες αναδιπλώνονται γύρω από τα ονόματα βημάτων στο M, αλλά αυτοί οι χαρακτήρες δεν εμφανίζονται στα εφαρμοσμένα βήματα. Ένα παράδειγμα είναι #"Kept top rows", το οποίο έχει κατηγοριοποιηθεί ως αναγνωριστικό σε εισαγωγικά εξαιτίας αυτών των επιπλέον χαρακτήρων. Ένα αναγνωριστικό σε εισαγωγικά μπορεί να χρησιμοποιηθεί για να επιτρέψει τη χρήση οποιασδήποτε αλληλουχίας μηδενικών ή περισσότερων χαρακτήρων Unicode ως αναγνωριστικού, όπως λέξεις-κλειδιά, κενά διαστήματα, σχόλια, τελεστές και σημεία στίξης. Για να μάθετε περισσότερα σχετικά με τα αναγνωριστικά στη γλώσσα M, μεταβείτε στη λεκτική δομή.

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

Στιγμιότυπο οθόνης του εφαρμοσμένου ονόματος βήματος που άλλαξε στις πρώτες 20 γραμμές, το οποίο ενημερώνει επίσης τη δέσμη ενεργειών M.

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

Σημείωση

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

Αξιολόγηση ερωτημάτων στο Power Query

Το παρακάτω διάγραμμα διερευνά τη διαδικασία που προκύπτει όταν ένα ερώτημα αξιολογείται στο Power Query.

Διάγραμμα που εμφανίζει τη διαδρομή μιας αξιολόγησης ερωτήματος από τη δέσμη ενεργειών M έως το τελικό αποτέλεσμα.

  1. Η δέσμη ενεργειών M, που βρίσκεται μέσα στο προηγμένο πρόγραμμα επεξεργασίας, υποβάλλεται στον μηχανισμό Power Query. Περιλαμβάνονται επίσης και άλλες σημαντικές πληροφορίες, όπως διαπιστευτήρια και επίπεδα προστασίας προσωπικών δεδομένων προέλευσης δεδομένων.
  2. Το Power Query καθορίζει ποια δεδομένα πρέπει να εξαχθούν από την προέλευση δεδομένων και υποβάλλει μια αίτηση στην προέλευση δεδομένων.
  3. Η προέλευση δεδομένων ανταποκρίνεται στην αίτηση από το Power Query μεταφέροντας τα ζητούμενα δεδομένα στο Power Query.
  4. Το Power Query λαμβάνει τα εισερχόμενα δεδομένα από την προέλευση δεδομένων και κάνει οποιουσδήποτε μετασχηματισμούς χρησιμοποιώντας τον μηχανισμό Power Query, εάν είναι απαραίτητο.
  5. Τα αποτελέσματα που προκύπτουν από το προηγούμενο σημείο φορτώνονται σε έναν προορισμό.

Σημείωση

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

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

Σημαντικό

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

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

Το παρακάτω διάγραμμα παρουσιάζει τα βήματα που πραγματοποιήθηκαν σε αυτήν τη διαδικασία βελτιστοποίησης.

Διάγραμμα που δείχνει τη διαδικασία βελτιστοποίησης κατά την αξιολόγηση ερωτημάτων.

  1. Η δέσμη ενεργειών M, που βρίσκεται μέσα στο προηγμένο πρόγραμμα επεξεργασίας, υποβάλλεται στον μηχανισμό Power Query. Παρέχονται επίσης άλλες σημαντικές πληροφορίες, όπως διαπιστευτήρια και επίπεδα προστασίας προσωπικών δεδομένων προέλευσης δεδομένων.
  2. Ο μηχανισμός αναδίπλωσης ερωτήματος υποβάλλει αιτήσεις μετα-δεδομένων στην προέλευση δεδομένων για να προσδιορίσει τις δυνατότητες της προέλευσης δεδομένων, των σχημάτων πίνακα, των σχέσεων μεταξύ διαφορετικών πινάκων στην προέλευση δεδομένων και άλλων.
  3. Με βάση τα μετα-δεδομένα που λαμβάνονται, ο μηχανισμός αναδίπλωσης ερωτήματος καθορίζει ποιες πληροφορίες θα εξαχθούν από την προέλευση δεδομένων και ποιο σύνολο μετασχηματισμών πρέπει να πραγματοποιηθούν μέσα στον μηχανισμό Power Query. Στέλνει τις οδηγίες σε δύο άλλα στοιχεία που φροντίζουν για την ανάκτηση των δεδομένων από την προέλευση δεδομένων και τον μετασχηματισμό των εισερχόμενων δεδομένων στον μηχανισμό Power Query, εάν είναι απαραίτητο.
  4. Όταν τα εσωτερικά στοιχεία του Power Query λάβουν τις οδηγίες, το Power Query στέλνει μια αίτηση στην προέλευση δεδομένων χρησιμοποιώντας ένα ερώτημα προέλευσης δεδομένων.
  5. Η προέλευση δεδομένων λαμβάνει την αίτηση από το Power Query και μεταφέρει τα δεδομένα στον μηχανισμό Power Query.
  6. Όταν τα δεδομένα βρίσκονται μέσα στο Power Query, ο μηχανισμός μετασχηματισμού μέσα στο Power Query (γνωστός και ως μηχανισμός συνδυασμού δεδομένων) κάνει τους μετασχηματισμούς που δεν ήταν δυνατό να αναδιπλωθούν ή να μεταφορτωθούν στην προέλευση δεδομένων.
  7. Τα αποτελέσματα που προκύπτουν από το προηγούμενο σημείο φορτώνονται σε έναν προορισμό.

Σημείωση

Ανάλογα με τους μετασχηματισμούς και την προέλευση δεδομένων που χρησιμοποιούνται στη δέσμη ενεργειών M, το Power Query καθορίζει εάν πραγματοποιεί ροή ή προσωρινή αποθήκευση των εισερχόμενων δεδομένων.

Επισκόπηση αναδίπλωσης ερωτήματος

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

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

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

Όταν χρησιμοποιείτε την εμπειρία get data, Power Query σας καθοδηγεί στη διαδικασία που τελικά σας επιτρέπει να συνδεθείτε στην προέλευση δεδομένων σας. Όταν το κάνει αυτό, Power Query χρησιμοποιεί μια σειρά συναρτήσεων στη γλώσσα M που κατηγοριοποιούνται ως συναρτήσεις πρόσβασης δεδομένων. Αυτές οι συγκεκριμένες συναρτήσεις χρησιμοποιούν μηχανισμούς και πρωτόκολλα για να συνδεθούν στην προέλευση δεδομένων σας χρησιμοποιώντας μια γλώσσα που μπορεί να κατανοήσει η προέλευση δεδομένων σας.

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

Σημαντικό

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

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

  • Πλήρης αναδίπλωση ερωτήματος: Όταν όλοι οι μετασχηματισμοί ερωτημάτων σας προωθούνται πίσω στην προέλευση δεδομένων και πραγματοποιείται ελάχιστη επεξεργασία στον μηχανισμό Power Query.
  • Μερική αναδίπλωση ερωτήματος: Όταν μόνο λίγοι μετασχηματισμοί στο ερώτημά σας και όχι όλοι, μπορούν να προωθηθούν προς τα πίσω στην προέλευση δεδομένων. Σε αυτήν την περίπτωση, μόνο ένα υποσύνολο των μετασχηματισμών σας γίνεται στην προέλευση δεδομένων σας και οι υπόλοιποι μετασχηματισμοί ερωτημάτων πραγματοποιούνται στον μηχανισμό Power Query.
  • Δεν υπάρχει αναδίπλωση ερωτήματος: Όταν το ερώτημα περιέχει μετασχηματισμούς που δεν μπορούν να μεταφραστούν στη γλώσσα εγγενούς ερωτήματος της προέλευσης δεδομένων σας, είτε επειδή οι μετασχηματισμοί δεν υποστηρίζονται είτε επειδή η σύνδεση δεν υποστηρίζει αναδίπλωση ερωτήματος. Για αυτήν την περίπτωση, το Power Query λαμβάνει τα ανεπεξέργαστα δεδομένα από την προέλευση δεδομένων σας και χρησιμοποιεί τον μηχανισμό Power Query για να επιτύχει το αποτέλεσμα που θέλετε με την επεξεργασία των απαιτούμενων μετασχηματισμών σε επίπεδο μηχανισμού Power Query.

Σημείωση

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

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