Partajați prin


Funcțiile Blank, Coalesce, IsBlank și IsEmpty

Se aplică la: Aplicații proiectate pe pânză Fluxuri desktop Coloane Dataverse de formule Aplicații Power Platform proiectate pe bază de model 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ă

Blank este un substituent pentru "nicio valoare" sau "valoare necunoscută." De exemplu, un control Casetă combo cu proprietatea 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.

Șir 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ă la: Aplicații proiectate pe pânză Coloane de formule pentru aplicații Dataverse proiectate pe bază de model

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ă la: Aplicații proiectate pe pânză Aplicații proiectate pe bază de 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 necompletateif( Value = Blank(), ... în loc de IsBlank. Funcția IsBlank consideră tabelele goale ca nefiind goale, iar IsEmpty ar trebui 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ă la: Aplicații proiectate pe pânză Aplicații proiectate pe bază de 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 să fie evaluate 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ă la: Aplicații proiectate pe pânză Aplicații proiectate pe bază de 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ă

Blank()

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

  • Valoare(i) – 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 )

  • Value - Obligatoriu. Valoarea de testat pentru o valoare necompletată sau un șir gol.

IsEmpty( Tabel )

  • Table – 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.

  1. Creați o aplicație de la zero și adăugați un control Buton.

  2. Setați proprietatea OnSelect a butonului la această formulă:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Previzualizați aplicația, faceți clic sau atingeți butonul adăugat, apoi închideți Previzualizare.

  4. Î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":

    Colecție care arată Seattle cu vreme ploioasă.

  5. Faceți clic sau atingeți săgeata înapoi pentru a reveni la spațiul de lucru implicit.

  6. 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").

  7. Adăugați un al doilea buton, apoi setați proprietatea OnSelect la această formulă:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. 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.

    Colecție care arată Seattle cu un câmp Vreme necompletat.

    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( Necompletat(), "", Necompletat(), "", "3", "4" ) Coalesce începe la începutul listei de argumente și evaluează pe rând fiecare argument până la o valoare non-necompletat, iar șirul care nu este gol este găsit. Î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. blank

IsBlank

  1. Creați o aplicație de la zero, adăugați un control de intrare text și denumiți-l Prenume.

  2. 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.

  3. 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( Blank() ) Testează valoarea de retur din funcția Blank, care returnează întotdeauna o valoare necompletat. true
IsBlank( "" ) Un șir care nu conține caractere. true
IsBlank ("Salut") Un șir care nu conține unu sau mai multe caractere. false
IsBlank( AnyCollection ) Î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. false
IsBlank (Mid("Salut", 17, 2)) Personajul de pornire pentru Mid este dincolo de capătul șirului. Rezultatul este un și gol. true
IsBlank( If( false, false ) ) O funcție If cu ElseResult. Pentru că starea este întotdeauna false, acest If returnează întotdeauna necompletat. true

IsEmpty

  1. Creați o aplicație de la zero și adăugați un control Buton.

  2. Setați proprietatea OnSelect a butonului la această formulă:

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

  3. 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:

    Un tabel cu arome de căpșuni și ciocolată cu cantități 300 și 100.

    Această colecție are două înregistrări și nu este goală. IsEmpty (Înghețată) returnează false, iar CountRows (Înghețată) returnează 2.

  4. Adăugați un al doilea buton, apoi setați proprietatea OnSelect la această formulă:

    Clear( Înghețată )

  5. Previzualizați aplicația, faceți clic sau atingeți al doilea buton, apoi închideți Previzualizare.

    Colecția este acum goală:

    O colecție cu aromă și cantitate ca colecție necompletată.

    Funcția Clear elimină toate înregistrările dintr-o colecție, rezultând o colecție goală. IsEmpty (Înghețată) returnează true, iar CountRows (Înghețată) returnează 0.

Puteți utiliza, de asemenea IsEmpty pentru a testa dacă un tabel calculat este gol, după cum arată aceste exemple:

Formulă Descriere Rezultat
IsEmpty( [ 1, 2, 3 ] ) Tabelul cu o singură coloană conține trei înregistrări și, prin urmare, nu este gol. false
IsEmpty( [ ] ) Tabelul cu o singură coloană nu conține înregistrări și este gol. true
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. true