Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Η μηχανή M προσδιορίζει μια πηγή δεδομένων χρησιμοποιώντας έναν συνδυασμό του είδους και της διαδρομής της. Όταν συναντάται μια προέλευση δεδομένων κατά τη διάρκεια μιας αξιολόγησης ερωτήματος, ο μηχανισμός M προσπαθεί να βρει διαπιστευτήρια που ταιριάζουν. Εάν δεν βρεθούν διαπιστευτήρια, ο μηχανισμός επιστρέφει ένα ειδικό σφάλμα που οδηγεί σε μια προτροπή διαπιστευτηρίων στο Power Query.
Η τιμή Είδος προέρχεται από τον ορισμό Είδος πηγής δεδομένων.
Η τιμή Διαδρομή προέρχεται από τις απαιτούμενες παραμέτρους της συνάρτησης προέλευσης δεδομένων. Οι προαιρετικές παράμετροι δεν λαμβάνονται υπόψη στο αναγνωριστικό διαδρομής προέλευσης δεδομένων. Ως αποτέλεσμα, όλες οι συναρτήσεις προέλευσης δεδομένων που σχετίζονται με ένα είδος προέλευσης δεδομένων πρέπει να έχουν τις ίδιες παραμέτρους. Υπάρχει ειδικός χειρισμός για συναρτήσεις που έχουν μία μόνο παράμετρο τύπου Uri.Type. Μεταβείτε στις Συναρτήσεις με παράμετρο Uri για λεπτομέρειες.
Μπορείτε να δείτε ένα παράδειγμα του τρόπου αποθήκευσης των διαπιστευτηρίων στο παράθυρο διαλόγου Ρυθμίσεις προέλευσης δεδομένων στο Power BI Desktop. Σε αυτό το παράθυρο διαλόγου, το είδος αντιπροσωπεύεται από ένα εικονίδιο και η τιμή διαδρομής εμφανίζεται ως κείμενο.
Σημείωμα
Εάν αλλάξετε τις απαιτούμενες παραμέτρους της συνάρτησης προέλευσης δεδομένων κατά την ανάπτυξη, τα διαπιστευτήρια που είχαν αποθηκευτεί προηγουμένως δεν λειτουργούν πλέον (επειδή οι τιμές διαδρομής δεν ταιριάζουν πλέον). Θα πρέπει να διαγράφετε τυχόν αποθηκευμένα διαπιστευτήρια κάθε φορά που αλλάζετε τις παραμέτρους της συνάρτησης προέλευσης δεδομένων. Εάν εντοπιστούν μη συμβατά διαπιστευτήρια, ενδέχεται να λάβετε ένα σφάλμα κατά το χρόνο εκτέλεσης.
Μορφή διαδρομής πηγής δεδομένων
Η τιμή διαδρομής για μια προέλευση δεδομένων προέρχεται από τις απαιτούμενες παραμέτρους της συνάρτησης προέλευσης δεδομένων. Οι απαιτούμενες παράμετροι μπορούν να εξαιρεθούν από τη διαδρομή προσθέτοντας DataSource.Path = false στα μεταδεδομένα της συνάρτησης. Για περισσότερες πληροφορίες, μεταβείτε στην επιλογή Εξαίρεση απαιτούμενων παραμέτρων από τη διαδρομή προέλευσης δεδομένων.
Από προεπιλογή, μπορείτε να δείτε την πραγματική τιμή συμβολοσειράς στο παράθυρο διαλόγου Ρυθμίσεις προέλευσης δεδομένων στο Power BI Desktop και στη γραμμή εντολών διαπιστευτηρίων. Εάν ο ορισμός Είδος πηγής δεδομένων έχει συμπεριλάβει μια Label τιμή, θα δείτε την τιμή ετικέτας.
Για παράδειγμα, η συνάρτηση προέλευσης δεδομένων στο δείγμα HelloWorldWithDocs έχει την ακόλουθη υπογραφή:
HelloWorldWithDocs.Contents = (message as text, optional count as number) as table => ...
Η συνάρτηση έχει μία μόνο απαιτούμενη παράμετρο (message) τύπου text, και χρησιμοποιείται για τον υπολογισμό της διαδρομής προέλευσης δεδομένων. Η προαιρετική παράμετρος (count) παραβλέπεται. Η διαδρομή θα εμφανιστεί ως εξής:
Προτροπή διαπιστευτηρίων
Περιβάλλον εργασίας χρήστη ρυθμίσεων προέλευσης δεδομένων
Όταν ορίζεται μια τιμή ετικέτας, η τιμή διαδρομής προέλευσης δεδομένων δεν εμφανίζεται:
Σημείωμα
Προς το παρόν, συνιστούμε να μην συμπεριλάβετε μια ετικέτα για την προέλευση δεδομένων σας, εάν η συνάρτησή σας έχει απαιτούμενες παραμέτρους, καθώς οι χρήστες δεν θα μπορούν να διακρίνουν μεταξύ των διαφορετικών διαπιστευτηρίων που έχουν εισαγάγει. Ελπίζουμε να το βελτιώσουμε στο μέλλον (δηλαδή, να επιτρέψουμε στις συνδέσεις δεδομένων να εμφανίζουν τις δικές τους προσαρμοσμένες διαδρομές προέλευσης δεδομένων).
Εξαίρεση απαιτούμενων παραμέτρων από τη διαδρομή πηγής δεδομένων
Εάν θέλετε να απαιτείται μια παράμετρος συνάρτησης, αλλά να μην περιλαμβάνεται ως μέρος της διαδρομής προέλευσης δεδομένων, μπορείτε να προσθέσετε DataSource.Path = false μετα-δεδομένα τεκμηρίωσης στη συνάρτηση. Αυτή η ιδιότητα μπορεί να προστεθεί σε μία ή περισσότερες παραμέτρους για τη συνάρτησή σας. Αυτό το πεδίο καταργεί την τιμή από τη διαδρομή προέλευσης δεδομένων (που σημαίνει ότι δεν μεταβιβάζεται πλέον στη συνάρτησή σας TestConnection ), επομένως θα πρέπει να χρησιμοποιείται μόνο για παραμέτρους που δεν απαιτούνται για τον προσδιορισμό της προέλευσης δεδομένων ή τη διάκριση μεταξύ των διαπιστευτηρίων χρήστη.
Για παράδειγμα, η σύνδεση στο δείγμα HelloWorldWithDocs θα απαιτούσε διαφορετικά διαπιστευτήρια για διαφορετικές message τιμές.
Η προσθήκη DataSource.Path = false στην message παράμετρο την αφαιρεί από τον υπολογισμό της διαδρομής προέλευσης δεδομένων, καθιστώντας ουσιαστικά τη σύνδεση "singleton". Όλες οι κλήσεις προς HelloWorldWithDocs.Contents αντιμετωπίζονται ως η ίδια προέλευση δεδομένων και ο χρήστης παρέχει διαπιστευτήρια μόνο μία φορά.
HelloWorldType = type function (
message as (type text meta [
DataSource.Path = false,
Documentation.FieldCaption = "Message",
Documentation.FieldDescription = "Text to display",
Documentation.SampleValues = {"Hello world", "Hola mundo"}
]),
optional count as (type number meta [
Documentation.FieldCaption = "Count",
Documentation.FieldDescription = "Number of times to repeat the message",
Documentation.AllowedValues = { 1, 2, 3 }
]))
as table meta [
Documentation.Name = "Hello - Name",
Documentation.LongDescription = "Hello - Long Description",
Documentation.Examples = {[
Description = "Returns a table with 'Hello world' repeated 2 times",
Code = "HelloWorldWithDocs.Contents(""Hello world"", 2)",
Result = "#table({""Column1""}, {{""Hello world""}, {""Hello world""}})"
],[
Description = "Another example, new message, new count!",
Code = "HelloWorldWithDocs.Contents(""Goodbye"", 1)",
Result = "#table({""Column1""}, {{""Goodbye""}})"
]}
];
Συναρτήσεις με παράμετρο Uri
Επειδή οι προελεύσεις δεδομένων με αναγνωριστικό που βασίζεται σε Uri είναι τόσο συνηθισμένες, υπάρχει ειδικός χειρισμός στο περιβάλλον εργασίας χρήστη του Power Query κατά την αντιμετώπιση διαδρομών προέλευσης δεδομένων που βασίζονται σε Uri. Όταν συναντάται μια προέλευση δεδομένων που βασίζεται σε Uri, το παράθυρο διαλόγου διαπιστευτηρίων παρέχει μια αναπτυσσόμενη λίστα, η οποία επιτρέπει στο χρήστη να επιλέξει τη βασική διαδρομή αντί για την πλήρη διαδρομή (και όλες τις ενδιάμεσες διαδρομές).
Όπως Uri.Type είναι ένας αποδιδόμενος τύπος και όχι ένας πρωτόγονος τύπος στη γλώσσα M, θα χρειαστεί να χρησιμοποιήσετε τη συνάρτηση Value.ReplaceType για να υποδείξετε ότι η παράμετρος κειμένου σας θα πρέπει να αντιμετωπίζεται ως Uri.
shared GithubSample.Contents = Value.ReplaceType(Github.Contents, type function (url as Uri.type) as any);