Συναρτήσεις Blank, Coalesce, IsBlank και IsEmpty
Ισχύει για: Εφαρμογές καμβά Στήλες τύπων ροών Dataverse επιφάνειας εργασίας Εφαρμογές βάσει μοντέλου Power Pages Power Platform ΚΛΙ
Ελέγχει εάν μια τιμή είναι κενή ή ένας πίνακας δεν περιέχει καρτέλες και παρέχει μια μέθοδο δημιουργίας κενών τιμών.
Επισκόπηση
Κενό είναι ένα σύμβολο κράτησης θέσης για "καμία τιμή" ή "άγνωστη τιμή". Για παράδειγμα, η ιδιότητα Selected ενός στοιχείου ελέγχου σύνθετου πλαισίου είναι κενή εάν ο χρήστης δεν έχει κάνει επιλογή. Πολλές προελεύσεις δεδομένων μπορούν να αποθηκεύουν και επιστρέφουν τιμές NULL, οι οποίες απεικονίζονται στο Power Apps ως κενές.
Οποιαδήποτε ιδιότητα ή υπολογιζόμενη τιμή στο Power Apps μπορεί να είναι κενή. Για παράδειγμα, μια δυαδική τιμή συνήθως έχει μία από δύο τιμές: true ή false. Εκτός από τα δύο αυτά, μπορεί επίσης να είναι κενό που υποδεικνύει ότι η κατάσταση δεν είναι γνωστή. Αυτό είναι παρόμοιο με αυτό που συμβαίνει στο Microsoft Excel, όπου ένα κελί σε ένα φύλλο εργασίας ξεκινά ως κενό χωρίς περιεχόμενα, αλλά μπορεί να τηρήσει τις τιμές TRUE ή FALSE (μεταξύ άλλων). Ανά πάσα στιγμή, τα περιεχόμενα του κελιού μπορούν να απαλειφθούν ξανά, επιστρέφοντάς το σε κατάσταση κενό.
Η κενή συμβολοσειρά αναφέρεται σε μια συμβολοσειρά που δεν περιέχει χαρακτήρες. Η συνάρτηση Len επιστρέφει μηδέν για μια τέτοια συμβολοσειρά και μπορεί να γραφτεί σε τύπους ως δύο διπλά εισαγωγικά χωρίς τίποτα ενδιάμεσα""
. Ορισμένα στοιχεία ελέγχου και προελεύσεις δεδομένων χρησιμοποιούν μια κενή συμβολοσειρά για να υποδείξουν μια συνθήκη "χωρίς τιμή". Για να απλοποιήσετε τη δημιουργία της εφαρμογής, οι συναρτήσεις IsBlank και Coalesce ελέγχουν τόσο για κενές τιμές όσο και για κενές συμβολοσειρές.
Στο περιβάλλον της συνάρτησης IsEmpty, το κενό είναι ειδικό για τους πίνακες που δεν περιέχουν καρτέλες. Η δομή του πίνακα μπορεί να είναι ακέραιη, πλήρης με ονόματα στηλών, χωρίς όμως δεδομένα στον πίνακα. Ένας πίνακας μπορεί να ξεκινά ως κενός, να λαμβάνει καρτέλες και να μην είναι πλέον κενός και έπειτα να καταργούνται οι καρτέλες και να είναι πάλι κενός.
Σημείωμα
Βρισκόμαστε σε μια περίοδο μετάβασης. Έως τώρα, το κενό έχει χρησιμοποιηθεί επίσης για την αναφορά σφαλμάτων, καθιστώντας αδύνατη τη διαφοροποίηση μιας έγκυρης "καμίας τιμής" από ένα σφάλμα. Για αυτόν τον λόγο, προς το παρόν, η αποθήκευση κενών τιμών υποστηρίζεται μόνο για τοπικές συλλογές. Μπορείτε να αποθηκεύσετε κενές τιμές σε άλλες προελεύσεις δεδομένων αν ενεργοποιήσετε την πειραματική δυνατότητα διαχείρισης σφαλμάτων σε επίπεδο τύπου στην περιοχή Ρυθμίσεις>Επερχόμενες δυνατότητες>Πειραματική. Εργαζόμαστε ενεργά για να ολοκληρώσουμε αυτήν τη δυνατότητα και να ολοκληρώσουμε τον κατάλληλο διαχωρισμό των κενών τιμών από σφάλματα.
Κενό
Ισχύει για: Εφαρμογές καμβά Στήλες τύπων εφαρμογών Dataverse βάσει μοντέλου
Η συνάρτηση Blank επιστρέφει μια κενή τιμή. Χρησιμοποιήστε τη για την αποθήκευση μιας τιμής NULL σε μια προέλευση δεδομένων που υποστηρίζει αυτές τις τιμές, καταργώντας στην πραγματικότητα οποιαδήποτε τιμή από το πεδίο.
IsBlank
Ισχύει για: Εφαρμογές καμβά Εφαρμογές βάσει μοντέλου
Η συνάρτηση IsBlank δοκιμάζει μια κενή τιμή ή μια κενή συμβολοσειρά. Η δοκιμή περιλαμβάνει κενές συμβολοσειρές για τη διευκόλυνση της δημιουργίας εφαρμογών, εφόσον ορισμένες προελεύσεις δεδομένων και στοιχεία ελέγχου χρησιμοποιούν μια κενή συμβολοσειρά όταν δεν υπάρχει καμία τιμή σε αυτήν την περίπτωση. Για να δοκιμάσετε συγκεκριμένα τη χρήση κενής τιμής if( Value = Blank(), ...
αντί IsBlank. Η συνάρτηση IsBlank θεωρεί ότι οι κενοί πίνακες δεν είναι κενοί και το IsEmpty πρέπει να χρησιμοποιηθεί για τη δοκιμή ενός πίνακα.
Όταν ενεργοποιείτε το χειρισμό σφαλμάτων για υπάρχουσες εφαρμογές, εξετάστε το ενδεχόμενο αντικατάστασης του IsBlank με το IsBlankOrError για να διατηρήσετε τη συμπεριφορά της υπάρχουσας εφαρμογής. Πριν από την προσθήκη του χειρισμού σφαλμάτων, χρησιμοποιήθηκε μια κενή τιμή για την αναπαράσταση και των δύο μηδενικών τιμών από τις τιμές βάσεων δεδομένων και σφάλματος. Ο χειρισμός σφαλμάτων διαχωρίζει αυτές τις δύο ερμηνείες του κενού που θα μπορούσαν να αλλάξουν τη συμπεριφορά των υπαρχουσών εφαρμογών που συνεχίζουν να χρησιμοποιούν το IsBlank.
Η τιμή επιστροφής για το IsBlank είναι μια δυαδική τιμή true ή false.
Coalesce
Ισχύει για: Εφαρμογές καμβά Εφαρμογές βάσει μοντέλου
Η συνάρτηση Coalesce αξιολογεί τα ορίσματά της διαδοχικά και επιστρέφει την πρώτη τιμή που δεν είναι κενή ή μια κενή συμβολοσειρά. Χρησιμοποιήστε αυτήν τη λειτουργία για την αντικατάσταση μιας κενής τιμής ή κενής συμβολοσειράς με διαφορετική τιμή, αλλά αφήστε μη κενές και μη κενές τιμές συμβολοσειράς αμετάβλητες. Εάν όλα τα ορίσματα είναι κενές ή άδειες συμβολοσειρές, τότε η συνάρτηση επιστρέφει κενό, καθιστώντας το Coalesce έναν καλό τρόπο μετατροπής κενών συμβολοσειρών σε κενές τιμές.
Coalesce( value1, value2 )
είναι το πιο συνοπτικό ισοδύναμο και δεν απαιτεί If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 )
την αξιολόγηση των τιμών1 και τιμής2 δύο φορές. Η συνάρτηση If επιστρέφει κενή εάν δεν υπάρχει "άλλος" τύπος, όπως στην προκειμένη περίπτωση.
Όλα τα ορίσματα της συνάρτησης Coalesce πρέπει να είναι ίδιου τύπου, για παράδειγμα, δεν μπορείτε να συνδυάσετε αριθμούς με συμβολοσειρές κειμένου. Η τιμή επιστροφής από το Coalesce είναι αυτού του κοινού τύπου.
IsEmpty
Ισχύει για: Εφαρμογές καμβά Εφαρμογές βάσει μοντέλου
Η συνάρτηση IsEmpty ελέγχει εάν ένας πίνακας περιέχει καρτέλες. Αντιστοιχεί στη χρήση της συνάρτησης CountRows και ελέγχει για μηδενικές τιμές. Μπορείτε να ελέγξετε για σφάλματα προέλευσης δεδομένων συνδυάζοντας τις συναρτήσεις IsEmpty και Errors.
Η τιμή επιστροφής για το IsEmpty είναι μια δυαδική τιμή true ή false.
Σύνταξη
Κενό()
Coalesce( Τιμή1 [; Τιμή2; ... ] )
- Τιμές – Απαιτείται. Τιμές για έλεγχο. Κάθε τιμή αξιολογείται με τη σειρά, μέχρι να βρεθεί μια τιμή που δεν είναι κενή και δεν υπάρχει μια κενή συμβολοσειρά. Οι τιμές μετά από αυτό το σημείο δεν αξιολογούνται.
IsBlank( τιμή )
- Τιμή – Απαιτείται. Τιμή για δοκιμή μιας κενής τιμής ή κενής συμβολοσειράς.
IsEmpty ( Πίνακας )
- Πίνακας - Υποχρεωτικό. Ο πίνακας για έλεγχο καρτελών.
Παραδείγματα
Κενό
Σημείωμα
Προς το παρόν, το παρακάτω παράδειγμα λειτουργεί μόνο για τοπικές συλλογές. Μπορείτε να αποθηκεύσετε κενές τιμές σε άλλες προελεύσεις δεδομένων αν ενεργοποιήσετε την πειραματική δυνατότητα διαχείρισης σφαλμάτων σε επίπεδο τύπου στην περιοχή Ρυθμίσεις>Επερχόμενες δυνατότητες>Πειραματική. Εργαζόμαστε ενεργά για να ολοκληρώσουμε αυτήν τη δυνατότητα και να ολοκληρώσουμε τον διαχωρισμό των κενών τιμών από σφάλματα.
Δημιουργήστε μια εφαρμογή από την αρχή και προσθέστε ένα στοιχείο ελέγχου Button.
Ορίστε την ιδιότητα OnSelect του κουμπιού στον παρακάτω τύπο:
ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
Κάντε προεπισκόπηση της εφαρμογής σας, κάντε κλικ ή πατήστε το κουμπί που προσθέσατε και, στη συνέχεια, κλείστε την προεπισκόπηση.
Στο μενού Αρχείο, κάντε κλικ ή πατήστε Συλλογές.
Η συλλογή Cities εμφανίζεται παρουσιάζοντας μία καρτέλα με "Seattle" και "Rainy":
Κάντε κλικ ή πατήστε το βέλος επιστροφής για να επιστρέψετε στον προεπιλεγμένο χώρο εργασίας.
Προσθέστε ένα στοιχείο ελέγχου Label και ορίστε την ιδιότητά του Text σε αυτόν τον τύπο:
IsBlank( First( Cities ).Weather )
Η ετικέτα εμφανίζει false καθώς το πεδίο Weather περιέχει μια τιμή ("Rainy").
Προσθέστε ένα δεύτερο κουμπί και ορίστε την ιδιότητά του OnSelect σε αυτόν τον τύπο:
Patch( Cities, First( Cities ), { Weather: Blank() } )
Κάντε προεπισκόπηση της εφαρμογής σας, κάντε κλικ ή πατήστε το κουμπί που προσθέσατε και, στη συνέχεια, κλείστε την προεπισκόπηση.
Το πεδίο Weather της πρώτης καρτέλας στη στήλη Cities αντικαθίσταται με κενό, καταργώντας την καταχώρηση "Rainy" που υπήρχε εκεί.
Η ετικέτα εμφανίζει true καθώς το πεδίο Weather δεν περιέχει πλέον μια τιμή.
Coalesce
Τύπος | Περιγραφή | Αποτέλεσμα |
---|---|---|
Coalesce ( Κενό (), 1 ) | Ελέγχει την τιμή επιστροφής από τη συνάρτηση Blank, η οποία επιστρέφει πάντα μια κενή τιμή. Καθώς το πρώτο όρισμα είναι κενό, η αξιολόγηση συνεχίζει με το επόμενο όρισμα μέχρι να βρεθεί μια μη κενή τιμή και μη κενή συμβολοσειρά. | 1 |
Coalesce( "", "2" ) | Δοκιμάζει το πρώτο όρισμα που είναι μια κενή συμβολοσειρά. Καθώς το πρώτο όρισμα είναι μια κενή συμβολοσειρά, η αξιολόγηση συνεχίζει με το επόμενο όρισμα μέχρι να βρεθεί μια μη κενή τιμή και μη κενή συμβολοσειρά. | 2 |
Coalesce( Κενό(), "", "", "Κενό(), "", "3", "4" ) | Το Coalesce ξεκινά από την αρχή της λίστας ορισμάτων και αξιολογεί κάθε όρισμα με τη σειρά μέχρι να βρεθεί μια μη κενή τιμή και μια μη κενή συμβολοσειρά. Σε αυτή την περίπτωση, τα τέσσερα πρώτα ορίσματα επιστρέφουν όλα κενό ή μια κενή συμβολοσειρά, έτσι η αξιολόγηση συνεχίζει στο πέμπτο όρισμα. Το πέμπτο όρισμα είναι μη κενή και μη κενή συμβολοσειρά, επομένως η αξιολόγηση σταματά εδώ. Επιστρέφεται η τιμή του πέμπτου ορίσματος και το έκτο όρισμα δεν αξιολογείται. | 3 |
Coalesce ( "" ) | Δοκιμάζει το πρώτο όρισμα που είναι μια κενή συμβολοσειρά. Επειδή το πρώτο όρισμα είναι μια κενή συμβολοσειρά και δεν υπάρχουν άλλα ορίσματα, η συνάρτηση επιστρέφει κενή. | λευκός |
IsBlank
Δημιουργήστε μια εφαρμογή από την αρχή, προσθέστε ένα στοιχείο ελέγχου εισαγωγής κειμένου και ονομάστε το FirstName.
Προσθέστε μια ετικέτα και ορίστε την ιδιότητα Text σε αυτόν τον τύπο:
If( IsBlank( FirstName.Text ), "First Name is a required field." )
Από προεπιλογή, η ιδιότητα Text ενός στοιχείου ελέγχου εισαγωγής κειμένου ορίζεται σε "Εισαγωγή κειμένου". Καθώς η ιδιότητα περιέχει μια τιμή, δεν είναι κενή και η ετικέτα δεν εμφανίζει οποιοδήποτε μήνυμα.
Καταργήστε όλους τους χαρακτήρες από το στοιχείο ελέγχου εισαγωγής κειμένου, συμπεριλαμβανομένων τυχόν διαστημάτων.
Καθώς η ιδιότητα Text δεν περιέχει πλέον χαρακτήρες, είναι μια κενή συμβολοσειρά και η συνάρτηση IsBlank( FirstName.Text ) θα είναι true. Εμφανίζεται το μήνυμα υποχρεωτικού πεδίου.
Για πληροφορίες σχετικά με τον τρόπο εκτέλεσης επικύρωσης με άλλα εργαλεία, δείτε τη συνάρτηση Validate και το θέμα Εργασία με προελεύσεις δεδομένων.
Άλλα παραδείγματα:
Τύπος | Περιγραφή | Αποτέλεσμα |
---|---|---|
IsBlank( Κενό() ) | Ελέγχει την τιμή επιστροφής από τη συνάρτηση Blank, η οποία επιστρέφει πάντα μια κενή τιμή. | πιστός |
IsBlank( "" ) | Μια συμβολοσειρά που δεν περιέχει χαρακτήρες. | πιστός |
IsBlank( "Γεια σας") | Μια συμβολοσειρά που περιέχει έναν ή περισσότερους χαρακτήρες. | ψεύτικος |
IsBlank( AnyCollection ) | Καθώς η συλλογή υπάρχει, δεν είναι κενή ακόμη και εάν δεν περιέχει καρτέλες. Για να ελέγξετε για μια κενή συλλογή, χρησιμοποιήστε τη συνάρτηση IsEmpty. | ψεύτικος |
IsBlank( Mid ( "Γεια σας", 17, 2 ) ) | Ο πρώτος χαρακτήρας για τη συνάρτηση Mid είναι πέρα από το τέλος της συμβολοσειράς. Το αποτέλεσμα είναι μια κενή συμβολοσειρά. | πιστός |
IsBlank( If(false; false) ) | Μια συνάρτηση If χωρίς ElseResult. Καθώς η συνθήκη είναι πάντα false, αυτή η συνάρτηση If επιστρέφει πάντα κενό. | πιστός |
IsEmpty
Δημιουργήστε μια εφαρμογή από την αρχή και προσθέστε ένα στοιχείο ελέγχου Button.
Ορίστε την ιδιότητα OnSelect του κουμπιού στον παρακάτω τύπο:
Συλλέξτε( Παγωτό, { Γεύση: "Φράουλα", Ποσότητα: 300 }, { Γεύση: "Σοκολάτα", Ποσότητα: 100 } )
Κάντε προεπισκόπηση της εφαρμογής σας, κάντε κλικ ή πατήστε το κουμπί που προσθέσατε και, στη συνέχεια, κλείστε την προεπισκόπηση.
Δημιουργείται μια συλλογή με ονομασία IceCream και η οποία περιέχει αυτά τα δεδομένα:
Αυτή η συλλογή έχει δύο καρτέλες και δεν είναι κενή. IsEmpty( IceCream ) επιστρέφει false και CountRows( IceCream ) επιστρέφει 2.
Προσθέστε ένα δεύτερο κουμπί και ορίστε την ιδιότητά του OnSelect σε αυτόν τον τύπο:
Clear( Παγωτό )
Κάντε προεπισκόπηση της εφαρμογής σας, κάντε κλικ ή πατήστε το δεύτερο κουμπί και, στη συνέχεια, κλείστε την προεπισκόπηση.
Η συλλογή είναι τώρα κενή:
Η συνάρτηση Clear καταργεί όλες τις καρτέλες από μια συλλογή, με αποτέλεσμα μια κενή συλλογή. IsEmpty( IceCream ) επιστρέφει true και CountRows( IceCream ) επιστρέφει 0.
Μπορείτε, επίσης, να χρησιμοποιήσετε τη συνάρτηση IsEmpty για να ελέγξετε εάν ένας υπολογιζόμενος πίνακας είναι κενός, όπως δείχνουν αυτά τα παραδείγματα:
Τύπος | Περιγραφή | Αποτέλεσμα |
---|---|---|
IsEmpty ( [ 1, 2, 3 ] ) | Ο πίνακας μίας στήλης περιέχει τρεις καρτέλες και, επομένως, δεν είναι κενός. | ψεύτικος |
IsEmpty( [ ] ) | Ο πίνακας μίας στήλης δεν περιέχει καρτέλες και είναι κενός. | πιστός |
IsEmpty ( Φίλτρο( [ 1, 2, 3 ], τιμή > 5 ) ) | Ο πίνακας μίας στήλης δεν περιέχει τιμές μεγαλύτερες από 5. Το αποτέλεσμα από το φιλτράρισμα δεν περιέχει καρτέλες και είναι κενό. | πιστός |