Funcțiile Blank, Coalesce, IsBlank și IsEmpty
Se aplică pentru: planșă de lucru apps Fluxuri desktop Dataverse coloane de formule Aplicații bazate pe model Power Pages Power Platform CLI
Testează dacă o valoare este necompletată sau dacă un tabel nu conține înregistrări și oferă o modalitate de a crea valori necompletate.
Prezentare generală
Gol este un substituent pentru „nicio valoare” sau „valoare necunoscută”. De exemplu, proprietatea Combo box control Selectat este blank dacă utilizatorul nu a făcut o selecție. Multe surse de date pot stoca și returna valorile NULL, care sunt reprezentate în Power Apps ca necompletat.
Orice proprietate sau valoare calculată în Power Apps poate fi necompletată. De exemplu, o valoare booleană are în mod normal una dintre aceste două valori: true sau false. Dar pe lângă acestea două, poate fi și necompletat indicând faptul că starea nu este cunoscută. Acest lucru este similar cu Microsoft Excel, unde o celulă a foii de lucru începe ca fiind necompletată fără conținut, dar poate păstra valorile TRUE sau FALSE (printre altele). În orice moment, conținutul celulei poate fi din nou șters, returnându-l la starea gol.
Șirul gol se referă la un șir care nu conține caractere. Funcția Len returnează zero pentru un astfel de șir și poate fi scris într-o formulă ca două ghilimele duble, fără nimic între ""
. Unele controale și surse de date utilizează un șir gol pentru a indica o condiție "fără valoare". Pentru a simplifica crearea aplicațiilor, IsBlank și Coalesce testează funcțiile pentru ambele valori necompletate sau șiruri goale.
În contextul funcției IsEmpty, gol este specifică tabelelor care nu conțin înregistrări. Structura tabelului poate fi intactă, completă cu coloană nume, dar nu există date în tabel. Un tabel poate începe la fel de gol, să preia înregistrările și să nu mai fie gol, iar apoi înregistrările să fie eliminate și să fie din nou goale.
Notă
Ne aflăm într-o perioadă de tranziție. Până acum, necompletat a fost, de asemenea, utilizat pentru a raporta erori, ceea ce face imposibilă diferențierea unei "fără valori" valabile de o eroare. Din acest motiv, în acest moment, stocarea valorilor necompletat sunt acceptate numai pentru colecțiile locale. Puteți stoca valori necompletate în alte surse de date dacă activați caracteristica experimentală Gestionarea erorilor la nivel de formulă în cadrul Setări>Caracteristici viitoare>Experimental. Lucrăm activ pentru a finaliza această caracteristică și pentru a finaliza separarea corespunzătoare a valorilor necompletate din erori.
Necompletat
Se aplică pentru: planșă de lucru apps Aplicații bazate pe model Dataverse coloane cu formulă
Funcția Blank returnează o valoare necompletată. Folosiți aceasta pentru a stoca o valoare NULL într-o sursă de date care acceptă aceste valori, eliminând efectiv orice valoare din câmp.
IsBlank
Se aplică pentru: planșă de lucru apps Aplicații bazate pe model
Funcția IsBlank testează o valoare necompletată sau un șir gol. Testul include șiruri goale pentru a ușura crearea aplicațiilor, deoarece unele surse de date și controale utilizează un șir gol atunci când nu există nicio valoare. Pentru a testa în mod specific utilizarea valorii necompletate if( Value = Blank(), ...
în loc de IsBlank. Funcția IsBlank consideră tabelele goale ca nu necompletate și IsEmpty ar trebui să fie utilizată pentru a testa un tabel.
Când activați gestionarea erorilor pentru aplicațiile existente, luați în considerare înlocuirea IsBlank cu IsBlankOrError pentru a păstra comportamentul aplicației existente. Înainte de adăugarea gestionării erorilor, o valoare necompletată a fost utilizată pentru a reprezenta atât valori nule din baze de date, cât și valori de eroare. Tratarea erorilor separă aceste două interpretări ale necompletat care ar putea schimba comportamentul aplicațiilor existente care continuă să utilizeze IsBlank.
Valoarea returnată pentru IsBlank este un boolean adevărat sau fals.
Coalesce
Se aplică pentru: planșă de lucru apps Aplicații bazate pe model
Funcția Coalesce evaluează argumentele sale în ordine și returnează prima valoare care nu este necompletat sau un șir gol. Utilizați această funcție pentru a înlocui o valoare necompletată sau un șir gol cu o valoare diferită, dar lăsați neschimbate valorile care nu sunt necompletate și ale șirurilor care nu sunt goale. Dacă toate argumentele sunt necompletate sau șiruri goale atunci funcția returbează necompletată, făcând din Coalesce o modalitate bună de a converti șirurile necompletate în valori necompletate.
Coalesce( value1, value2 )
este echivalentul mai concis al If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 )
și nu necesită valoare1 și valoare2 pentru fi evaluat de două ori. Funcția If returnează necompletat dacă nu există o formulă "else", cum este cazul aici.
Toate argumentele pentru Coalesce trebuie să fie de același tip; de exemplu, nu puteți amesteca numerele cu șiruri de text. Valoarea returnată din Coalesce este de acest tip comun.
IsEmpty
Se aplică pentru: planșă de lucru apps Aplicații bazate pe model
Funcția IsEmpty testează dacă un tabel conține înregistrări. Este echivalent cu utilizarea funcției CountRows și cu verificarea pentru un zero. Puteți verifica erorile sursei de date combinând IsEmpty cu funcția Errors.
Valoarea returnată pentru IsEmpty este un boolean adevărat sau fals.
Sintaxă
Gol()
Coalesce( Valoare1 [, Valoare2, ... ] )
- Valori – Obligatoriu. Valori de testat. Fiecare valoare este evaluată în ordine până la o valoare care nu este necompletată și nu se găsește un șir gol. Valorile după acest punct nu sunt evaluate.
IsBlank( Valoare )
- Valoare – Obligatoriu. Valoarea de testat pentru o valoare necompletată sau un șir gol.
IsEmpty( Tabel )
- Tabel - Obligatoriu. Tabel pentru testarea înregistrărilor.
Exemple
Necompletat
Notă
În acest moment, următorul exemplu funcționează numai pentru colecțiile locale. Puteți stoca valori necompletate în alte surse de date dacă activați caracteristica experimentală Gestionarea erorilor la nivel de formulă în cadrul Setări>Caracteristici viitoare>Experimental. Lucrăm activ pentru a finaliza această caracteristică și pentru a finaliza separarea valorilor necompletate din erori.
Creați o aplicație de la zero și adăugați un control Buton.
Setați proprietatea OnSelect a butonului la această formulă:
ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
Previzualizați aplicația, faceți clic sau atingeți butonul adăugat, apoi închideți Previzualizare.
În meniul Fișier, faceți clic pe Colecții sau atingeți.
Apare colecția Orașe, arătând o înregistrare cu "Seattle" și "Ploios":
Faceți clic sau atingeți săgeata înapoi pentru a reveni la spațiul de lucru implicit.
Adăugați un control Label și setați proprietatea Text la această formulă:
IsBlank( First( Cities ).Weather )
Eticheta arată false deoarece câmpul Vreme conține o valoare ("Ploaie").
Adăugați un al doilea buton, apoi setați proprietatea OnSelect la această formulă:
Patch( Cities, First( Cities ), { Weather: Blank() } )
Previzualizați aplicația, faceți clic sau atingeți butonul adăugat, apoi închideți Previzualizare.
Câmpul Vreme al primei înregistrări din Orașe se înlocuiește cu necompletat, eliminând "Ploaie" care era acolo anterior.
Eticheta arată true deoarece câmpul Vreme nu mai conține o valoare.
Coalesce
Formulă | Descriere | Rezultat |
---|---|---|
Coalesce( Blank(), 1 ) | Testează valoarea de retur din funcția Blank, care returnează întotdeauna o valoare necompletat. Pentru că primul argument este necompletat, evaluarea continuă cu următorul argument până la o valoare non-necompletat, iar șirul care nu este gol este găsit. | 1 |
Coalesce( "", "2" ) | Testează primul argument care este un șir gol. Pentru că primul argument este un șir gol, evaluarea continuă cu următorul argument până la o valoare non-necompletat, iar șirul care nu este gol este găsit. | 2 |
Coalesce( Blank(), "", Blank(), "", "3", "4" ) | Coalesce începe de la începutul listei de argumente și evaluează fiecare argument pe rând până când se găsește o valoare non-blank și șir nevid. În acest caz, primele patru argumente returnează toate necompletat sau un șir gol, deci evaluarea continuă până la al cincilea argument. Al cincilea argument este non-necompletat, iar șirul nu este gol, deci evaluarea se oprește aici. Valoarea celui de-al cincilea argument este returnată și al șaselea argument nu este evaluat. | 3 |
Coalesce( "" ) | Testează primul argument care este un șir gol. Deoarece primul argument este un șir gol și nu mai există argumente, funcția returnează necompletat. | necompletat |
IsBlank
Creați o aplicație de la zero, adăugați un control de intrare text și denumiți-l Prenume.
Adăugați o etichetă și setați proprietatea Text conform acestei formule:
If( IsBlank( FirstName.Text ), "First Name is a required field." )
În mod implicit, proprietatea Text a unui control de intrare text este setată la "Intrare text". Deoarece proprietatea conține o valoare, nu este necompletată, iar eticheta nu afișează niciun mesaj.
Eliminați toate caracterele din controlul de introducere a textului, inclusiv orice spații.
Pentru că proprietatea Text nu mai conține caractere, este un șir gol și IsBlank (Prenume.Text) va fi true. Se afișează mesajul câmpului obligatoriu.
Pentru informații despre cum să efectuați validarea folosind alte instrumente, consultați funcția Validate și lucrul cu surse de date.
Alte exemple:
Formulă | Descriere | Rezultat |
---|---|---|
IsBlank( Gol () ) | Testează valoarea de retur din funcția Blank, care returnează întotdeauna o valoare necompletat. | adevărat |
IsBlank( "" ) | Un șir care nu conține caractere. | adevărat |
IsBlank( „Bună ziua”) | Un șir care nu conține unu sau mai multe caractere. | fals |
IsBlank( Orice colecție ) | Întrucât collection există, nu este necompletat, chiar dacă nu conține înregistrări. Pentru a verifica dacă există o colecție goală, utilizați IsEmpty în schimb. | fals |
IsBlank( Mid( "Bună ziua", 17, 2 ) ) | Personajul de pornire pentru Mid este dincolo de capătul șirului. Rezultatul este un și gol. | adevărat |
IsBlank(Dacă(fals, fals)) | O funcție If cu ElseResult. Pentru că starea este întotdeauna false, acest If returnează întotdeauna necompletat. | adevărat |
IsEmpty
Creați o aplicație de la zero și adăugați un control Buton.
Setați proprietatea OnSelect a butonului la această formulă:
Colectați( Înghețată, { Aromă: „Căpșuni”, Cantitate: 300 }, { Aromă: „Ciocolată”, Cantitate: 100 } )
Previzualizați aplicația, faceți clic sau atingeți butonul adăugat, apoi închideți Previzualizare.
O colecție numită Inghetata este creată și conține aceste date:
Această colecție are două înregistrări și nu este goală. IsEmpty( IceCream ) returns false și CountRows( IceCream ) returns 2.
Adăugați un al doilea buton, apoi setați proprietatea OnSelect la această formulă:
Șterge (înghețată)
Previzualizați aplicația, faceți clic sau atingeți al doilea buton, apoi închideți Previzualizare.
Colecția este acum goală:
Funcția Clear elimină toate înregistrările dintr-o colecție, rezultând o colecție goală. IsEmpty( IceCream ) returns true și CountRows( IceCream ) returns 0.
Puteți utiliza, de asemenea IsEmpty pentru a testa dacă un tabel calculat este gol, după cum arată aceste exemple:
Formulă | Descriere | Rezultat |
---|---|---|
Este gol ( [ 1, 2, 3 ] ) | Tabelul cu o singură coloană conține trei înregistrări și, prin urmare, nu este gol. | fals |
Este gol( [ ] ) | Tabelul cu o singură coloană nu conține înregistrări și este gol. | adevărat |
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) | Tabelul cu o singură coloană nu conține valori mai mari de 5. Rezultatul filtrului nu conține înregistrări și este gol. | adevărat |