Blank-, Coalesce-, IsBlank- ja IsEmpty-funktio

Koskee seuraavia: Pohjaan perustuvat sovellukset Työpöytätyönkulut Dataverse -kaavasarakkeet Mallipohjaiset sovellukset Power Platform CLI

Testaa, onko arvo tyhjä tai sisältääkö taulukko nolla tietuetta, ja mahdollistaa tyhjien arvojen luomisen.

Yleiskatsaus

Blank on paikkamerkki, jos arvoa ei ole tai arvo on tuntematon. Esimerkiksi Yhdistelmäruutu-ohjausobjektin Selected-ominaisuus on blank, jos käyttäjä ei ole tehnyt valintaa. Monet tietolähteet voivat varastoida ja palauttaa NULL-arvoja, jotka esitetään Power Appsissa tyhjinä.

Mikä tahansa Power Appsin ominaisuus tai laskettu arvo voi olla tyhjä. Esimerkiksi totuusarvolla on yleensä kaksi arvoa: tosi tai epätosi. Näiden kahden lisäksi se voi myös olla tyhjä, mikä osoittaa, että tila ei ole tiedossa. Tämä muistuttaa Microsoft Exceliä, missä laskentataulukon solu on ensin tyhjä, mutta voi muun muassa sisältää arvot TOSI tai EPÄTOSI. Solun sisältö voidaan milloin tahansa poistaa uudelleen, jolloin se palautuu tyhjä-tilaan.

Tyhjä merkkijono viittaa merkkijonoon, joka ei sisällä merkkejä. Len- funktio palauttaa tällaiselle merkkijonolle nolla, ja se voidaan kirjoittaa kaavoissa lainausmerkeissä, joiden välissä ei ole mitään: "". Jotkin ohjausobjektit ja tietolähteet ilmaisevat tyhjällä merkkijonolla ei arvoa -ehdon. Sovellusten luonnin helpottamiseksi IsBlank- ja Coalesce-toiminnot testaavat sekä tyhjien arvojen että tyhjien merkkijonojen osalta.

IsEmpty-funktion kontekstissa tyhjä koskee vain sellaisia tauluja, jotka eivät sisällä tietueita. Taulukon rakenne voi olla kokonainen ja sisältää sarakkeiden nimet, mutta taulukossa ei ole tietoja. Taulukko voi olla aluksi tyhjä, se voi ottaa vastaan tietueita, jolloin se ei ole enää tyhjä, ja siitä voidaan poistaa tietueet, jolloin se on jälleen tyhjä.

Muistiinpano

Olemme siirtymävaiheessa. Tähän asti tyhjääon käytetty myös virheiden raportoimisessa, joten kelvollista Ei arvoa -tilaa ei ole mahdollista erottaa virheestä. Tästä syystä tyhjän arvon varastointia tuetaan vain paikallisille kokoelmille. Voit tallentaa tyhjiä arvoja muihin tietolähteisiin, jos otat käyttöön kaavatason virheiden hallinnan kokeiluominaisuuden kohdassa Asetukset>Tulevat ominaisuudet>Kokeellinen. Työskentelemme aktiivisesti, jotta voimme viimeistellä tämän ominaisuuden ja suorittaa tyhjien arvojen asianmukaisen erottamisen virheistä.

Tyhjä

Soveltuu: Pohjaan perustuvat sovellukset Mallipohjaiset sovellukset Dataverse-kaavasarakkeet

Blank-funktio palauttaa tyhjän arvon. Käytä tätä näitä arvoja tukevan tietolähteen NULL-arvon tallentamiseen, jolloin käytännössä poistetaan kentän arvo.

IsBlank

Soveltuu: Pohjaan perustuvat sovellukset Mallipohjaiset sovellukset

IsBlank-funktio testaa tyhjä-arvoa tai tyhjää merkkijonoa. Testi sisältää tyhjiä merkkijonoja, jotka helpottavat sovelluksen luontia, koska jotkin tietolähteet ja ohjausobjektit käyttävät tyhjää merkkijonoa, kun arvoa ei ole. Voit testata nimenomaan tyhjää arvoa käyttämällä if( Value = Blank(), ...IsBlank-funktion sijaan. IsBlank-funktio käsittelee tyhjät talukot ei-tyhjinä, ja IsEmpty-funktiota tulisi käyttää taulukon testaamiseen.

Kun otat virhekäsittelyn käyttöön nykyisissä sovelluksissa, harkitse IsBlank-funktion korvaamista IsBlankOrError-funktiolla nykyisen sovelluskäyttäytymisen säilyttämiseksi. Ennen virheenkäsittelyn lisääminen käytettiin tyhjä-arvoa edustamaan sekä tietokantojen null-arvoja että virhearvoja. Virheenkäsittely erottaa nämä kaksi blank-arvon tulkintaa, jotka voivat muuttaa IsBlank-arvoa käyttävien sovellusten toimintaa.

IsBlank-funktion palautusarvo on totuusarvo true tai false.

Coalesce

Soveltuu: Pohjaan perustuvat sovellukset Mallipohjaiset sovellukset

Coalesce-funktio arvioi argumentin järjestyksessä ja palauttaa ensimmäisen arvon, joka ei ole tyhjä tai tyhjä merkkijono. Tämän toiminnon avulla voit korvata tyhjänarvon tai tyhjän merkkijonon toisella arvolla, mutta jättää pois muut kuin tyhjät arvot ja merkkijonot. Jos kaikki argumentit ovat tyhjiä tai tyhjiä merkkijonoja, funktio palauttaa tyhjän arvon, mikä tekee Coalesce-funktiosta hyvän tavan muuntaa tyhjät merkkijonot tyhjiksi arvoiksi.

Coalesce( value1, value2 ) on lyhyempi versio koodista If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ), eikä se vaadi arvojen value1 ja value2 arvioimista kahdesti. If-funktio palauttaa tyhjän, jos ei ole else-kaavaa, kuten tässä.

Kaikkien Coalesce-funktion argumenttien täytyy olla samaa tyyppiä. Et voi esimerkiksi sekoittaa numeroita ja merkkijonoja. Coalesce-funktion palautusarvo on tätä yleistä tyyppiä.

IsEmpty

Soveltuu: Pohjaan perustuvat sovellukset Mallipohjaiset sovellukset

IsEmpty-funktio testaa, sisältääkö taulukko yhtään tietuetta. Se vastaa CountRows-funktion käyttämistä, kun haetaan nollaa. Voit tarkistaa, onko tietolähteessä virheitä, yhdistämällä IsEmpty-funktion Errors-funktioon.

IsEmpty-funktion palautusarvo on totuusarvo true tai false.

Syntaksi

Blank()

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

  • Value(s) – Pakollinen. Testattavat arvot. Jokainen arvo lasketaan järjestyksessä, kunnes arvo ei ole tyhjäeikä tyhjää merkkijonoa löydy. Tämän jälkeen arvoja ei arvioida.

IsBlank( Value )

  • Value – pakollinen. Arvo, jolla testataan tyhjä-arvo tai tyhjä merkkijono.

IsEmpty( Table )

  • Table – Pakollinen. Taulukko, jonka tietueet testataan.

Esimerkkejä

Tyhjä

Muistiinpano

Tällä hetkellä seuraava esimerkki toimii vain paikallisten kokoelmien kanssa. Voit tallentaa tyhjiä arvoja muihin tietolähteisiin, jos otat käyttöön kaavatason virheiden hallinnan kokeiluominaisuuden kohdassa Asetukset>Tulevat ominaisuudet>Kokeellinen. Työskentelemme aktiivisesti, jotta voimme viimeistellä tämän ominaisuuden ja suorittaa tyhjien arvojen erottamisen virheistä.

  1. Luo sovellus alusta alkaen ja lisää Button-ohjausobjekti.

  2. Määritä painikkeen OnSelect-ominaisuudeksi seuraava kaava:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Esikatsele sovellustasi, napsauta tai napauta luomaasi painiketta ja sulje esikatselu.

  4. Napsauta tai napauta Tiedosto-valikosta Kokoelmat.

    Cities-kokoelma avautuu, ja siinä näytetään yksi tietue, jossa on "Seattle" ja "Rainy":

    Kokoelma, jossa näytetään Seattle ja sateinen sää.

  5. Palaa oletustyötilaan napsauttamalla tai napauttamalla takaisin-nuolta.

  6. Lisää Label-ohjausobjekti ja määritä sen Text-ominaisuudeksi seuraava kaava:

    IsBlank( First( Cities ).Weather )
    

    Otsikko näyttää arvon epätosi, koska Weather sisältää arvon ("Rainy").

  7. Lisää toinen painike ja aseta sen OnSelect-ominaisuudeksi seuraava kaava:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Esikatsele sovellustasi, napsauta tai napauta luomaasi painiketta ja sulje esikatselu.

    Cities-kohdan ensimmäisen tietueen Weather-kenttä korvataan tyhjällä arvolla. Siitä poistetaan siinä aiemmin ollut "Rainy".

    Kokoelma, jossa näytetään Seattle ja tyhjä sääkenttä.

    Otsikko näyttää arvon tosi, koska Weather-kenttä sisältää arvon.

Coalesce

Kaava Kuvaus Tulos
Coalesce( Blank(), 1 ) Testaa Blank-funktion paluuarvon. Blank palauttaa aina tyhjän arvon. Koska ensimmäinen argumentti on tyhjä, arviointi jatkuu seuraavalla arvolla, kunnes löydetään ei-tyhjä arvo ja ei-tyhjä merkkijono. 1
Coalesce( "", "2" ) Testaa ensimmäisen argumentin, joka on tyhjä merkkijono. Koska ensimmäinen argumentti on tyhjä merkkijono, arviointi jatkuu seuraavalla arvolla, kunnes löydetään ei-tyhjä arvo ja ei-tyhjä merkkijono. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce aloittaa argumenttiluettelon alusta ja arvioi argumentteja, kunnes löydetään ei-tyhjä arvo ja ei-tyhjä merkkijono. Tässä tapauksessa ensimmäiset neljä argumenttia palauttavat kaikki tyhjän arvon tai tyhjän merkkijonon, joten arviointi jatkuu viidenteen argumenttiin. Viides argumentti on ei-tyhjä ja ei-tyhjä merkkijono, joten arviointi päättyy tähän. Viidennen argumentin arvo palautetaan, ja kuudetta argumenttia ei arvioida. 3
Coalesce( "" ) Testaa ensimmäisen argumentin, joka on tyhjä merkkijono. Koska ensimmäinen argumentti on tyhjä merkkijono eikä muita argumentteja ole, funktio palauttaa tyhjän. blank

IsBlank

  1. Luo sovellus alusta alkaen, lisää Tekstisyöte-ohjausobjekti ja anna sille nimeksi FirstName.

  2. Lisää otsikko ja aseta sen Text-ominaisuudeksi tämä kaava:

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

    Oletuksena Tekstisyöte-ohjausobjektin Text-ominaisuudeksi asetetaan "Text input". Koska ominaisuus sisältää arvon, se ei ole tyhjä, eikä otsikko näytä mitään viestiä.

  3. Poista kaikki merkit Text input -ohjausobjektista, mukaan lukien välilyönnit.

    Koska Text-ominaisuus ei sisällä enää merkkejä, se on tyhjä merkkijono ja IsBlank( FirstName.Text ) palauttaa arvon tosi. Pakollisesta kentästä ilmoittava viesti näytetään.

Katso tietoa vahvistuksen suorittamisesta muilla työkaluilla Validate-funktion aiheesta ja tietolähteiden kanssa työskentelyn aiheesta.

Muita esimerkkejä:

Kaava Kuvaus Tulos
IsBlank( Blank() ) Testaa Blank-funktion paluuarvon. Blank palauttaa aina tyhjän arvon. true
IsBlank( "" ) Merkkijono, joka ei sisällä merkkejä. true
IsBlank( "Hello" ) Merkkijono, joka sisältää yhden tai useamman merkin. false
IsBlank( AnyCollection ) Koska kokoelma on olemassa, se ei ole tyhjä, vaikka se ei sisältäisi tietueita. Jos haluat tarkistaa, onko kokoelma tyhjä, käytä IsEmpty-funktiota. false
IsBlank( Mid( "Hello", 17, 2 ) ) Mid-aloitusmerkki on merkkijonon jälkeen. Tuloksena on tyhjä merkkijono. true
IsBlank( If( false, false ) ) If-funktio ilman ElseResult:ia. Koska ehto on aina epätosi, tämä If palauttaa aina tyhjän arvon. true

IsEmpty

  1. Luo sovellus alusta alkaen ja lisää Button-ohjausobjekti.

  2. Määritä painikkeen OnSelect-ominaisuudeksi seuraava kaava:

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

  3. Esikatsele sovellustasi, napsauta tai napauta luomaasi painiketta ja sulje esikatselu.

    Kokoelma nimeltä IceCream luodaan ja se sisältää nämä tiedot:

    Taulukko, jossa ovat maut Mansikka ja Suklaa sekä määrät 300 ja 100.

    Tässä kokoelmassa on kaksi tietuetta, eikä se ole tyhjä. IsEmpty( IceCream ) palauttaa arvon epätosi ja CountRows( IceCream ) palauttaa arvon 2.

  4. Lisää toinen painike ja aseta sen OnSelect-ominaisuudeksi seuraava kaava:

    Clear( IceCream )

  5. Esikatsele sovellustasi, napsauta tai napauta toista painiketta ja sulje esikatselu.

    Kokoelma on nyt tyhjä:

    Kokoelma, jossa Maku ja Määrä tyhjänä kokoelmana.

    Clear-funktio poistaa kaikki tietueet kokoelmasta, jolloin tuloksena on tyhjä kokoelma. IsEmpty( IceCream ) palauttaa arvon tosi ja CountRows( IceCream ) palauttaa arvon 0.

Voit testata IsEmpty-funktiolla, onko laskettu taulukko tyhjä, kuten seuraavissa esimerkeissä:

Kaava Kuvaus Tulos
IsEmpty( [ 1, 2, 3 ] ) Yhden sarakkeen taulukko sisältää kolme tietuetta, eikä se siis ole tyhjä. false
IsEmpty( [ ] ) Yhden sarakkeen taulukko ei sisällä tietueita, joten se on tyhjä. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Yhden sarakkeen taulukko ei sisällä tietueita, joiden arvo on suurempi kuin 5. Suodattimen tulos ei sisällä tietueita, joten se on tyhjä. true