Συναρτήσεις Blank, Coalesce, IsBlank και IsEmpty

Ισχύει σε: Εφαρμογές καμβά Ροές επιφάνειας εργασίας Στήλες τύπων Dataverse Εφαρμογές βάσει μοντέλου Power Platform CLI

Ελέγχει εάν μια τιμή είναι κενή ή ένας πίνακας δεν περιέχει καρτέλες και παρέχει μια μέθοδο δημιουργίας κενών τιμών.

Επισκόπηση

Κενό είναι ένας χαρακτήρας κράτησης θέσης για "καμία τιμή" ή "άγνωστη τιμή." Για παράδειγμα, ένα στοιχείου ελέγχου Combo box ιδιότητα Επιλεγμένο είναι κενό εάν ο χρήστης δεν έχει κάνει επιλογή. Πολλές προελεύσεις δεδομένων μπορούν να αποθηκεύουν και επιστρέφουν τιμές 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 ) και δεν απαιτεί την αξιολόγηση των value1 και value2 δύο φορές. Η συνάρτηση If επιστρέφει κενή εάν δεν υπάρχει "άλλος" τύπος, όπως στην προκειμένη περίπτωση.

Όλα τα ορίσματα της συνάρτησης Coalesce πρέπει να είναι ίδιου τύπου, για παράδειγμα, δεν μπορείτε να συνδυάσετε αριθμούς με συμβολοσειρές κειμένου. Η τιμή επιστροφής από το Coalesce είναι αυτού του κοινού τύπου.

IsEmpty

Ισχύει σε: Εφαρμογές καμβά Εφαρμογές βάσει μοντέλου

Η συνάρτηση IsEmpty ελέγχει εάν ένας πίνακας περιέχει καρτέλες. Αντιστοιχεί στη χρήση της συνάρτησης CountRows και ελέγχει για μηδενικές τιμές. Μπορείτε να ελέγξετε για σφάλματα προέλευσης δεδομένων συνδυάζοντας τις συναρτήσεις IsEmpty και Errors.

Η τιμή επιστροφής για το IsEmpty είναι μια δυαδική τιμή true ή false.

Σύνταξη

Blank()

Coalesce( Value1 [, Value2, ... ] )

  • Value(s) – Υποχρεωτικό. Τιμές για έλεγχο. Κάθε τιμή αξιολογείται με τη σειρά, μέχρι να βρεθεί μια τιμή που δεν είναι κενή και δεν υπάρχει μια κενή συμβολοσειρά. Οι τιμές μετά από αυτό το σημείο δεν αξιολογούνται.

IsBlank( Value )

  • Value - Υποχρεωτικό. Τιμή για δοκιμή μιας κενής τιμής ή κενής συμβολοσειράς.

IsEmpty( Table )

  • Πίνακας – Υποχρεωτικό. Ο πίνακας για έλεγχο καρτελών.

Παραδείγματα

Κενό

Σημείωμα

Προς το παρόν, το παρακάτω παράδειγμα λειτουργεί μόνο για τοπικές συλλογές. Μπορείτε να αποθηκεύσετε κενές τιμές σε άλλες προελεύσεις δεδομένων αν ενεργοποιήσετε την πειραματική δυνατότητα διαχείρισης σφαλμάτων σε επίπεδο τύπου στην περιοχή Ρυθμίσεις>Επερχόμενες δυνατότητες>Πειραματική. Εργαζόμαστε ενεργά για να ολοκληρώσουμε αυτήν τη δυνατότητα και να ολοκληρώσουμε τον διαχωρισμό των κενών τιμών από σφάλματα.

  1. Δημιουργήστε μια εφαρμογή από την αρχή και προσθέστε ένα στοιχείο ελέγχου Button.

  2. Ορίστε την ιδιότητα OnSelect του κουμπιού στον παρακάτω τύπο:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Κάντε προεπισκόπηση της εφαρμογής σας, κάντε κλικ ή πατήστε το κουμπί που προσθέσατε και, στη συνέχεια, κλείστε την προεπισκόπηση.

  4. Στο μενού Αρχείο, κάντε κλικ ή πατήστε Συλλογές.

    Η συλλογή Cities εμφανίζεται παρουσιάζοντας μία καρτέλα με "Seattle" και "Rainy":

    Συλλογή που παρουσιάζει το Σιάτλ με βροχή.

  5. Κάντε κλικ ή πατήστε το βέλος επιστροφής για να επιστρέψετε στον προεπιλεγμένο χώρο εργασίας.

  6. Προσθέστε ένα στοιχείο ελέγχου Label και ορίστε την ιδιότητά του Text σε αυτόν τον τύπο:

    IsBlank( First( Cities ).Weather )
    

    Η ετικέτα εμφανίζει false καθώς το πεδίο Weather περιέχει μια τιμή ("Rainy").

  7. Προσθέστε ένα δεύτερο κουμπί και ορίστε την ιδιότητά του OnSelect σε αυτόν τον τύπο:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Κάντε προεπισκόπηση της εφαρμογής σας, κάντε κλικ ή πατήστε το κουμπί που προσθέσατε και, στη συνέχεια, κλείστε την προεπισκόπηση.

    Το πεδίο Weather της πρώτης καρτέλας στη στήλη Cities αντικαθίσταται με κενό, καταργώντας την καταχώρηση "Rainy" που υπήρχε εκεί.

    Συλλογή που εμφανίζει το Σιάτλ με κενό πεδίο καιρού.

    Η ετικέτα εμφανίζει true καθώς το πεδίο Weather δεν περιέχει πλέον μια τιμή.

Coalesce

Τύπος Περιγραφή Αποτέλεσμα
Coalesce( Blank(), 1 ) Ελέγχει την τιμή επιστροφής από τη συνάρτηση Blank, η οποία επιστρέφει πάντα μια κενή τιμή. Καθώς το πρώτο όρισμα είναι κενό, η αξιολόγηση συνεχίζει με το επόμενο όρισμα μέχρι να βρεθεί μια μη κενή τιμή και μη κενή συμβολοσειρά. 1
Coalesce( "", "2" ) Δοκιμάζει το πρώτο όρισμα που είναι μια κενή συμβολοσειρά. Καθώς το πρώτο όρισμα είναι μια κενή συμβολοσειρά, η αξιολόγηση συνεχίζει με το επόμενο όρισμα μέχρι να βρεθεί μια μη κενή τιμή και μη κενή συμβολοσειρά. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Η συνάρτηση Coalesce ξεκινά στην αρχή της λίστας ορισμάτων και αξιολογεί κάθε όρισμα διαδοχικά μέχρι να βρεθεί μια μη κενή τιμή και μη κενή συμβολοσειρά. Σε αυτή την περίπτωση, τα τέσσερα πρώτα ορίσματα επιστρέφουν όλα κενό ή μια κενή συμβολοσειρά, έτσι η αξιολόγηση συνεχίζει στο πέμπτο όρισμα. Το πέμπτο όρισμα είναι μη κενή και μη κενή συμβολοσειρά, επομένως η αξιολόγηση σταματά εδώ. Επιστρέφεται η τιμή του πέμπτου ορίσματος και το έκτο όρισμα δεν αξιολογείται. 3
Coalesce( "" ) Δοκιμάζει το πρώτο όρισμα που είναι μια κενή συμβολοσειρά. Επειδή το πρώτο όρισμα είναι μια κενή συμβολοσειρά και δεν υπάρχουν άλλα ορίσματα, η συνάρτηση επιστρέφει κενή. κενό

IsBlank

  1. Δημιουργήστε μια εφαρμογή από την αρχή, προσθέστε ένα στοιχείο ελέγχου εισαγωγής κειμένου και ονομάστε το FirstName.

  2. Προσθέστε μια ετικέτα και ορίστε την ιδιότητα Text σε αυτόν τον τύπο:

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    Από προεπιλογή, η ιδιότητα Text ενός στοιχείου ελέγχου εισαγωγής κειμένου ορίζεται σε "Εισαγωγή κειμένου". Καθώς η ιδιότητα περιέχει μια τιμή, δεν είναι κενή και η ετικέτα δεν εμφανίζει οποιοδήποτε μήνυμα.

  3. Καταργήστε όλους τους χαρακτήρες από το στοιχείο ελέγχου εισαγωγής κειμένου, συμπεριλαμβανομένων τυχόν διαστημάτων.

    Καθώς η ιδιότητα Text δεν περιέχει πλέον χαρακτήρες, είναι μια κενή συμβολοσειρά και η συνάρτηση IsBlank( FirstName.Text ) θα είναι true. Εμφανίζεται το μήνυμα υποχρεωτικού πεδίου.

Για πληροφορίες σχετικά με τον τρόπο εκτέλεσης επικύρωσης με άλλα εργαλεία, δείτε τη συνάρτηση Validate και το θέμα Εργασία με προελεύσεις δεδομένων.

Άλλα παραδείγματα:

Τύπος Περιγραφή Αποτέλεσμα
IsBlank( Blank() ) Ελέγχει την τιμή επιστροφής από τη συνάρτηση Blank, η οποία επιστρέφει πάντα μια κενή τιμή. true
IsBlank( "" ) Μια συμβολοσειρά που δεν περιέχει χαρακτήρες. true
IsBlank( "Hello" ) Μια συμβολοσειρά που περιέχει έναν ή περισσότερους χαρακτήρες. false
IsBlank( AnyCollection ) Καθώς η συλλογή υπάρχει, δεν είναι κενή ακόμη και εάν δεν περιέχει καρτέλες. Για να ελέγξετε για μια κενή συλλογή, χρησιμοποιήστε τη συνάρτηση IsEmpty. false
IsBlank( Mid( "Hello", 17, 2 ) ) Ο πρώτος χαρακτήρας για τη συνάρτηση Mid είναι πέρα από το τέλος της συμβολοσειράς. Το αποτέλεσμα είναι μια κενή συμβολοσειρά. true
IsBlank( If( false, false ) ) Μια συνάρτηση If χωρίς ElseResult. Καθώς η συνθήκη είναι πάντα false, αυτή η συνάρτηση If επιστρέφει πάντα κενό. true

IsEmpty

  1. Δημιουργήστε μια εφαρμογή από την αρχή και προσθέστε ένα στοιχείο ελέγχου Button.

  2. Ορίστε την ιδιότητα OnSelect του κουμπιού στον παρακάτω τύπο:

    Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )

  3. Κάντε προεπισκόπηση της εφαρμογής σας, κάντε κλικ ή πατήστε το κουμπί που προσθέσατε και, στη συνέχεια, κλείστε την προεπισκόπηση.

    Δημιουργείται μια συλλογή με ονομασία IceCream και η οποία περιέχει αυτά τα δεδομένα:

    Ένας πίνακας με τις γεύσεις Φράουλα και Σοκολάτα με ποσότητες 300 και 100.

    Αυτή η συλλογή έχει δύο καρτέλες και δεν είναι κενή. Το IsEmpty( IceCream ) επιστρέφει false, και το CountRows( IceCream ) επιστρέφει 2.

  4. Προσθέστε ένα δεύτερο κουμπί και ορίστε την ιδιότητά του OnSelect σε αυτόν τον τύπο:

    Clear( IceCream )

  5. Κάντε προεπισκόπηση της εφαρμογής σας, κάντε κλικ ή πατήστε το δεύτερο κουμπί και, στη συνέχεια, κλείστε την προεπισκόπηση.

    Η συλλογή είναι τώρα κενή:

    Μια συλλογή με τα στοιχεία Γεύση και Ποσότητα ως κενή συλλογή.

    Η συνάρτηση Clear καταργεί όλες τις καρτέλες από μια συλλογή, με αποτέλεσμα μια κενή συλλογή. Το IsEmpty( IceCream ) επιστρέφει true και το CountRows( IceCream ) επιστρέφει 0.

Μπορείτε, επίσης, να χρησιμοποιήσετε τη συνάρτηση IsEmpty για να ελέγξετε εάν ένας υπολογιζόμενος πίνακας είναι κενός, όπως δείχνουν αυτά τα παραδείγματα:

Τύπος Περιγραφή Αποτέλεσμα
IsEmpty( [ 1, 2, 3 ] ) Ο πίνακας μίας στήλης περιέχει τρεις καρτέλες και, επομένως, δεν είναι κενός. false
IsEmpty( [ ] ) Ο πίνακας μίας στήλης δεν περιέχει καρτέλες και είναι κενός. αληθές
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Ο πίνακας μίας στήλης δεν περιέχει τιμές μεγαλύτερες από 5. Το αποτέλεσμα από το φιλτράρισμα δεν περιέχει καρτέλες και είναι κενό. true