Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Ισχύει σε: Εφαρμογές καμβά
Δημιουργεί έναν τύπο καθορισμένο από το χρήστη για χρήση με συναρτήσεις καθορισμένες από το χρήστη και μη πληκτρολογημένες τιμές.
Σημαντικό
- Αυτές οι λειτουργίες είναι πειραματικές.
- Οι πειραματικές δυνατότητες δεν προορίζονται για χρήση παραγωγής και ενδέχεται να μην είναι ολοκληρωμένες. Αυτές οι δυνατότητες είναι διαθέσιμες πριν από μια επίσημη κυκλοφορία έτσι ώστε να μπορείτε να έχετε πρόσβαση από νωρίς και να κάνετε σχόλια. Περισσότερες πληροφορίες: Κατανοήστε τις πειραματικές, αποσυρμένες δυνατότητες και δυνατότητες προεπισκόπησης σε εφαρμογές καμβά
- Αυτή η συμπεριφορά που περιγράφεται σε αυτό το άρθρο είναι διαθέσιμη μόνο όταν η πειραματική δυνατότητα Τύποι καθορισμένοι από τον χρήστη στις Ρυθμίσεις > Προσεχείς δυνατότητες > Πειραματικές είναι ενεργοποιημένες (είναι απενεργοποιημένες από προεπιλογή).
- Τα σχόλιά σας είναι πολύτιμα. Πείτε μας τη γνώμη σας στο φόρουμ κοινότητας πειραματικών λειτουργιών του Power Apps.
Description
Κάθε συνάρτηση στο Power Fx καθορίζει τους τύπους τιμών που μπορούν να μεταβιβαστούν ως παράμετροι και τον τύπο της εξόδου. Οι τύποι ελέγχονται όταν γράφετε μια φόρμουλα και εμφανίζονται σφάλματα εάν δεν συμφωνούν με το αναμενόμενο. Οι τύποι χρησιμοποιούνται επίσης από τον επεξεργαστή για να προτείνουν καλές επιλογές για το τι πρέπει να περάσει στη λειτουργία και να εντοπίσει σφάλματα όσο το δυνατόν νωρίτερα.
Όταν δημιουργείτε τις δικές σας λειτουργίες καθορισμένες από το χρήστη, πρέπει να καθορίσετε τους τύπους εισόδου και εξόδου. Για απλούς τύπους όπως δεκαδικός ή κείμενο, αυτό είναι εύκολο καθώς αυτοί οι βασικοί τύποι είναι προκαθορισμένοι. Για πιο σύνθετους τύπους, όπως εγγραφές ή πίνακες, χρησιμοποιήστε τη Type συνάρτηση για να δημιουργήσετε τον τύπο.
Η Type συνάρτηση κάνει επίσης ευκολότερη την εργασία με δυναμικές τιμές. Με τις συναρτήσεις ParseJSON, IsType και AsType , μια δυναμική τιμή μπορεί να μετατραπεί σε ένα πληκτρολογημένο αντικείμενο στο οποίο οι στήλες δεν χρειάζεται πλέον να πληκτρολογούνται μεμονωμένα στο σημείο χρήσης.
Η Type συνάρτηση λαμβάνει μια TypeSpecification ως το μοναδικό της όρισμα. Η απλούστερη προδιαγραφή τύπου είναι, για παράδειγμα Type( Text ), η αναφορά σε έναν υπάρχοντα τύπο. Μια προδιαγραφή τύπου για μια εγγραφή ή έναν πίνακα είναι παρόμοια με τον ορισμό μιας εγγραφής ή ενός πίνακα με κυριολεκτικές τιμές, όπου οι τιμές αντικαθίστανται από ονόματα τύπων. Για παράδειγμα, το {Name: "Jane"} θα πληκτρολογηθεί με Type( {Name: Text} ). Οι πίνακες καθορίζονται με αγκύλες, όχι με τη συνάρτηση Πίνακας και μπορεί να παρέχεται μόνο μία εγγραφή. Για παράδειγμα, το [1,2,3] θα πληκτρολογηθεί με Type( [Number] ).
Χρησιμοποιήστε τη RecordOf συνάρτηση για να εξαγάγετε τον τύπο εγγραφής από έναν τύπο πίνακα. Για παράδειγμα, το Type( RecordOf( Library ) ) θα επιστρέψει τον τύπο ενός μεμονωμένου βιβλίου από τη βιβλιοθήκη. Για να δημιουργήσετε έναν τύπο πίνακα από τύπο εγγραφής, τυλίξτε τον τύπο εγγραφής σε αγκύλες. Για παράδειγμα, το Type( [ Book ] ) ορίζει μια βιβλιοθήκη.
RecordOf Η μπορεί να χρησιμοποιηθεί μόνο εντός της συνάρτησης Type .
Η Type συνάρτηση και η τιμή τύπου που επιστρέφει μπορούν να χρησιμοποιηθούν μόνο σε συγκεκριμένα σημεία στο Power Fx, όπως το δεύτερο όρισμα του ParseJSON. Στις εφαρμογές καμβά, η Type συνάρτηση μπορεί να χρησιμοποιηθεί με έναν επώνυμο τύπο στο App.Formulas.
Σύνταξη
RecordOf( TableType )
- TableType – Απαιτείται. Το όνομα τύπου ενός πίνακα. Αυτό δεν δέχεται μια προδιαγραφή τύπου, πρέπει να είναι το όνομα ενός προηγουμένως καθορισμένου τύπου για έναν πίνακα.
Type( TypeSpecification )
- TypeSpecification – Απαιτείται. Μια προδιαγραφή τύπου.
Παραδείγματα
Συνάρτηση Type
Λάβετε υπόψη τους ακόλουθους ορισμούς στο App.Formulas:
Library =
[ { Title: "A Study in Scarlet", Author: "Sir Arthur Conan Doyle", Published: 1887 },
{ Title: "And Then There Were None", Author: "Agatha Christie", Published: 1939 },
{ Title: "The Marvelous Land of Oz", Author: "L. Frank Baum", Published: 1904 } ];
// Type definition for a single book
BookType := Type( { Title: Text, Author: Text, Published: Number } );
// Type definition for a table of books
LibraryType := Type( [ BookType ] );
Παρατηρήστε πώς αντικαθίσταται το πραγματικό κείμενο τίτλου "A Study in Scarlet"με το όνομα τύπου Text στην προδιαγραφή τύπου, ένα σύμβολο κράτησης θέσης για οποιαδήποτε τιμή κειμένου. Μια παράμετρος ή μεταβλητή τύπου BookType μπορεί να κρατήσει ένα από τα βιβλία Library, ενώ το LibraryType μπορεί να κρατήσει ολόκληρο τον πίνακα. Με αυτούς τους τύπους στη θέση τους, μπορούμε να ορίσουμε αυτές τις λειτουργίες που ορίζονται από το χρήστη:
SortedBooks( books: LibraryType ): LibraryType =
SortByColumns( Library, Author, SortOrder.Ascending, Title, SortOrder.Ascending );
PublishedInLeapYear( book: BookType ): Boolean =
Mod( book.Published, 4 ) = 0 And
(Mod( book.Published, 100 ) <> 0 Or Mod( book.Published, 400 ) = 0);
Μπορείτε επίσης να χρησιμοποιήσετε το BookType για να αναλύσετε μια συμβολοσειρά JSON που περιέχει ένα βιβλίο:
ParseJSON( "{""Title"":""Gulliver's Travels"", ""Author"": ""Jonathan Swift"", ""Published"": 1900}", BookType
)
Η χρήση του BookType ως δεύτερου ορίσματος στο ParseJSON έχει ως αποτέλεσμα μια τυποποιημένη εγγραφή που μπορεί να χρησιμοποιηθεί όπως οποιαδήποτε άλλη Power Fx εγγραφή.
Συνάρτηση RecordOf
Στο παράδειγμα συνάρτησης Type , ξεκινάτε με BookType και δημιουργείτε LibraryType με την περιτύλιξη ενός πίνακα γύρω από αυτόν. Θα μπορούσαμε να ορίσουμε αυτούς τους τύπους αντίστροφα με:
// Type definition for a table of books
RecordOfLibraryType := Type( [ { Title: Text, Author: Text, Published: Number } ] );
// Type definition for a single book
RecordOfBookType := Type( RecordOf( RecordOfLibraryType ) );