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


Αναδίπλωση ερωτήματος σε εγγενή ερωτήματα

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

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

Σημείωμα

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

Υποστηριζόμενες συνδέσεις δεδομένων

Η μέθοδος που περιγράφεται στις επόμενες ενότητες ισχύει για τις παρακάτω συνδέσεις δεδομένων:

Σύνδεση στον προορισμό από προέλευση δεδομένων

Σημείωμα

Για να γίνει επίδειξη αυτής της διαδικασίας, αυτό το άρθρο χρησιμοποιεί τη σύνδεση SQL Server και το δείγμα βάσης δεδομένων AdventureWorks2019. Η εμπειρία μπορεί να διαφέρει από σύνδεση σε σύνδεση, αλλά αυτό το άρθρο παρουσιάζει τα βασικά στοιχεία σχετικά με τον τρόπο ενεργοποίησης των δυνατοτήτων αναδίπλωσης ερωτημάτων σε εγγενή ερωτήματα για τις υποστηριζόμενες συνδέσεις.

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

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

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

Από αυτήν τη λίστα, πρέπει να επιλέξετε το αντικείμενο όπου εκτελείται το εγγενές ερώτημα (γνωστό και ως προορισμός). Για αυτό το παράδειγμα, αυτό το αντικείμενο είναι το επίπεδο βάσης δεδομένων.

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

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

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

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

Χρήση της συνάρτησης Value.NativeQuery

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

SELECT DepartmentID, Name FROM HumanResources.Department WHERE GroupName = 'Research and Development'

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

Value.NativeQuery(Source, "SELECT DepartmentID, Name FROM HumanResources.Department WHERE GroupName = 'Research and Development'  ", null, [EnableFolding = true])

Το πιο σημαντικό στοιχείο αυτού του τύπου είναι η χρήση της προαιρετικής εγγραφής για την τέταρτη παράμετρο της συνάρτησης, στην οποία το πεδίο εγγραφής EnableFolding έχει οριστεί σε true.

Στιγμιότυπο οθόνης του νέου τύπου προσαρμοσμένου βήματος με τη χρήση της συνάρτησης Value.NativeQuery και του ρητού ερωτήματος SQL.

Σημείωμα

Μπορείτε να διαβάσετε περισσότερα σχετικά με τη συνάρτηση Value.NativeQuery από το επίσημο άρθρο τεκμηρίωσης.

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

Αυτή η πρόταση SQL αποδίδει έναν πίνακα μόνο με τρεις γραμμές και δύο στήλες.

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

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

Για να δοκιμάσετε την αναδίπλωση ερωτήματος του ερωτήματός σας, μπορείτε να δοκιμάσετε να εφαρμόσετε ένα φίλτρο σε οποιαδήποτε από τις στήλες σας και να δείτε εάν η ένδειξη αναδίπλωσης ερωτήματος στην ενότητα εφαρμοσμένων βημάτων εμφανίζει το βήμα ως αναδιπλωμένο. Σε αυτήν την περίπτωση, μπορείτε να φιλτράρετε τη στήλη DepartmentID ώστε να έχει τιμές που δεν ισούται με δύο.

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

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

Βήμα φίλτρου που εμφανίζεται ως αναδιπλωμένο στην προέλευση δεδομένων στην ενότητα εφαρμοσμένων βημάτων.

Για να επικυρώσετε περαιτέρω ποιο ερώτημα αποστέλλεται στην προέλευση δεδομένων, μπορείτε να επιλέξετε και να κρατήσετε (ή να κάνετε δεξί κλικ) το βήμα Φιλτραρισμένες γραμμές και να επιλέξετε Προβολή σχεδίου ερωτήματος για να ελέγξετε το σχέδιο ερωτήματος για αυτό το βήμα.

Στην προβολή σχεδίου ερωτήματος, μπορείτε να δείτε ότι ένας κόμβος με το όνομα Value.NativeQuery που διαθέτει μια υπερ-σύνδεση View Details . Μπορείτε να επιλέξετε αυτήν την υπερ-σύνδεση για να προβάλετε το ακριβές ερώτημα που αποστέλλεται στη βάση δεδομένων sql Server.

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

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

Φιλοδώρημα

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