Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Στο Power Query, μπορείτε να ορίσετε ένα εγγενές ερώτημα και να το εκτελέσετε στην προέλευση δεδομένων σας. Το άρθρο Εισαγωγή δεδομένων από μια βάση δεδομένων με χρήση εγγενούς ερωτήματος βάσης δεδομένων εξηγεί πώς μπορείτε να κάνετε αυτήν τη διαδικασία με πολλές προελεύσεις δεδομένων. Ωστόσο, χρησιμοποιώντας τη διαδικασία που περιγράφεται σε αυτό το άρθρο, το ερώτημά σας δεν εκμεταλλεύεται καμία αναδίπλωση ερωτήματος από τα επόμενα βήματα ερωτήματος.
Αυτό το άρθρο παρουσιάζει μια εναλλακτική μέθοδο για τη δημιουργία εγγενών ερωτημάτων σε σχέση με την προέλευση δεδομένων σας χρησιμοποιώντας τη συνάρτηση Value.NativeQuery και τη διατήρηση του μηχανισμού αναδίπλωσης ερωτήματος ενεργό για τα επόμενα βήματα του ερωτήματός σας.
Σημείωμα
Συνιστούμε να διαβάσετε την τεκμηρίωση σχετικά με την αναδίπλωση ερωτήματος και τους δείκτες αναδίπλωσης ερωτήματος για να κατανοήσετε καλύτερα τις έννοιες που χρησιμοποιούνται σε αυτό το άρθρο.
Υποστηριζόμενες συνδέσεις δεδομένων
Η μέθοδος που περιγράφεται στις επόμενες ενότητες ισχύει για τις ακόλουθες συνδέσεις δεδομένων:
- Amazon Redshift
- Dataverse(κατά τη χρήση βελτιωμένης υπολογιστικής λειτουργίας)
- Google BigQuery
- PostgreSQL
- SAP ΧΑΝΑ
- Snowflake
- SQL Server
Σύνδεση στον προορισμό από την προέλευση δεδομένων
Σημείωμα
Για να παρουσιάσετε αυτήν τη διαδικασία, αυτό το άρθρο χρησιμοποιεί τη σύνδεση SQL Server και το δείγμα βάσης δεδομένων AdventureWorks2019. Η εμπειρία μπορεί να διαφέρει από σύνδεση σε σύνδεση, αλλά αυτό το άρθρο παρουσιάζει τα βασικά στοιχεία σχετικά με τον τρόπο ενεργοποίησης των δυνατοτήτων αναδίπλωσης ερωτήματος σε εγγενή ερωτήματα για τις υποστηριζόμενες συνδέσεις.
Κατά τη σύνδεση στην προέλευση δεδομένων, είναι σημαντικό να συνδεθείτε στον κόμβο ή το επίπεδο όπου θέλετε να εκτελέσετε το εγγενές ερώτημά σας. Για το παράδειγμα σε αυτό το άρθρο, αυτός ο κόμβος είναι το επίπεδο βάσης δεδομένων μέσα στο διακομιστή.
Αφού ορίσετε τις ρυθμίσεις σύνδεσης και δώσετε τα διαπιστευτήρια για τη σύνδεσή σας, ανοίγει το παράθυρο διαλόγου περιήγησης για την προέλευση δεδομένων σας. Ο διάλογος πλοήγησης περιέχει όλα τα διαθέσιμα αντικείμενα με τα οποία μπορείτε να συνδεθείτε.
Από αυτήν τη λίστα, πρέπει να επιλέξετε το αντικείμενο στο οποίο εκτελείται το εγγενές ερώτημα (γνωστό και ως προορισμός). Για αυτό το παράδειγμα, αυτό το αντικείμενο είναι το επίπεδο βάσης δεδομένων.
Στο παράθυρο περιήγησης στο 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 Server.
Το εγγενές ερώτημα τυλίγεται γύρω από μια άλλη πρόταση SELECT για να δημιουργήσει ένα δευτερεύον ερώτημα του αρχικού. Το Power Query κάνει ό,τι καλύτερο μπορεί για να δημιουργήσει το βέλτιστο ερώτημα δεδομένων των μετασχηματισμών που χρησιμοποιούνται και του εγγενούς ερωτήματος που παρέχεται.
Φιλοδώρημα
Για σενάρια όπου λαμβάνετε σφάλματα επειδή δεν ήταν δυνατή η αναδίπλωση ερωτήματος, συνιστούμε να δοκιμάσετε να επικυρώσετε τα βήματά σας ως δευτερεύον ερώτημα του αρχικού εγγενούς ερωτήματός σας για να ελέγξετε εάν ενδέχεται να υπάρχουν διενέξεις σύνταξης ή περιβάλλοντος.