Funkcije Blank, Coalesce, IsBlank i IsEmpty

Odnosi se na: Aplikacije od gotovih gradivnih elemenata Stupci formule za tokove Dataverse radne površine CLI aplikacije stvorene Power Platform prema modelu

Ispituje je li vrijednost prazna ili tablica ne sadrži zapise i pruža način za stvaranje vrijednosti prazno.

Pregled

Prazno je rezervirano mjesto za "bez vrijednosti" ili "nepoznatu vrijednost." Na primjer, za kontrolu Combo box, svojstvo Selected je prazno ako korisnik nije ništa odabrao. Mnogi izvori podataka mogu pohraniti i vratiti vrijednosti NULL koje su u Power Apps predstavljene kao prazno.

Bilo koje svojstvo ili izračunata vrijednost u Power Apps može biti prazno. Na primjer, Booleova vrijednost obično ima jednu od dvije vrijednosti: true ili false. Ali, osim ove dvije može biti i prazno, što ukazuje na to da mu stanje nije poznato. Ovo je slično programu Microsoft Excel, gdje jedna ćelija radnog lista započinje prazna i bez sadržaja, ali može sadržavati vrijednosti TRUE ili FALSE (između ostalih). Sadržaj ćelije se u bilo kojem trenutku može ponovno očistiti i vratiti u stanje prazno.

Prazan niz odnosi se na niz koji ne sadrži znakove. Funkcija Len vraća nulu za takav niz i ona se može zapisati u formule pomoću dva navodnika, bez ičega između "". Neke kontrole i izvori podataka koriste prazan niz za označavanje stanja „nema vrijednost”. Da biste pojednostavili izradu aplikacija, funkcije IsBlank i Coalesce ispituju funkcije i za vrijednosti prazno i za prazne nizove.

U kontekstu funkcije IsEmpty, prazno se odnosi samo na tablice koje ne sadrže zapise. Struktura tablice može biti netaknuta, zajedno sa nazivima stupaca, ali u tablici nema podataka. Tablica može početi kao prazna, primiti zapise i više ne biti prazna, a zatim se zapisi mogu ukloniti i ponovno će biti prazna.

Napomena

Nalazimo se u razdoblju tranzicije. Do sada, prazno se koristilo i za prijavljivanje pogrešaka, što je onemogućavalo razlikovanje ispravnog „nema vrijednost” od pogreške. Iz tog razloga je u ovom trenutku pohrana vrijednosti prazno podržana samo za lokalne zbirke. Možete čuvati prazne vrijednosti u drugim izvorima podataka ako uključite eksperimentalnu značajku Upravljanje pogreškama na razini formule u odjeljku Postavke>Buduće značajke>Eksperimentalno. Aktivno radimo na dovršenju ove značajke i dovršenju odgovarajućeg razdvajanja vrijednosti prazno od pogrešaka.

Blank

Odnosi se na: Aplikacije od gotovih gradivnih elemenata Stupci Dataverse formula aplikacija stvorenih prema modelu

Funkcija Blank vraća vrijednost prazno. Upotrijebite ovo kako biste spremili vrijednosti NULL u neki izvor podataka koji podržava te vrijednosti, učinkovito uklanjajući bilo koju vrijednost iz tog polja.

IsBlank

Odnosi se na: Aplikacije od gotovih gradivnih elemenata Aplikacije stvorene prema modelu

Funkcija IsBlank ispituje postoji li vrijednost prazno ili prazan niz. Ovaj test uključuje prazne nizove kako bi se olakšavalo stvaranje aplikacija, jer neki izvori podataka i kontrole koriste prazan niz kad nema nikakve vrijednosti. Za ispitivanje posebno za vrijednost prazno upotrebljava se if( Value = Blank(), ... namjesto funkcije IsBlank. Funkcija IsBlank prazne tablice smatra praznima, a IsEmpty bi se trebao koristiti za testiranje tablice.

Kada omogućavate postupanje s pogreškama za postojeće aplikacije, razmislite o zamjeni IsBlank s IsBlankOrError radi očuvanja postojećeg ponašanja aplikacije. Prije dodavanja postupanja s pogreškama, vrijednost prazno korištena je za predstavljanje null vrijednosti iz baza podataka i vrijednosti pogrešaka. Postupanje s pogreškama razdvaja ove dvije interpretacije praznog što bi moglo promijeniti ponašanje postojećih aplikacija koje i dalje koriste IsBlank.

Povratna je vrijednost za IsBlank Booleovo true ili false.

Coalesce

Odnosi se na: Aplikacije od gotovih gradivnih elemenata Aplikacije stvorene prema modelu

Funkcija Coalesce procjenjuje svoje argumente po redoslijedu i vraća prvu vrijednost koja nije prazno ili prazan niz. Ovom funkcijom zamijenite vrijednost prazno ili prazan niz s nekom drugom vrijednošću, tako da druge vrijednosti koje nisu prazno i neprazni nizovi ostanu nepromijenjeni. Ako su svi argumenti prazni ili prazni nizovi, onda funkcija vraća prazno, čineći Coalesce dobrim načinom za pretvaranje praznih nizova u vrijednosti prazno.

Coalesce( value1, value2 ) je sažeti ekvivalent funkcije If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) i ne zahtijeva da se vrijednost1 i vrijednost2 procjenjuju dva puta. Funkcija If vraća vrijednost prazno ako ne postoji formula „else“ kao što je to slučaj ovdje.

Svi argumenti za Coalesce moraju biti iste vrste; na primjer, ne možete miješati brojeve s tekstnim nizovima. Povratna je vrijednost od Coalesce ovog uobičajenog tipa.

IsEmpty

Odnosi se na: Aplikacije od gotovih gradivnih elemenata Aplikacije stvorene prema modelu

Funkcija IsEmpty ispituje sadrži li tablica bilo kakve zapise. To je ekvivalentno korištenju funkcije CountRows i provjeri je li broj redaka nula. Pogreške u izvoru podataka možete provjeriti kombiniranjem funkcija IsEmpty i Errors.

Povratna je vrijednost za IsEmpty Booleovo true ili false.

Sintaksa

Blank()

Coalesce( vrijednost1 [, vrijednost2, ... ] )

  • Value(s) – obavezno. Ispitivane vrijednosti. Svaka se vrijednost procjenjuje redom dok se ne pronađe neka vrijednost koja nije prazno i nije prazan niz. Vrijednosti nakon ove točke ne procjenjuju se.

IsBlank( vrijednost )

  • Value – obavezno. Vrijednost za koju se ispituje je li blank ili prazan niz.

IsEmpty( tablica )

  • Table – obavezno. Tablica za testiranje zapisa.

Primjeri

Blank

Napomena

U ovom trenutku, sljedeći primjer funkcionira samo za lokalne zbirke. Možete čuvati prazne vrijednosti u drugim izvorima podataka ako uključite eksperimentalnu značajku Upravljanje pogreškama na razini formule u odjeljku Postavke>Buduće značajke>Eksperimentalno. Aktivno radimo na dovršenju ove značajke i dovršenju razdvajanja vrijednosti prazno od pogrešaka.

  1. Stvorite aplikaciju od početka i dodajte kontrolu Button.

  2. Svojstvo OnSelect gumba postavite na ovu formulu:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Prikažite pretpregled aplikacije, kliknite ili dodirnite dodani gumb, a zatim zatvorite pretpregled.

  4. U izborniku Datoteka kliknite ili dodirnite Zbirke.

    Pojavljuje se Cities koja prikazuje jedan zapis s vrijednostima „Seattle” i „Rainy”:

    Zbirka prikazuje grad Seattle s kišnim vremenom.

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

  6. Dodajte kontrolu Label i postavite njezino svojstvo Text na ovu formulu:

    IsBlank( First( Cities ).Weather )
    

    Ova oznaka pokazuje false jer polje Weather sadrži neku vrijednost („Rainy”).

  7. Dodajte drugi gumb i postavite njegovo svojstvo OnSelect na sljedeću formulu:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Prikažite pretpregled aplikacije, kliknite ili dodirnite dodani gumb, a zatim zatvorite pretpregled.

    Polje Weather prvog zapisa u Cities zamjenjuje se s prazno, uklanjajući „Rainy” koje je tamo bilo prije.

    Zbirka koja prikazuje grad Seattle s praznim poljem Weather.

    Ova oznaka pokazuje true jer polje Weather više ne sadrži vrijednost.

Coalesce

Formula Opis Rezultat
Coalesce( Blank(), 1 ) Ispituje povratnu vrijednost funkcije Blank koja uvijek vraća vrijednost prazno. Budući da je prvi argument prazno, procjena se nastavlja slijedećim argumentom sve dok se ne pronađe vrijednost koja nije prazno i neprazni niz. 1
Coalesce( "", "2" ) Ispituje prvi argument koji je prazan niz. Budući da je prvi argument prazan niz, procjena se nastavlja slijedećim argumentom sve dok se ne pronađe vrijednost koja nije prazno i neprazni niz. 2
Coalesce( Prazno(), "", Prazno(), "", "3", "4" ) Funkcija Coalesce započinje na početku popisa argumenata i procjenjuje svaki argument dok se ne pronađe vrijednost koja nije prazna i niz koji nije prazan. U ovom slučaju prva četiri argumenta vraćaju prazno ili prazan niz, pa se procjena nastavlja do petog argumenta. Peti argument nije prazno i nije prazan niz, pa se ovdje procjena zaustavlja. Vraća se vrijednost petog argumenta, a šesti argument se ne procjenjuje. 3
Coalesce( "" ) Ispituje prvi argument koji je prazan niz. Budući da je prvi argument prazan niz, a da nema više argumenata, funkcija vraća prazno. prazno

IsBlank

  1. Stvorite aplikaciju od početka, dodajte kontrolu unosa teksta i nazovite je FirstName.

  2. Dodajte oznaku i postavite njeno svojstvo Text na ovu formulu:

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

    Prema zadanim postavkama, svojstvo Text neke kontrole unosa teksta postavljeno je na "Text input". Budući da ovo svojstvo sadrži vrijednost, ono nije prazno, a oznaka ne prikazuje nikakvu poruku.

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

    Budući da svojstvo Text više ne sadrži znakove, to je prazan niz, a funkcija IsBlank( FirstName.Text ) dat će vrijednost true. Prikazuje se poruka obveznog polja.

Za informacije o izvođenju provjere valjanosti pomoću drugih alata pogledajte funkciju Validate i rad s izvorima podataka.

Drugi primjeri:

Formula Opis Rezultat
IsBlank( Blank() ) Ispituje povratnu vrijednost funkcije Blank koja uvijek vraća vrijednost prazno. true
IsBlank( "" ) Niz koji ne sadrži znakove. true
IsBlank( "Hello" ) Niz koji sadrži jedan ili više znakova. false
IsBlank( AnyCollection ) Budući da zbirka postoji, nije prazna čak ni ako ne sadrži nijedan zapis. Da biste provjerili je li zbirka prazna, umjesto toga upotrijebite funkciju IsEmpty. false
IsBlank( Mid( "Hello", 17, 2 ) ) Početni znak koji traži funkcija Mid je izvan kraja niza. Rezultat je prazan niz. true
IsBlank( If( false, false ) ) Funkcija If koja nema ElseResult. Budući da je uvjet uvijek false, ova funkcija If uvijek vraća prazno. true

IsEmpty

  1. Stvorite aplikaciju od početka i dodajte kontrolu Button.

  2. Svojstvo OnSelect gumba postavite na ovu formulu:

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

  3. Prikažite pretpregled aplikacije, kliknite ili dodirnite dodani gumb, a zatim zatvorite pretpregled.

    Zbirka pod nazivom IceCream stvorena je i sadrži ove podatke:

    Tablica s okusima jagode i čokolade s količinama 300 i 100.

    Ova zbirka ima dva zapisa i nije prazna. IsEmpty( IceCream ) vraća vrijednost false, a CountRows( IceCream ) vraća vrijednost 2.

  4. Dodajte drugi gumb i postavite njegovo svojstvo OnSelect na sljedeću formulu:

    Clear( IceCream )

  5. Prikažite pretpregled aplikacije, kliknite ili dodirnite drugi gumb, a zatim zatvorite pretpregled.

    Zbirka je sada prazna:

    Kolekcija s okusom i količinom kao praznom kolekcijom.

    Funkcija Clear uklanja sve zapise iz neke zbirke, što rezultira praznom zbirkom. IsEmpty( IceCream ) vraća vrijednost true, a CountRows( IceCream ) vraća vrijednost 0.

Također, možete koristiti IsEmpty kako biste ispitali je li izračunata tablica prazna, kao što pokazuju ovi primjeri:

Formula Opis Rezultat
IsEmpty( [ 1, 2, 3 ] ) Jednostupčana tablica sadrži tri zapisa i, dakle, nije prazna. false
IsEmpty( [ ] ) Jednostupčana tablica ne sadrži zapise i, dakle, jest prazna. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Jednostupčana tablica ne sadrži vrijednosti veće od 5. Rezultat iz filtra ne sadrži zapise i prazan je. true