Blank-, Coalesce-, IsBlank- ja IsEmpty-funktio
Koskee seuraavia: pohjaan perustuvat sovellukset Työpöytätyönkulkujen Dataverse kaavasarakkeet Mallipohjaiset sovellukset Power Pages Power Platform KOMENTOTULKKI
Testaa, onko arvo tyhjä tai sisältääkö taulukko nolla tietuetta, ja mahdollistaa tyhjien arvojen luomisen.
Yleiskatsaus
Tyhjä on paikkamerkki sanoille "ei arvoa" tai "tuntematon arvo". Esimerkiksi yhdistelmäruutuohjausobjektin Valittu-ominaisuus on tyhjä , 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ä
Koskee seuraavia: Pohjaan perustuvat sovellukset Mallipohjaisten sovellusten 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
Koskee seuraavia: 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
Koskee seuraavia: 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 ytimekkäämpi vastine eikä If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 )
edellytä , että arvot1 ja arvo2 arvioidaan 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
Koskee seuraavia: 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
Tyhjä()
Coalesce( Arvo1 [, Arvo2, ... ] )
- Arvot – 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( arvo )
- Arvo – Pakollinen. Arvo, jolla testataan tyhjä-arvo tai tyhjä merkkijono.
IsEmpty( taulukko )
- Taulukko - 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ä.
Luo sovellus alusta alkaen ja lisää Button-ohjausobjekti.
Määritä painikkeen OnSelect-ominaisuudeksi seuraava kaava:
ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
Esikatsele sovellustasi, napsauta tai napauta luomaasi painiketta ja sulje esikatselu.
Napsauta tai napauta Tiedosto-valikosta Kokoelmat.
Cities-kokoelma avautuu, ja siinä näytetään yksi tietue, jossa on "Seattle" ja "Rainy":
Palaa oletustyötilaan napsauttamalla tai napauttamalla takaisin-nuolta.
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").
Lisää toinen painike ja aseta sen OnSelect-ominaisuudeksi seuraava kaava:
Patch( Cities, First( Cities ), { Weather: Blank() } )
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".
Otsikko näyttää arvon tosi, koska Weather-kenttä sisältää arvon.
Coalesce
Kaava | Kuvaus | Tulos |
---|---|---|
Coalesce( Tyhjä(), 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 kutakin argumenttia vuorotellen, 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. | aihio |
IsBlank
Luo sovellus alusta alkaen, lisää Tekstisyöte-ohjausobjekti ja anna sille nimeksi FirstName.
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ä.
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( Tyhjä() ) | Testaa Blank-funktion paluuarvon. Blank palauttaa aina tyhjän arvon. | tosi |
IsBlank( "" ) | Merkkijono, joka ei sisällä merkkejä. | tosi |
IsBlank( "Hei" ) | Merkkijono, joka sisältää yhden tai useamman merkin. | väärä |
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. | väärä |
IsBlank( Keski( "Hei", 17, 2 ) | Mid-aloitusmerkki on merkkijonon jälkeen. Tuloksena on tyhjä merkkijono. | tosi |
IsBlank( Jos( epätosi, epätosi ) ) | If-funktio ilman ElseResult:ia. Koska ehto on aina epätosi, tämä If palauttaa aina tyhjän arvon. | tosi |
IsEmpty
Luo sovellus alusta alkaen ja lisää Button-ohjausobjekti.
Määritä painikkeen OnSelect-ominaisuudeksi seuraava kaava:
Kerää (jäätelö, { maku: "mansikka", määrä: 300 }, maku: { "suklaa", määrä: 100 } )
Esikatsele sovellustasi, napsauta tai napauta luomaasi painiketta ja sulje esikatselu.
Kokoelma nimeltä IceCream luodaan ja se sisältää nämä tiedot:
Tässä kokoelmassa on kaksi tietuetta, eikä se ole tyhjä. IsEmpty( IceCream )palauttaa arvon false ja CountRows( IceCream )palauttaa arvon 2.
Lisää toinen painike ja aseta sen OnSelect-ominaisuudeksi seuraava kaava:
Tyhjennä( Jäätelö )
Esikatsele sovellustasi, napsauta tai napauta toista painiketta ja sulje esikatselu.
Kokoelma on nyt tyhjä:
Clear-funktio poistaa kaikki tietueet kokoelmasta, jolloin tuloksena on tyhjä kokoelma. IsEmpty( IceCream )palauttaa arvon true jaCountRows( 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ä. | väärä |
IsEmpty( [ ] ) | Yhden sarakkeen taulukko ei sisällä tietueita, joten se on tyhjä. | tosi |
IsEmpty( Suodatin( [ 1, 2, 3 ], arvo > 5 ) ) | Yhden sarakkeen taulukko ei sisällä tietueita, joiden arvo on suurempi kuin 5. Suodattimen tulos ei sisällä tietueita, joten se on tyhjä. | tosi |