Ανάγνωση στα Αγγλικά

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


Ενεργοποίηση του DirectQuery για μια σύνδεση που βασίζεται στο ODBC

Η χρήση της ενσωματωμένης συνάρτησης Odbc.DataSource της M είναι ο προτεινόμενος τρόπος για να δημιουργήσετε προσαρμοσμένες συνδέσεις για προελεύσεις δεδομένων που έχουν ένα υπάρχον πρόγραμμα οδήγησης ODBC ή/και να υποστηρίξετε μια σύνταξη ερωτήματος SQL. Η περιτύλιξη της συνάρτησης Odbc.DataSource επιτρέπει στη σύνδεσή σας να κληρονομήσει την προεπιλεγμένη συμπεριφορά αναδίπλωσης ερωτήματος με βάση τις δυνατότητες που αναφέρονται από το πρόγραμμα οδήγησης. Αυτή η συμπεριφορά επιτρέπει στον μηχανισμό M να δημιουργεί προτάσεις SQL με βάση φίλτρα και άλλους μετασχηματισμούς που ορίζονται από τον χρήστη στην εμπειρία Power Query, χωρίς να χρειάζεται να παρέχεται αυτή η λογική μέσα στην ίδια τη σύνδεση.

Οι επεκτάσεις ODBC μπορούν προαιρετικά να ενεργοποιήσουν τη λειτουργία DirectQuery, επιτρέποντας στο Power BI να δημιουργεί δυναμικά ερωτήματα κατά τον χρόνο εκτέλεσης, χωρίς να προκαλύπτει το μοντέλο δεδομένων του χρήστη.

Σημείωση

Η ενεργοποίηση της υποστήριξης DirectQuery αυξάνει το επίπεδο δυσκολίας και πολυπλοκότητας της σύνδεσής σας. Όταν το DirectQuery είναι ενεργοποιημένο, το Power BI εμποδίζει τον μηχανισμό M να αντισταθμίσει λειτουργίες που δεν μπορούν να προωθηθούν πλήρως στην υποκείμενη προέλευση δεδομένων.

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

Ανατρέξτε στο δείγμα SQLODBC για τα περισσότερα παραδείγματα κώδικα στις ακόλουθες ενότητες. Μπορείτε να βρείτε άλλα δείγματα στον κατάλογο δειγμάτων ODBC.

Συναρτήσεις επεκτασιμότητας ODBC

Ο μηχανισμός M παρέχει δύο συναρτήσεις προέλευσης δεδομένων που σχετίζονται με το ODBC: Odbc.DataSource και Odbc.Query.

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

Η συνάρτηση Odbc.Query σάς επιτρέπει να εκτελείτε προτάσεις SQL μέσω ενός προγράμματος οδήγησης ODBC. Λειτουργεί ως διαβίβαση για την εκτέλεση ερωτημάτων. Σε αντίθεση με τη συνάρτηση Odbc.DataSource , δεν παρέχει λειτουργικότητα αναδίπλωσης ερωτήματος και απαιτεί την παροχή ερωτημάτων SQL από τη σύνδεση (ή τον τελικό χρήστη). Όταν δημιουργείτε μια προσαρμοσμένη σύνδεση, αυτή η συνάρτηση χρησιμοποιείται συνήθως εσωτερικά για την εκτέλεση ερωτημάτων για την ανάκτηση μετα-δεδομένων που μπορεί να μην εκτεθούν μέσω κανονικών καναλιών ODBC. Η συνάρτηση αποδέχεται δύο ορίσματα: μια συμβολοσειρά σύνδεσης και ένα ερώτημα SQL.

Οδηγίες συνάρτησης προέλευσης δεδομένων

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

  • Να απαιτείται το ελάχιστο σύνολο παραμέτρων που χρησιμοποιούνται για τη δημιουργία μιας σύνδεσης με τον διακομιστή σας. Όσο λιγότερες παράμετροι πρέπει να παρέχουν οι τελικοί χρήστες, τόσο πιο εύκολη είναι η χρήση της σύνδεσής σας.

  • Παρόλο που μπορείτε να ορίσετε παραμέτρους με σταθερό αριθμό τιμών (για παράδειγμα, μια αναπτυσσόμενη λίστα στο περιβάλλον εργασίας χρήστη), εισάγονται παράμετροι πριν από τον έλεγχο ταυτότητας του χρήστη. Οποιεσδήποτε τιμές που μπορούν να εντοπιστούν μέσω προγραμματισμού μετά τον έλεγχο ταυτότητας του χρήστη (όπως του καταλόγου ή του ονόματος βάσης δεδομένων) θα πρέπει να μπορούν να επιλεγούν μέσω της Περιήγησης. Η προεπιλεγμένη συμπεριφορά για τη συνάρτηση Odbc.DataSource είναι να επιστρέψει έναν ιεραρχικό πίνακα περιήγησης που αποτελείται από ονόματα Catalog (Βάση δεδομένων), Σχήματα και Πίνακες. Ωστόσο, αυτή η συμπεριφορά μπορεί να παρακαμπιστεί εντός της σύνδεσής σας.

  • Εάν πιστεύετε ότι οι χρήστες σας συνήθως γνωρίζουν ποιες τιμές πρέπει να καταχωρήσουν για τα στοιχεία που θα επέλεγαν από την Περιήγηση (όπως το όνομα βάσης δεδομένων), κάντε αυτές τις παραμέτρους προαιρετικές. Δεν πρέπει να απαιτούνται παράμετροι που μπορούν να εντοπιστούν μέσω προγραμματισμού.

  • Η τελευταία παράμετρος για τη συνάρτηση θα πρέπει να είναι μια προαιρετική εγγραφή που ονομάζεται "επιλογές". Αυτή η παράμετρος συνήθως επιτρέπει στους προχωρημένους χρήστες να ορίζουν κοινές ιδιότητες που σχετίζονται με το ODBC (όπως CommandTimeout), να ορίζουν παρακάμψεις συμπεριφοράς συγκεκριμένες για τη σύνδεσή σας και να επιτρέπουν μελλοντικές επεκτασιμότητας χωρίς να επηρεάζονται η συμβατότητα με προηγούμενες εκδόσεις για τη συνάφειά σας.

  • Τα ορίσματα που σχετίζονται με την ασφάλεια/διαπιστευτήρια ΔΕΝ ΠΡΕΠΕΙ να αποτελούν ποτέ μέρος των παραμέτρων της συνάρτησης προέλευσης δεδομένων, καθώς οι τιμές που εισάγονται στο παράθυρο διαλόγου σύνδεσης διατηρούνται στο ερώτημα του χρήστη. Οι παράμετροι που σχετίζονται με διαπιστευτήρια πρέπει να καθοριστούν ως μέρος των υποστηριζόμενων μεθόδων ελέγχου ταυτότητας της σύνδεσης.

Από προεπιλογή, όλες οι απαιτούμενες παράμετροι για τη συνάρτηση προέλευσης δεδομένων λαμβάνονται υπόψη στην τιμή Διαδρομή προέλευσης δεδομένων που χρησιμοποιείται για τον προσδιορισμό διαπιστευτηρίων χρήστη.

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