Επισκόπηση της αξιολόγησης ερωτημάτων και της αναδίπλωσης ερωτημάτων στο 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, μπορείτε να επιλέξετε Προηγμένο πρόγραμμα επεξεργασίας στην καρτέλα Προβολή. Μπορείτε επίσης να επιλέξετε Προηγμένο πρόγραμμα επεξεργασίας από την ομάδα Ερώτημα στην Αρχική καρτέλα. Σε ορισμένες εκδόσεις του 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, είναι ένας όρος που χρησιμοποιείται για οποιονδήποτε κώδικα που χρησιμοποιεί τη γλώσσα M. Στο πλαίσιο αυτού του άρθρου, η δέσμη ενεργειών M αναφέρεται επίσης στον κώδικα που βρίσκεται μέσα σε ένα ερώτημα Power Query και είναι προσβάσιμος μέσω του παραθύρου του προηγμένου προγράμματος επεξεργασίας ή μέσω της προβολής δέσμης ενεργειών στη γραμμή τύπων.

Αξιολόγηση ερωτήματος στο Power Query

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

Διάγραμμα αξιολόγησης ερωτήματος ως επισκόπηση.

  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 προσδιορίζει αν θα κάνει ροή ή θα αποθηκεύει σε buffer τα εισερχόμενα δεδομένα.

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

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

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

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

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

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

Σημαντικό

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

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

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

Σημείωμα

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

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

Επόμενα βήματα

Για λεπτομερή παραδείγματα των τριών πιθανών αποτελεσμάτων του μηχανισμού αναδίπλωσης ερωτήματος, μεταβείτε στα παραδείγματα αναδίπλωσης ερωτήματος.

Για πληροφορίες σχετικά με τους δείκτες αναδίπλωσης ερωτήματος που βρίσκονται στο τμήμα παραθύρου Εφαρμοσμένα βήματα , μεταβείτε στην ενότητα Δείκτες αναδίπλωσης ερωτήματος