Μια προσαρμοσμένη συνάρτηση χρησιμοποιεί τη γλώσσα τύπου M, λαμβάνει ένα σύνολο τιμών εισόδου και, στη συνέχεια, επιστρέφει μια μεμονωμένη τιμή εξόδου. Εάν έχετε λογική που θέλετε να χρησιμοποιήσετε ξανά πολλές φορές ή να εφαρμόσετε το ίδιο σύνολο μετασχηματισμών σε διαφορετικό ερώτημα ή τιμή, εξετάστε το ενδεχόμενο να δημιουργήσετε μια προσαρμοσμένη συνάρτηση και, στη συνέχεια, να καλέσετε τη συνάρτηση όπου και όταν τη χρειάζεστε. Υπάρχουν πολλοί τρόποι για να δημιουργήσετε μια προσαρμοσμένη συνάρτηση:
-
Χρησιμοποιήστε το Πρόγραμμα επεξεργασίας για προχωρημένους, για να προσθέσετε τη δική σας δήλωση και να ξεκινήσετε από την αρχή.
-
Χρησιμοποιήστε την εντολή "Κλήση προσαρμοσμένης συνάρτησης".
-
Υπάρχουν επιπλέον τρόποι για να δημιουργήσετε συναρτήσεις που δεν συζητούνται σε αυτό το θέμα της Βοήθειας, συμπεριλαμβανομένων των εντολών "Δημιουργία συνάρτησης" και "Προσθήκη ως ερωτήματος". Για μια αναλυτική συζήτηση, ανατρέξτε στο θέμα Κατανόηση των συναρτήσεων του Power Query M (docs.com)και της χρήσης προσαρμοσμένων συναρτήσεων (docs.com).
Ακολουθεί ένα απλό παράδειγμα προσαρμοσμένης συνάρτησης που ακολουθεί μια μακρά παράδοση προγραμματισμού.
-
Για να δημιουργήσετε ένα κενό ερώτημα: Excel επιλογή δεδομένων> λήψη δεδομένων > από άλλες
προελεύσεις > κενό ερώτημα. Power Query Κάντε δεξί κλικ σε ένα κενό σημείο στο παράθυρο "Ερωτήματα" στα αριστερά και, στη συνέχεια, επιλέξτε "Νέο ερώτημα" > "Άλλες > κενό ερώτημα". -
Στο παράθυρο "Ερωτήματα" στα αριστερά, κάντε διπλό κλικ στο όνομα και, στη συνέχεια, μετονομάστε το νέο κενό ερώτημα σε "HelloWorld".
-
Επιλέξτε το νέο ερώτημα και, στη συνέχεια, επιλέξτε "Κεντρική"> Πρόγραμμα επεξεργασίας για προχωρημένους.
-
Αντικαταστήστε τον κωδικό εκκίνησης προτύπου με τον ακόλουθο κώδικα:
let HelloWorld = () => ("Hello World") in HelloWorld
-
Επιλέξτε Τέλος.
-
Έχετε αλλάξει το ερώτημα"HelloWorld", σε προσαρμοσμένη συνάρτηση. Σημειώστε το εικονίδιο συνάρτησης αριστερά του.
-
Για να καλέσετε τη συνάρτηση, επιλέξτε την και, στη συνέχεια, επιλέξτε Invoke in Data Preview.
-
Τα αποτελέσματα της συνάρτησης εμφανίζονται στην προεπισκόπηση δεδομένων και προστίθενται στο παράθυρο "Ερωτήματα" ως ερώτημα με το προεπιλεγμένο όνομα, "Συνάρτηση με κλήση". Μπορεί να θέλετε να το μετονομάσετε σε κάτι πιο χαρακτηριστικό, όπως "HelloWorldResult".
-
Επιλέξτε αυτό το ερώτημα και, στη συνέχεια, επιλέξτε "Κεντρική" > "Κλείσιμο &", για να δείτε τα αποτελέσματα σε ένα φύλλο εργασίας.
Αποτελέσματα
Το παρακάτω παράδειγμα δείχνει πώς μπορείτε να μεταβιβάσετε μια παράμετρο σε μια προσαρμοσμένη συνάρτηση για να μετατρέψετε έναν δεκαδικό αριθμό σε δεκαεξαδικό.
-
Για να δημιουργήσετε ένα κενό ερώτημα: Excel επιλογή δεδομένων> λήψη δεδομένων > από άλλες
προελεύσεις > κενό ερώτημα. Power Query Κάντε δεξί κλικ σε ένα κενό σημείο στο παράθυρο "Ερωτήματα" στα αριστερά και, στη συνέχεια, επιλέξτε "Νέο ερώτημα" > "Άλλες > κενό ερώτημα". -
Στο παράθυρο "Ερωτήματα" στα αριστερά, μετονομάστε το νέο κενό ερώτημα σε "MyHex".
-
Επιλέξτε το νέο ερώτημα και, στη συνέχεια, επιλέξτε "Κεντρική"> Πρόγραμμα επεξεργασίας για προχωρημένους.
-
Αντικαταστήστε τον κωδικό εκκίνησης προτύπου με τον ακόλουθο κώδικα:
let MyHex = (parameter1) => Number.ToText(parameter1,"X") in MyHex
-
Επιλέξτε Τέλος.
-
Έχετε αλλάξει το ερώτημα "MyHex", σε προσαρμοσμένη συνάρτηση. Σημειώστε το εικονίδιο συνάρτησης αριστερά του.
-
Για να καλέσετε τη συνάρτηση, επιλέξτε την και, στη συνέχεια, στην Προεπισκόπηση δεδομένων, πληκτρολογήστε έναν αριθμό στο πλαίσιο παράμετρος1 και επιλέξτε Invoke.
-
Τα αποτελέσματα της συνάρτησης εμφανίζονται στην προεπισκόπηση δεδομένων και προστίθενται στο παράθυρο "Ερωτήματα" ως ερώτημα με το προεπιλεγμένο όνομα, "Συνάρτηση με κλήση". Μπορεί να θέλετε να το μετονομάσετε σε κάτι πιο χαρακτηριστικό, όπως "MyHexResult".
-
Επιλέξτε αυτό το ερώτημα και, στη συνέχεια, επιλέξτε "Κεντρική" > "Κλείσιμο &", για να δείτε τα αποτελέσματα σε ένα φύλλο εργασίας.
Αποτελέσματα
Εάν έχετε δημιουργήσει μια συνάρτηση με τουλάχιστον μία παράμετρο, μπορείτε να την καλέσετε ως προσαρμοσμένη συνάρτηση για να δημιουργήσετε μια νέα στήλη και μια νέα τιμή για κάθε γραμμή σε έναν πίνακα.
-
Για να ανοίξετε ένα ερώτημα, εντοπίστε ένα που έχει φορτωθεί προηγουμένως από το Πρόγραμμα επεξεργασίας του Power Query, επιλέξτε ένα κελί στα δεδομένα και, στη συνέχεια, επιλέξτε "Ερώτημα"> "Επεξεργασία". Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Δημιουργία, επεξεργασία και φόρτωση ερωτήματος στο Excel (Power Query). Σημείωση Για αυτό το παράδειγμα, το ερώτημά σας χρειάζεται τουλάχιστον μία στήλη ενός τύπου δεδομένων "Ακέραιος αριθμός".
-
Δημιουργήστε την προσαρμοσμένη συνάρτηση "MyHex" όπως περιγράφεται στην ενότητα, Δημιουργήστε και επικαλέστε μια προσαρμοσμένη συνάρτηση που έχει μια παράμετρο με το Πρόγραμμα επεξεργασίας για προχωρημένους.
-
Στο ερώτημα, επιλέξτε "Προσθήκη στήλης" > "Κλήση προσαρμοσμένης συνάρτησης". Εμφανίζεται το παράθυρο διαλόγου "Κλήση προσαρμοσμένης συνάρτησης".
-
Πληκτρολογήστε το νέο όνομα στήλης, όπως "HexConvert", στο πλαίσιο "Νέο όνομα στήλης".
-
Επιλέξτε το όνομα μιας προκαθορισμένης προσαρμοσμένης συνάρτησης από την αναπτυσσόμενη λίστα ερωτήματος συνάρτησης. Σε αυτό το παράδειγμα, επιλέξτε "MyHex".
-
Επειδή η προσαρμοσμένη συνάρτηση αναφέρεται σε μια παράμετρο, η παράμετρος εμφανίζεται τώρα.
-
Επιλέξτε μια στήλη ενός τύπου δεδομένων "Ακέραιος αριθμός" ως παράμετρο της συνάρτησης.
-
Επιλέξτε OK.
Αποτέλεσμα
Δημιουργείται μια νέα στήλη που εμφανίζει τη δεκαεξαδική τιμή της στήλης "Ακέραιος αριθμός" που εισαγάγατε ως παράμετρο.
Δείτε επίσης
Βοήθεια για το Power Query Excel
Δημιουργία τύπων του Power Query σε Excel
Δημιουργία ερωτήματος παραμέτρων