Share via


Funksjonene Blank, Coalesce, IsBlank og IsEmpty

Gjelder: Lerretsapper Skrivbordsflyt Dataverse-formelkolonner Modelldrevne apper Power Platform CLI

Tester om en verdi er tom eller en tabell inneholder ingen poster, og gir en måte å opprette tom-verdier på.

Oversikt

Tom er en plassholder for «ingen verdi» eller «ukjent verdi». En Combo box-kontrolls Selected-egenskap er for eksempel tom hvis brukeren ikke har valgt et alternativ. Mange datakilder kan lagre og returnere NULL-verdier, som representeres i Power Apps som tom.

Alle egenskaper eller beregnede verdier i Power Apps kan være tom. En boolsk verdi har for eksempel vanligvis én av to verdier: sann eller usann. I tillegg til disse to, kan den også være tom for å angi at tilstanden ikke er kjent. Dette ligner på Microsoft Excel, der en regnearkcelle tar utgangspunkt i å være tom uten innhold, men kan inneholde blant annet verdiene sann eller usann. Du kan fjerne innholdet i cellen når som helst, og cellen vil da gå tilbake til en tom tilstand.

Tom streng refererer til en streng som ikke inneholder tegn. Len-funksjonen returnerer null for en slik streng, og den kan skrives i formler som to doble anførselstegn uten noe i mellom "". Noen kontroller og datakilder bruker en tom streng for å angi en "ingen verdi"-betingelse. For å forenkle oppretting av apper tester funksjonene IsBlank og Coalesce for både tomme verdier eller tomme strenger.

I konteksten for IsEmpty-funksjonen er tom spesifikk for tabeller som ikke inneholder noen oppføringer. Tabellstrukturen kan være intakt, komplett med kolonnenavn, men det er ingen data i tabellen. En tabell kan starte som tom, ta med poster, og ikke lenger være tom, og deretter få postene fjernet og igjen være tom.

Obs!

Vi er i en overgangsperiode. Til nå har tom også blitt brukt til å rapportere feil, noe som gjør det umulig å differensiere en gyldig "ingen verdi" fra en feil. For øyeblikket støttes derfor lagring av tom-verdier bare for lokale samlinger. Du kan lagre tomme verdier i andre datakilder hvis du aktiverer den eksperimentelle funksjonen for behandling av feil på formelt nivå under Innstillinger>Kommende funksjoner>Eksperimentell. Vi arbeider aktivt med å fullføre denne funksjonen og fullføre riktig separasjon av tomme verdier fra feil.

Tomt

Gjelder: Lerretsapper Modelldrevne apper Dataverse-formelkolonner

Blank-funksjonen returnerer en tom verdi. Bruk denne til å lagre en NULL-verdi i en datakilde som støtter disse verdiene. Dette fjerner enhver verdi fra feltet.

IsBlank

Gjelder: Lerretsapper Modelldrevne apper

IsBlank-funksjonen tester en tom verdi eller en tom streng. Testen inneholder tomme strenger for å lette opprettelsen av en app siden noen datakilder og kontroller bruker en tom streng når det ikke finnes noen verdi. Hvis du vil teste spesifikt for en tom verdi, bruker du if( Value = Blank(), ... i stedet for IsBlank. IsBlank-funksjonen vurderer tomme tabeller som ikke tomme, og IsEmpty må brukes til å teste en tabell.

Når du aktiverer feilhåndtering for eksisterende apper, bør du vurdere å erstatte IsBlank med IsBlankOrError for å beholde eksisterende appvirkemåte. Før tilføyingen av feilhåndtering, ble en tom verdi brukt til å representere både nullverdier fra databaser og feilverdier. Feilhåndtering skiller disse to tolkningene av tom, som kan endre funksjonaliteten til eksisterende apper som fortsetter å bruke IsBlank.

Returverdien for IsBlank er den boolske verdien true eller false.

Coalesce

Gjelder: Lerretsapper Modelldrevne apper

Coalesce-funksjonen evaluerer argumentene i rekkefølge og returnerer den første verdien som ikke er tom, eller en tom streng. Bruk denne funksjonen til å erstatte en tom verdi eller en tom streng med en annen verdi, men la ikke-tomme strenger og strengverdier være uendret. Hvis alle argumentene er tomme eller tomme strenger, returnerer funksjonen tom, som gjør Coalesce velegnet til å konvertere tomme strenger til tomme verdier.

Coalesce( value1, value2 ) er den mer kortfattede tilpassingen av If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) og krever ikke at value1 og value2 evalueres to ganger. If-funksjonen returnerer tom hvis det ikke finnes noen "else"-formel som er tilfellet her.

Alle argumentene til Coalesce må være av samme type. Du kan for eksempel ikke blande tall med tekststrenger. Returverdien fra Coalesce er av denne vanlige typen.

IsEmpty

Gjelder: Lerretsapper Modelldrevne apper

IsEmpty-funksjonen tester om tabellen inneholder noen poster. Det tilsvarer å bruke CountRows-funksjonen og se etter null. Du kan se etter datakildefeil ved å kombinere IsEmpty-funksjonen med Errors-funksjonen.

Returverdien for IsEmpty er den boolske verdien true eller false.

Syntaks

Blank()

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

  • Value(s) – obligatorisk. Verdier å teste. Hver verdi evalueres i rekkefølge til en verdi som ikke er tom, og ikke en tom streng, blir funnet. Verdier etter dette punktet evalueres ikke.

IsBlank( Value )

  • Value - obligatorisk. Verdi for å teste for en tom verdi eller en tom streng.

IsEmpty( Table )

  • Table - obligatorisk. Tabell som skal testes for poster.

Eksempler

Tomt

Obs!

På dette tidspunktet fungerer det følgende eksemplet bare for lokale samlinger. Du kan lagre tomme verdier i andre datakilder hvis du aktiverer den eksperimentelle funksjonen for behandling av feil på formelt nivå under Innstillinger>Kommende funksjoner>Eksperimentell. Vi arbeider aktivt med å fullføre denne funksjonen og fullføre separasjonen av tomme verdier fra feil.

  1. Opprett en app fra grunnen av, og legg til en Button.

  2. Sett knappens OnSelect-egenskap til denne formelen:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Forhåndsvis appen, klikk eller trykk på knappen som du har lagt til, og lukk deretter Forhåndsvisning.

  4. Klikk eller trykk på SamlingerFil-menyen.

    Samlingen Byer vises, som viser én post med «Seattle» og «Regn»:

    Samlingen som viser Seattle med regnvær.

  5. Klikk eller trykk på Tilbake-pilen for å gå tilbake til standardarbeidsområdet.

  6. Legg til en Label-kontroll, og angi Text-egenskapen til denne formelen:

    IsBlank( First( Cities ).Weather )
    

    Etiketten viser usann fordi Vær-feltet inneholder en verdi («Regn»).

  7. Legg til en annen knapp, og angi knappens OnSelect-egenskap til denne formelen:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Forhåndsvis appen, klikk eller trykk på knappen som du har lagt til, og lukk deretter Forhåndsvisning.

    Vær-feltet i den første posten i Byer erstattes med et tom-felt, og fjerner dermed «Regn», som stod der tidligere.

    Samling som viser Seattle med blankt værfelt.

    Etiketten viser usann fordi Vær-feltet ikke lenger inneholder en verdi.

Coalesce

Formel Beskrivelse Resultat
Coalesce( Blank(), 1 ) Tester returverdien fra Blank-funksjonen, som alltid returnerer en tom verdi. Fordi det første argumentet er tom, fortsetter evalueringen med det neste argumentet til en ikke-tom verdi og ikke-tom streng blir funnet. 1
Coalesce( "", "2" ) Tester det første argumentet, som er en tom streng. Fordi det første argumentet er en tom streng, fortsetter evalueringen med det neste argumentet til en ikke-blank verdi og ikke-tom streng blir funnet. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce starter i begynnelsen av argumentlisten og evaluerer hvert argument i tur og orden til en ikke-tom verdi og ikke-tom streng blir funnet. I dette tilfellet returnerer de første fire argumentene alle tom eller en tom streng, slik at evalueringen fortsetter til det femte argumentet. Det femte argumentet er ikke-tom og ikke-tom streng, så derfor stopper evalueringen her. Verdien til det femte argumentet returneres, og det sjette argumentet evalueres ikke. 3
Coalesce( "" ) Tester det første argumentet, som er en tom streng. Fordi det første argumentet er en tom streng, og det ikke finnes flere argumenter, returnerer funksjonen tom. tom

IsBlank

  1. Opprett en app fra grunnen av, legg til en kontroll for innskriving av tekst og gi den navnet FirstName.

  2. Legg til en etikett, og sett Text-egenskapen til denne formelen:

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

    Som standard er Text-egenskapen til en text-input-kontroll satt til «Tekstinndata». Fordi egenskapen inneholder en verdi, er den ikke tom, og etiketten viser ikke noen melding.

  3. Fjern alle tegnene fra text-input-kontrollen, inkludert mellomrom.

    Fordi Text-egenskapen ikke lenger inneholder tegn, er det en tom streng, og IsBlank( FirstName.Text ) vil være sann. Den obligatoriske feltmeldingen vises.

Hvis du vil ha informasjon om hvordan du utfører validering ved hjelp av andre verktøy, kan du se Validate-funksjonen og Å arbeide med datakilder.

Andre eksempler:

Formel Beskrivelse Resultat
IsBlank( Blank() ) Tester returverdien fra Blank-funksjonen, som alltid returnerer en tom verdi. true
IsBlank( "" ) En streng som ikke inneholder noen tegn. true
IsBlank( "Hello" ) En streng som inneholder ett eller flere tegn. false
IsBlank( AnyCollection ) Fordi samlingen finnes, er den ikke tom, selv om den ikke inneholder noen poster. Hvis du vil se etter en tom samling, kan du bruke IsEmpty i stedet. false
IsBlank( Mid( "Hello", 17, 2 ) ) Det første tegnet for Mid er utenfor slutten av strengen. Resultatet er en tom streng. true
IsBlank( If( false, false ) ) En If-funksjon uten ElseResult. Fordi betingelsen alltid er usann, returnerer denne If-funksjonen alltid tom. true

IsEmpty

  1. Opprett en app fra grunnen av, og legg til en Button.

  2. Sett knappens OnSelect-egenskap til denne formelen:

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

  3. Forhåndsvis appen, klikk eller trykk på knappen som du har lagt til, og lukk deretter Forhåndsvisning.

    En samling med navnet IceCream opprettes og inneholder disse dataene:

    En tabell med smakene jordbær og sjokolade med antall 300 og 100.

    Denne samlingen har to poster, og er ikke tom. IsEmpty( IceCream ) returnerer usann, og CountRows( IceCream ) returnerer 2.

  4. Legg til en annen knapp, og sett knappens OnSelect-egenskap til denne formelen:

    Clear( IceCream )

  5. Forhåndsvis appen, klikk eller trykk på den andre knappen, og lukk deretter Forhåndsvisning.

    Samlingen er nå tom:

    En samling med smak og antall som tom samling.

    Clear-funksjonen fjerner alle postene fra en samling, noe som resulterer i en tom samling. IsEmpty( IceCream ) returnerer sann, og CountRows( IceCream ) returnerer 0.

Du kan også bruke IsEmpty til å teste om en beregnet tabell er tom, som disse eksemplene viser:

Formel Beskrivelse Resultat
IsEmpty( [ 1, 2, 3 ] ) Tabellen med én kolonne inneholder tre poster, og er derfor ikke tom. false
IsEmpty( [ ] ) Tabellen med én kolonne inneholder ingen poster, og er tom. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Tabellen med én kolonne inneholder ingen verdier som er større enn 5. Resultatet fra filteret inneholder ingen poster, og er tom. true