Deli putem


Funkcije "Prazno", "Koalsce", "IsBlank" i "IsEmpty"

Važi za: Canvas aplikacije Desktop flows Dataverse formula columns Model-driven apps Power Pages Power Platform CLI

Testira da li je vrednost prazna ili tabela ne sadrži zapise, a pruža način za kreiranje prazne vrednosti.

Pregled

Blank je čuvar mesta za „nema vrednosti“ ili „nepoznata vrednost“. Na primer, svojstvo Selected kontrole kombinovani okvir is prazno ako korisnik nije napravio izbor. Mnogi izvori podataka mogu da skladište i vrate NULL vrednosti koje su predstavljene u Power Apps kao prazno.

Bilo koje svojstvo ili izračunata vrednost u Power Apps može biti prazna. Na primer, logička vrednost obično ima jednu od dve vrednosti: tačno ili netačno. Ali pored ova dva može biti i prazna, što ukazuje da status nije poznat. Ovo je slično programu Microsoft Excel, gde ćelija radnog lista počinje kao prazna bez sadržaja, ali može da drži vrednosti TAČNO ili NETAČNO (između ostalog). Sadržaj ćelije se u bilo kom trenutku može ponovo biti obrisan, vraćajući se u status prazno.

Prazna niska se odnosi na nisku koja ne sadrži znakove. Len funkcija vraća nulu za takvu nisku i može se napisati u formulama kao dva dvostruka navodnika, a da ništa između toga nije "". Neke kontrole i izvori podataka koriste praznu nisku da označe stanje „bez vrednosti“. Da biste pojednostavili kreiranje aplikacija, funkcije IsBlank i Coalesce testiraju za obe prazne vrednosti ili prazne niske.

U kontekstu funkcije IsEmpty, prazno se odnosi na tabele koje ne sadrže zapise. Struktura tabele može biti netaknuta, zajedno sa kolonom naziva, ali u tabeli nema podataka. Tabela može da počne kao prazna, preuzme zapise i više ne bude prazna, a zatim zapisi mogu biti uklonjeni i tabela će ponovo da bude prazna.

Belešku

Mi smo u periodu tranzicije. Do sada, prazno se takođe koristilo za prijavljivanje grešaka, zbog čega je nemoguće razlikovati važeće „bez vrednosti“ od greške. Iz tog razloga, u ovom trenutku, skladištenje praznih vrednosti je podržano samo za lokalne kolekcije. Možete da čuvate prazne vrednosti u drugim izvorima podataka ako uključite eksperimentalnu funkciju Upravljanje greškama na nivou formule u meniju Postavke>Predstojeće funkcije>Eksperimentalno. Aktivno radimo na okončanju ove funkcije i dovršavanju odgovarajućeg odvajanja praznih vrednosti iz grešaka.

Blank

Važi za: Canvas aplikacije Model-driven aplikacije kolone Dataverse formule

Funkcija Blank vraća praznu vrednost. Koristite ovo da sačuvate NULL vrednost u izvoru podataka koja podržava ove vrednosti, efikasno uklanjajući bilo koju vrednost iz polja.

IsBlank

Važi za: Canvas aplikacije Model-driven aplikacije

Testovi funkcije IsBlank za praznu vrednost ili nisku. Test uključuje prazne niske za olakšavanje kreiranja aplikacija, jer neki izvori podataka i kontrole koriste praznu nisku kada nema vrednosti. Za testiranje posebno za praznu vrednost koristite if( Value = Blank(), ... umesto IsBlank. Funkcija IsBlank smatra da prazne tabele nisu prazne, a IsEmpty bi trebalo da se koristi za testiranje tabele.

Kada omogućite upravljanje greškama za postojeće aplikacije, razmislite o zameni funkcije IsBlank funkcijom IsBlankOrError da biste zaštitili postojeće ponašanje aplikacije. Pre dodavanja rukovanja greškama, prazna vrednost je korišćena za predstavljanje i praznih vrednosti iz baza podataka i vrednosti grešaka. Rukovanje greškama razdvaja ove dve interpretacije praznog, što bi moglo da promeni ponašanje postojećih aplikacija koje i dalje koriste IsBlank.

Povratna vrednost za IsBlank je logička vrednost true ili false.

Coalesce

Važi za: Canvas aplikacije Model-driven aplikacije

Funkcija Coalesce izračunava svoje argumente po redosledu i vraća prvu vrednost koja nije prazna ili praznu nisku. Ovom funkcijom zamenite praznu vrednost ili praznu nisku drugom vrednošću, ali ostavite vrednosti niski koje nisu prazne nepromenjene. Ako su svi argumenti prazni ili prazne niske, funkcija zatim vraća prazno, što čini funkciju Coalesce dobrim načinom za pretvaranje praznih niski u prazne vrednosti.

Coalesce( value1, value2 ) je sažetiji ekvivalent od If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) i ne zahteva da se value1 i value2 izračunavaju dvaput. Funkcija If vraća prazno ako ne postoji „druga“ formula, kao što je to slučaj ovde.

Svi argumenti za Coalesce moraju biti istog tipa; na primer, ne možete mešati brojeve sa tekstualnim niskama. Povratna vrednost od Coalesce je ovog uobičajenog tipa.

IsEmpty

Važi za: Canvas aplikacije Model-driven aplikacije

Funkcija IsEmpty testira da li tabela sadrži bilo kakve zapise. To je ekvivalentno korišćenju funkcije CountRows i provere da li postoji nula. Možete proveriti da li postoje greške u izvoru podataka ako kombinujete IsEmpty sa funkcijom Errors.

Povratna vrednost za IsEmpty je logička vrednost true ili false.

Sintaksa

Blank()

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

  • Value(s) – Obavezno. Vrednosti za testiranje. Svaka vrednost se izračunava po redosledu dok se ne pronađe vrednost ili niska koja nije prazna. Vrednosti se ne izračunavaju nakon ovog dela.

IsBlank( Vrednost )

  • Value – Obavezno. Vrednost za testiranje za praznu vrednost ili nisku.

IsEmpty( Tabela )

  • Table – Obavezno. Tabela za testiranje za zapise.

Primeri

Blank

Belešku

U ovom trenutku, sledeći primer deluje samo za lokalne kolekcije. Možete da čuvate prazne vrednosti u drugim izvorima podataka ako uključite eksperimentalnu funkciju Upravljanje greškama na nivou formule u meniju Postavke>Predstojeće funkcije>Eksperimentalno. Aktivno radimo na okončanju ove funkcije i dovršavanju odvajanja praznih vrednosti iz grešaka.

  1. Kreirajte aplikaciju ispočetka i dodajte kontrolu Dugme.

  2. Podesite svojstvo dugmeta OnSelect prema ovoj formuli:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Pregledajte aplikaciju, kliknite ili dodirnite dugme koje ste dodali, a zatim zatvorite pregled.

  4. U meniju Datoteka kliknite ili dodirnite Kolekcije.

    Kolekcija Gradovi se pojavljuje, prikazujući jedan zapis sa „Sijetl“ i „kišovito“:

    Kolekcija prikazuje Sijetl sa kišovitim vremenom.

  5. Kliknite ili dodirnite strelicu za povratak unazad da biste se vratili na podrazumevani radni prostor.

  6. Dodajte kontrolu Oznaka i podesite njeno svojstvo Text prema ovoj formuli:

    IsBlank( First( Cities ).Weather )
    

    Oznaka prikazuje netačno zato što polje Vreme sadrži vrednost („Kišovito“).

  7. Dodajte drugo dugme i podesite njegovo svojstvo OnSelect prema ovoj formuli:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Pregledajte aplikaciju, kliknite ili dodirnite dugme koje ste dodali, a zatim zatvorite pregled.

    Polje Vreme prvog zapisa u Gradovi zamenjuje se sa prazno, uklanjajući „Kišno“ koje je bilo tamo prethodno.

    Kolekcija prikazuje Sijetl sa praznim poljem Vreme.

    Oznaka prikazuje tačno zato što polje Vreme više sadrži vrednost.

Coalesce

Formula Opis Rezultat
Coalesce( Blank(), 1 ) Testira povratnu vrednost funkcije Blank, koja uvek vraća praznu vrednost. Zato što je prvi argument prazan, izračunavanje se nastavlja sledećim argumentom, sve dok se ne pronađu vrednost i niska koje nisu prazne. 1
Coalesce( "", "2" ) Testira prvi argument koji je prazna niska. Zato što je prvi argument prazna niska, izračunavanje se nastavlja sledećim argumentom, sve dok se ne pronađu vrednost i niska koje nisu prazne. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce počinje na početku liste argumenata i izračunava svaki argument po redu dok se ne pronađu vrednost i niska koje nisu prazne. U ovom slučaju, prva četiri argumenta vraćaju prazno ili praznu nisku, pa se izračunavanje nastavlja do petog argumenta. Vrednost petog argumenta i niska nisu prazne, pa ovde izračunavanje prestaje. Vraća se vrednost petog argumenta, a šesti argument se ne izračunava. 3
Coalesce( "" ) Testira prvi argument koji je prazna niska. Pošto je prvi argument prazna niska, a nema više argumenata, funkcija vraća prazno. prazno

IsBlank

  1. Kreirajte aplikaciju ispočetka, dodajte kontrolu unosa teksta i nazovite je FirstName.

  2. Dodajte oznaku i podesite njeno svojstvo Text prema ovoj formuli:

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

    Svojstvo Text kontrole unosa teksta je podrazumevano podešeno na „Unos teksta“. Zato što svojstvo sadrži vrednost, ono nije prazno, a oznaka ne prikazuje nijednu poruku.

  3. Uklonite sve znakove iz kontrole unosa teksta, uključujući bilo koje razmake.

    Pošto svojstvo Text više ne sadrži znakove, ono je prazna niska, a IsBlank( FirstName.Text ) biće tačno. Prikazuje se poruka o obaveznom polju.

Za informacije o izvođenju validacije pomoću drugih alatki, pogledajte funkciju Validate i rad sa izvorima podataka.

Drugi primeri:

Formula Opis Rezultat
IsBlank( Blank() ) Testira povratnu vrednost funkcije Blank, koja uvek vraća praznu vrednost. tačno
IsBlank( "" ) Niska koja ne sadrži znakove. tačno
IsBlank( „Zdravo“ ) Niska koja sadrži jedan ili više znakova. netačno
IsBlank( AnyCollection ) Pošto kolekcija postoji, ona nije prazna, čak i ako ne sadrži nijedan zapis. Da biste proverili da li je kolekcija prazna, koristite IsEmpty umesto toga. netačno
IsBlank( Mid( "Hello", 17, 2 ) ) Početni znak za Mid je izvan kraja niske. Rezultat je prazna niska. tačno
IsBlank( If( false, false ) ) Funkcija If bez ElseResult. Pošto je uslov uvek netačno, ova funkcija If uvek vraća prazno. tačno

IsEmpty

  1. Kreirajte aplikaciju ispočetka i dodajte kontrolu Dugme.

  2. Podesite svojstvo dugmeta OnSelect prema ovoj formuli:

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

  3. Pregledajte aplikaciju, kliknite ili dodirnite dugme koje ste dodali, a zatim zatvorite pregled.

    Kolekcija pod nazivom IceCream je kreirana i sadrži ove podatke:

    Tabela sa ukusima jagode i čokolade sa količinama od 300 i 100 komada.

    Ova kolekcija ima dva zapisa i nije prazna. IsEmpty( IceCream ) vraća netačno, a CountRows( IceCream ) vraća 2.

  4. Dodajte drugo dugme i podesite njegovo svojstvo OnSelect prema ovoj formuli:

    Clear( IceCream )

  5. Pregledajte aplikaciju, kliknite ili dodirnite drugo dugme, a zatim zatvorite pregled.

    Kolekcija je sada prazna:

    Kolekcija sa ukusima i količinom kao prazna kolekcija.

    Funkcija Clear uklanja sve zapise iz kolekcije, što rezultira praznom kolekcijom. IsEmpty( IceCream ) vraća tačno, a CountRows( IceCream ) vraća 0.

Takođe možete da koristite IsEmpty za testiranje da li je izračunata tabela prazna, kao što pokazuju ovi primeri:

Formula Opis Rezultat
IsEmpty( [ 1, 2, 3 ] ) Tabela sa jednim kolonom sadrži tri zapisa i, stoga, nije prazna. netačno
IsEmpty( [ ] ) Tabela sa jednom kolonom ne sadrži nijedan zapis, to jest prazna je. tačno
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Tabela sa jednom kolonom ne sadrži vrednosti veće od 5. Rezultat iz filtera ne sadrži nikakve zapise, to jest prazan je. tačno