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