Share via


Prazne funkcije, funkcije Coalesce, IsBlank in IsEmpty

Velja za: Aplikacije delovnega območja Stolpci s formulo potekov Dataverse namizja Aplikacije Power Platform , ki temeljijo na modelu CLI

Preizkusi, ali je vrednost prazna oz. ali tabela ne vsebuje zapisov, in zagotovi način za ustvarjanje praznih vrednosti.

Pregled

Prazno je označba mesta za lastnost »Brez vrednosti« ali »Neznana vrednost«. Na primer, lastnost Izbrano kontrolnika Kombinirano polje ima vrednost prazno, če uporabnik ni izvedel izbora. Številni viri podatkov lahko shranijo in vrnejo vrednosti NULL, ki so v rešitvi Power Apps prikazane kot prazne.

Katera koli lastnost ali izračunana vrednost v rešitvi Power Apps je lahko prazna. Logična vrednost ima na primer običajno eno od teh dveh vrednosti: true ali false. Toda poleg teh dveh ima lahko tudi prazno vrednost, ki označuje, da stanje ni znano. To je podobno kot v aplikaciji Microsoft Excel, kjer je celica delovnega lista na začetku prazna brez vsebine, vendar ima lahko vrednost TRUE ali FALSE (med drugimi). Vsebino celice lahko kadarkoli znova počistite in jo vrnete v prazno stanje.

Prazen niz se nanaša na niz, v katerem ni znakov. Funkcija Len za takšen niz vrne nič, kar lahko zapišemo v formule kot dva dvojna narekovaja, med katerima ni ničesar "". Nekateri kontrolniki in viri podatkov uporabljajo prazen niz za označevanje stanja »brez vrednosti«. Za enostavnejše ustvarjanje aplikacij funkciji IsBlank in Coalesce preverita, ali obstajajo prazne vrednosti ali prazni nizi.

Pri funkciji IsEmpty se prazno uporablja za tabele, ki ne vsebujejo zapisov. Struktura tabele je morda nespremenjena, vsebuje imena stolpcev, vendar v tabeli ni podatkov. Tabela je na začetku lahko prazna, nato sprejme zapise in ni več prazna, nato pa lahko odstranite zapise in tabela je znova prazna.

opomba,

Smo v prehodnem obdobju. Do zdaj se je prazna vrednost uporabljala tudi za poročanje o napakah, zaradi česar ni bilo mogoče ločiti veljavne vrednosti »brez vrednosti« od napake. Zato je shranjevanje praznih vrednosti trenutno podprto samo za lokalne zbirke. Prazne vrednosti lahko hranite v drugih virih podatkov, če vklopite poskusno funkcijo Upravljanje napak na ravni formule v Nastavitve>Prihajajoče funkcije>Poskusno. Trudimo se dokončati to funkcijo in izvesti ustrezno ločitev praznih vrednosti od napak.

Prazno

Velja za: Aplikacije delovnega območja Stolpci s formulami aplikacij, Dataverse ki temeljijo na modelu

Funkcija Blank vrne prazno vrednost. Uporabite jo za shranjevanje vrednosti NULL v viru podatkov, ki podpira te vrednosti, s čimer učinkovito odstranite vrednost iz polja.

IsBlank

Velja za: Aplikacije delovnega območja Aplikacije , ki temeljijo na modelu

Funkcija IsBlank preveri, ali obstaja prazna vrednost ali prazen niz. Preskus vključuje prazne nize za enostavnejše ustvarjanje aplikacij, saj nekateri viri podatkov in kontrolniki uporabljajo prazen niz, kadar ni vrednosti. Če želite preveriti prazno vrednost, uporabite if( Value = Blank(), ... namesto funkcije IsBlank. Funkcija IsBlank meni, da prazne tabele niso prazne, za testiranje tabele pa je treba uporabiti funkcijo IsEmpt .

Ko omogočate obravnavanje napak za obstoječe aplikacije, razmislite o zamenjavi funkcije IsBlank s funkcijo IsBlankOrError, da ohranite obstoječe vedenje aplikacije. Pred dodajanjem obravnave napak je bila prazna vrednost uporabljena za predstavitev tako ničelnih vrednosti iz baz podatkov kot vrednosti napak. Obravnavanje napak ločuje ti dve interpretaciji prazne vrednosti, kar bi lahko spremenilo vedenje obstoječih aplikacij, ki še naprej uporabljajo funkcijo IsBlank.

Vrnjena vrednost za funkcijo IsBlank je logična vrednost true ali false.

Coalesce

Velja za: Aplikacije delovnega območja Aplikacije , ki temeljijo na modelu

Funkcija Coalesce oceni svoje argumente po vrstnem redu in vrne prvo vrednost, ki ni prazna vrednost ali prazen niz. S to funkcijo zamenjate prazno vrednost ali prazen niz z drugo vrednostjo, vendar pustite vrednosti, ki niso prazne, in nize, ki niso prazni, nespremenjene. Če so vsi argumenti prazni ali prazni nizi, funkcija vrne prazno vrednost, zaradi česar je funkcija Coalesce dober način za pretvorbo praznih nizov v prazne vrednosti.

Coalesce( value1, value2 ) je natančnejši ekvivalent funkcije If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) in ne zahteva, da sta vrednost1 in vrednost2 vrednoteni dvakrat. Funkcija If vrne prazno vrednost, če ni formule »else«, kot v tem primeru.

Vsi argumenti za Coalesce morajo biti iste vrste; ne morete na primer mešati številk z besedilnimi nizi. Vrnjena vrednost iz funkcije Coalesce je te običajne vrste.

IsEmpty

Velja za: Aplikacije delovnega območja Aplikacije , ki temeljijo na modelu

Funkcija IsEmpty preveri, ali tabela vsebuje zapise. Je enakovredna funkciji CountRows in preverjanju vrednosti nič. Napake v viru podatkov lahko preverite s kombiniranjem funkcij IsEmpty in Errors.

Vrnjena vrednost za funkcijo IsEmpty je logična vrednost true ali false.

Sintaksa

Blank()

Coalesce( Vrednost1 [, Vrednost2, ... ] )

  • Value(s) – obvezno. Vrednosti za preskus. Vsaka vrednost se ovrednoti po vrstnem redu, dokler ni najdena vrednost, ki ni prazna vrednost ali prazen niz. Vrednosti po tej točki se ne vrednotijo.

IsBlank( Vrednost )

  • Value – obvezno. Vrednost za preskus za prazno vrednost ali prazen niz.

IsEmpty( Tabela )

  • Table – obvezno. Tabela za preskus zapisov.

Primeri

Prazno

opomba,

Spodnji primer trenutno deluje samo za lokalne zbirke. Prazne vrednosti lahko hranite v drugih virih podatkov, če vklopite poskusno funkcijo Upravljanje napak na ravni formule v Nastavitve>Prihajajoče funkcije>Poskusno. Trudimo se dokončati to funkcijo in izvesti ločitev praznih vrednosti od napak.

  1. Ustvarite aplikacijo od začetka in dodajte kontrolnik Button.

  2. Lastnost OnSelect gumba nastavite na to formulo:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Odprite predogled svoje aplikacije, kliknite ali tapnite gumb, ki ste ga dodali, in nato zaprite predogled.

  4. V meniju Datoteka kliknite ali tapnite Zbirke.

    Prikaže se zbirka Cities, ki prikazuje en zapis z vrednostma »Seattle« in »Rainy«:

    Zbirka, ki prikazuje mesto Seattle z deževnim vremenom.

  5. Kliknite ali tapnite puščico nazaj, da se vrnete v privzeti delovni prostor.

  6. Dodajte kontrolnik Label in nastavite njegovo lastnost Besedilo na to formulo:

    IsBlank( First( Cities ).Weather )
    

    Oznaka prikazuje vrednost false, ker polje Weather vsebuje vrednost (»Rainy«).

  7. Dodajte še en gumb in nastavite njegovo lastnost OnSelect na to formulo:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Odprite predogled svoje aplikacije, kliknite ali tapnite gumb, ki ste ga dodali, in nato zaprite predogled.

    Polje Weather v prvem zapisu v zbirki Cities se zamenja s prazno vrednostjo, pri čemer se odstrani predhodna vrednost »Rainy«.

    Zbirka, ki prikazuje mesto Seattle s praznim poljem za vreme.

    Oznaka prikazuje vrednost true, ker polje Weather ne vsebuje več vrednosti.

Coalesce

Formula Opis Rezultat
Coalesce( Blank(), 1 ) Preskusi vrnjeno vrednost funkcije Blank, ki vedno vrne prazno vrednost. Ker je prvi argument prazen, se vrednotenje nadaljuje z naslednjim argumentom, dokler nista najdena vrednost, ki ni prazna, ali niz, ki ni prazen. 1
Coalesce( "", "2" ) Preskusi prvi argument, ki je prazen niz. Ker je prvi argument prazen niz, se vrednotenje nadaljuje z naslednjim argumentom, dokler nista najdena vrednost, ki ni prazna, ali niz, ki ni prazen. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce se začne na začetku seznama argumentov in ovrednoti vsak argument, dokler ne najde vrednosti, ki ni prazna, ali niza, ki ni prazen. V tem primeru prvi štirje argumenti vrnejo prazno vrednost ali prazen niz, zato se vrednotenje nadaljuje do petega argumenta. Peti argument ima vrednost, ki ni prazna, ali niz, ki ni prazen, zato se vrednotenje tukaj ustavi. Vrnjena je vrednost petega argumenta in šesti argumenta se ne vrednoti. 3
Coalesce( "" ) Preskusi prvi argument, ki je prazen niz. Ker je prvi argument prazen niz in ni več argumentov, funkcija vrne prazno vrednost. prazno

IsBlank

  1. Ustvarite aplikacijo od začetka, dodajte kontrolnik za vnos besedila in ga poimenujte FirstName.

  2. Dodajte oznako in nastavite njeno lastnost Besedilo na to formulo:

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

    Lastnost Besedilo kontrolnika za vnosa besedila je nastavljena na "Vnos besedila". Ker lastnost vsebuje vrednost, ni prazna, in oznaka ne prikaže nobenega sporočila.

  3. Iz kontrolnika za vnos besedila odstranite vse znake, vključno s presledki.

    Ker lastnost Besedilo več ne vsebuje znakov, gre za prazen niz in IsBlank (FirstName.Text) ima vrednost true. Prikaže se sporočilo za obvezno polje.

Za informacije o preverjanju veljavnosti z drugimi orodji glejte funkcijo Validate in delo z viri podatkov.

Drugi primeri:

Formula Opis Rezultat
IsBlank( Blank() ) Preskusi vrnjeno vrednost funkcije Blank, ki vedno vrne prazno vrednost. true
IsBlank( "" ) Niz, ki ne vsebuje znakov. true
IsBlank( "Hello" ) Niz, ki vsebuje najmanj en znak. false
IsBlank( AnyCollection ) Ker obstaja zbirka, niz ni prazen, tudi če ne vsebuje nobenega zapisa. Če želite preveriti, ali je zbirka prazna, raje uporabite IsEmpty. false
IsBlank( Mid( "Hello", 17, 2 ) ) Začetni znak za Mid je za koncem niza. Rezultat je prazen niz. true
IsBlank( If( false, false ) ) Funkcija If brez ElseResult. Ker ima pogoj vedno vrednost false, ta funkcija If vedno vrne prazno vrednost. true

IsEmpty

  1. Ustvarite aplikacijo od začetka in dodajte kontrolnik Button.

  2. Lastnost OnSelect gumba nastavite na to formulo:

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

  3. Odprite predogled svoje aplikacije, kliknite ali tapnite gumb, ki ste ga dodali, in nato zaprite predogled.

    Ustvari se zbirka z imenom IceCream, ki vsebuje te podatke:

    Miza z okusoma jagode in čokolade s količino 300 in 100.

    Ta zbirka ima dva zapisa in ni prazna. IsEmpty( IceCream ) vrne vrednost false in CountRows( IceCream ) vrne vrednost 2.

  4. Dodajte še en gumb in nastavite njegovo lastnost OnSelect na to formulo:

    Clear( IceCream )

  5. Odprite predogled svoje aplikacije, kliknite ali tapnite drugi gumb in nato zaprite predogled.

    Zbirka je zdaj prazna:

    Zbirka z okusom in količino kot praznima zbirkama.

    Funkcija Clear odstrani vse zapise iz zbirke, zaradi česar je zbirka prazna. IsEmpty( IceCream ) vrne vrednost true in CountRows( IceCream ) vrne vrednost 0.

Uporabite lahko tudi IsEmpty in preverite, ali je izračunana tabela prazna, kot kažejo ti primeri:

Formula Opis Rezultat
IsEmpty( [ 1, 2, 3 ] ) V tabeli z enim stolpcem so trije zapisi in zato ni prazna. false
IsEmpty( [ ] ) V tabeli z enim stolpcem ni nobenega zapisa in je prazna. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) V tabeli z enim stolpcem ni nobene vrednosti, večje od 5. Rezultat filtra ne vsebuje nobenega zapisa in je prazen. true