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