Funkcijas Blank, Coalesce, IsBlank un IsEmpty programmā Power Apps

Pārbauda, vai vērtība ir tukša, vai tabula satur ierakstus, un nodrošina veidu, kādā izveidot tukšas vērtības.

Pārskats

Tukša ir vietturis vērtībai "nav vērtības" vai "nezināma vērtība". Piemēram, Combo Box vadīklas rekvizīts Atlasītais ir tukšs, ja lietotājs nav veicis atlasi. Daudzi datu avoti var glabāt un atgriezt NULL vērtības, kas tiek attēlotas programmā Power Apps kā tukšas.

Jebkurš rekvizīts vai aprēķinātā vērtība programmā Power Apps var būt tukša. Piemēram, Būla vērtībai parasti ir viena vai divas vērtības: true vai false. Taču līdztekus šīm divām, tā var būt arī tukša, norādot, ka statuss nav zināms. Līdzīgi ir ar Microsoft Excel, kurā darblapas šūna no sākuma ir tukša un bez satura, bet tajā (cita starpā) var būt vērtības TRUE vai FALSE. Jebkurā laikā varat vēlreiz notīrīt šūnas saturu, to atgriežot tukšā stāvoklī.

Tukša virkne ir virkne, kas nesatur rakstzīmes. Funkcija Len atgriež nulli šādai virknei, un to var rakstīt formulā kā divas dubultās pēdiņas, starp kurām nekas nav pa vidu "". Dažas vadīklas un datu avoti izmanto tukšu virkni, lai norādītu uz nosacījumu "nav vērtības". Lai vienkāršotu programmas izveidi, funkcijas IsBlank un Coalesce pārbauda gan tukšās vērtības, gan tukšās virknes.

Funkcijas IsEmpty kontekstā empty ir specifiska tabulām, kurās nav ierakstu. Tabulas struktūra varētu būt neskarta, pilna ar kolonnu nosaukumiem, taču tabulā nav datu. Tabula sākotnēji varētu būt tukša, iegūt ierakstus un vairs nebūt tukša, un pēc tam tai var tikt dzēsti ieraksti un tā atkal būtu tukša.

Piezīme

Esam pārejas posmā. Līdz šim tukšā vērtība ir izmantota arī, lai ziņotu par kļūdām, padarot neiespējamu derīgas "nav vērtības" diferencēšanu no kļūdas. Tāpēc šajā laikā tukšo vērtību glabāšana tiek atbalstīta vienīgi lokālajām kolekcijām. Tukšas vērtības var saglabāt citos datu avotos, ja ieslēdzat formulas līmeņa kļūdu pārvaldības eksperimentālo līdzekli sadaļā Iestatījumi > Gaidāmie līdzekļi > Eksperimentāli. Mēs aktīvi strādājam pie tā, lai pabeigtu šo līdzekli un noslēgtu atbilstošu tukšo vērtību nošķiršanu no kļūdām.

Tukša

Blank funkcija atgriež tukšu vērtību. Izmantojiet to, lai glabātu NULL vērtību datu avotā, kas atbalsta šīs vērtības, efektīvi noņemot jebkādu vērtību no lauka.

IsBlank

Funkcija IsBlank pārbauda tukšās vērtības vai tukšās virknes. Šajā pārbaudē ir iekļautas tukšās virknes, lai atvieglotu programmas izveidi, jo daži datu avoti un vadīklas izmanto tukšu virkni, kad nav nevienas vērtības. Lai pārbaudītu tieši tukšās vērtības, izmantojiet if( Value = Blank(), ..., nevis IsBlank.

Iespējojot kļūdu apstrādi esošajās programmās, apsveriet iespēju aizvietot IsBlank ar IsBlankOrError, lai saglabātu esošo programmas darbību. Pirms kļūdu apstrādes pievienošanas tika izmantota tukša vērtība, lai attēlotu vērtības Null no datu bāzēm un kļūdu vērtības. Kļūdu apstrāde atdala šos divus tukšos skaidrojumus, kas var mainīt to esošo programmu darbību, kuras turpina lietot IsBlank.

Atgrieztā funkcijas IsBlank vērtība ir Būla patiess vai aplams.

Coalesce

Funkcija Coalesce novērtē savus argumentus pēc kārtas un atgriež pirmo vērtību, kas nav tukša vai tukša virkne. Izmantojiet šo funkciju, lai aizstātu tukšu vērtību vai tukšu virkni ar citu vērtību, taču atstātu vērtības, kas nav tukšas un virkņu vērtības, kas nav tukšas, nemainītas. Ja visi argumenti ir tukši vai tukšas virknes, funkcija atgriež tukšu, liekot Coalesce labā ziņā konvertēt tukšās virknes par tukšām vērtībām.

Coalesce( value1, value2 ) ir precīzāks If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) ekvivalents, un tam nav vajadzīgs, ka value1 un value2 novērtētu divreiz. Šī If funkcija atgriež tukšu, ja nav formulas "citādi", kā tas ir šajā gadījumā.

Visiem Coalesce argumentiem ir jābūt viena veida, piemēram, nevarat jaukt skaitļus ar teksta virknēm. Šīs biežāk lietotās Coalesce funkcijas atgriešanas vērtība ir vispārīga.

IsEmpty

IsEmpty funkcija pārbauda, vai tabulā ir ieraksti. Tā ir ekvivalenta CountRows funkcijas lietošanai un pārbauda nulli. Varat pārbaudīt datu avota kļūdas, kombinējot IsEmpty ar funkciju Errors.

Atgrieztā funkcijas IsEmpty vērtība ir Būla patiess vai aplams.

Sintakse

Tukšs()

Coalesce( Vērtība1 [, Vērtība2, ... ] )

  • Vērtība(s) – Obligāti. Pārbaudāmās vērtības. Katra vērtība tiek vērtēta, secībā, līdz tiek atrasta vērtība, kas nav tukša, un virkne, kas nav tukša. Pēc šī punkta vērtības netiek vērtētas.

IsBlank( Vērtība )

  • Value – Obligāti. Vērtība, ko pārbaudīt tukšai vērtībai vai tukšai virknei.

IsEmpty( Tabula )

  • Tabula — Obligāti. Tabula, kuras ierakstus pārbaudīt.

Piemēri

Tukšs

Piezīme

Pašlaik šis piemērs darbojas vienīgi lokālām kolekcijām. Tukšas vērtības var saglabāt citos datu avotos, ja ieslēdzat formulas līmeņa kļūdu pārvaldības eksperimentālo līdzekli sadaļā Iestatījumi > Gaidāmie līdzekļi > Eksperimentāli. Mēs aktīvi strādājam pie tā, lai pabeigtu šo līdzekli un noslēgtu tukšo vērtību nošķiršanu no kļūdām.

  1. Izveidojiet programmu no fragmenta un pievienojiet Pogas vadīklu.

  2. Iestatiet pogas OnSelect rekvizītu uz šo formulu:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Priekšskatiet programmu, pieskarieties pievienotajai pogai un tad aizveriet Priekšskatījumu.

  4. Izvēlnē Fails pieskarieties vienumam Kolekcijas.

    Tiek parādīta kolekcija Pilsētas, kurā parādīts viens ieraksts ar "Sietla" un "Lietains":

    Kolekcija, kas rāda Sietlu ar lietainiem laikapstākļiem.

  5. Lai atgrieztos noklusējuma darbvietā, atlasiet atpakaļvērsto bultiņu.

  6. Pievienojiet vadīklu Etiķete un iestatiet tās rekvizītu Teksts uz šo formulu:

    IsBlank( First( Cities ).Weather )
    

    Etiķetē redzama vērtība false, jo lauks Laikapstākļi satur vērtību ("Lietains").

  7. Atlasiet otro pogu, un iestatiet tās rekvizītu OnSelect uz šo formulu:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Priekšskatiet programmu, pieskarieties pievienotajai pogai un tad aizveriet Priekšskatījumu.

    Pirmā ieraksta lauks Laikapstākļi vienumā Pilsētas tiek aizstāts ar tukšu vērtību, tādējādi noņemot vienumu "Lietains", kas tur atradās pirms tam.

    Kolekcija, kas rāda Sietlu ar tukšu Laikapstākļu lauku.

    Etiķetē redzama vērtība true, jo lauks Laikapstākļi vairs nesatur vērtību.

Coalesce

Formula Apraksts Rezultāts
Coalesce( Blank(), 1 ) Pārbauda atgriezto vērtību no funkcijas Blank, kura vienmēr atgriež tukšu vērtību. Tā kā pirmais arguments ir tukšs, novērtēšana turpinās ar nākamo argumentu, līdz tiek atrasta vērtība, kas nav tukša un virkne, kas nav tukša. 1
Coalesce( "", "2" ) Pārbauda pirmo argumentu, kas ir tukša virkne. Tā kā pirmais arguments ir tukša virkne, novērtēšana turpinās ar nākamo argumentu, līdz tiek atrasta vērtība, kas nav tukša, un virkne, kas nav tukša. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce sākas argumenta saraksta sākumā un katru argumentu izvērtē katru argumentu pēc kārtas, līdz tiek atrasta vērtība, kas nav tukša, un virkne, kas nav tukša. Šajā gadījumā pirmie četri argumenti atgriež tukšu vērtību vai tukšu virkni, tāpēc novērtēšana turpinās līdz piektajam argumentam. Piektais arguments ir vērtība, kas nav tukša, un virkne, kas nav tukša, tāpēc vērtēšana šajā vietā tiek apturēta. Tiek atgriezta piektā argumenta vērtība, bet sestais arguments novērtēts netiek. 3
Coalesce( "" ) Pārbauda pirmo argumentu, kas ir tukša virkne. Tā kā pirmais arguments ir tukša virkne un citu argumentu nav, funkcija atgriež tukšu vērtību. tukšs

IsBlank

  1. Izveidojiet programmu no fragmenta, pievienojiet teksta ievades vadīklu un nodēvējiet to par FirstName.

  2. Pievienojiet etiķeti un iestatiet tās rekvizītam Teksts šādu formulu:

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

    Pēc noklusējuma teksta ievades vadīklas rekvizīts Teksts tiek iestatīts uz "Teksta ievade". Tā kā rekvizīts satur vērtību, tā nav tukša un etiķete nerāda nevienu ziņojumu.

  3. Noņemiet visas rakstzīmes no teksta ievades vadīklas, tostarp jebkādas atstarpes.

    Tā kā Teksta rekvizīts vairs nesatur rakstzīmes, tā ir tukša virkne, un IsBlank (FirstName.Text) vērtība būs true. Tiek attēlots obligātā lauka ziņojums.

Informāciju par to, kā veikt validāciju, izmantojot citus rīkus, skatiet sadaļā Validate funkcija un darbs ar datu avotiem.

Citi piemēri:

Formula Apraksts Rezultāts
IsBlank( Blank() ) Pārbauda atgriezto vērtību no funkcijas Blank, kura vienmēr atgriež tukšu vērtību. true
IsBlank( "" ) Virkne, kas nesatur rakstzīmes. true
IsBlank ("Hello") Virkne, kas satur vienu vai vairākas rakstzīmes. false
IsBlank( AnyCollection ) Tā kā kolekcija pastāv, tā nav tukša, pat ja tajā nav ierakstu. Lai pārbaudītu, vai kolekcija nav tukša, tā vietā izmantojiet funkciju IsEmpty. false
IsBlank( Mid( "Hello", 17, 2 ) ) Funkcijas Mid sākuma rakstzīme atrodas aiz virknes beigām. Rezultāts ir tukša virkne. true
IsBlank( If( false, false ) ) Funkcija If bez ElseResult. Tā kā nosacījums vienmēr ir false, šī funkcija If vienmēr atgriež tukšu vērtību. true

IsEmpty

  1. Izveidojiet programmu no fragmenta un pievienojiet Pogas vadīklu.

  2. Iestatiet pogas OnSelect rekvizītu uz šo formulu:

    Collect( IceCream, { Garša: "Zemeņu", Daudzums: 300 }, { Garša: "Šokolādes", Daudzums: 100 } )

  3. Priekšskatiet programmu, pieskarieties pievienotajai pogai un tad aizveriet Priekšskatījumu.

    Tiek izveidota kolekcija ar nosaukumu IceCream, un tā satur šādus datus:

    Tabula ar zemeņu un šokolādes garšu ar daudzumu 300 un 100.

    Šajā kolekcijā ir divi ieraksti, un tā nav tukša. IsEmpty (IceCream) atgriež false, un CountRows( IceCream) atgriež 2.

  4. Atlasiet otro pogu, un iestatiet tās rekvizītu OnSelect uz šo formulu:

    Notīrīt( IceCream )

  5. Priekšskatiet programmu, pieskarieties otrajai pogai un tad aizveriet Priekšskatījumu.

    Kolekcija tagad ir tukša:

    Kolekcija ar garšu un daudzumu kā tukša kolekcija.

    Clear funkcija noņem visus ierakstus no kolekcijas, tādējādi iegūstot tukšu kolekciju. IsEmpty (IceCream) atgriež true, un CountRows( IceCream) atgriež 0.

Varat lietot arī funkciju IsEmpty, lai pārbaudītu, vai aprēķinātā tabula ir tukša, kā parādīts šajos piemēros:

Formula Apraksts Rezultāts
IsEmpty( [ 1, 2, 3 ] ) Vienas kolonnas tabula satur trīs ierakstus un tāpēc nav tukša. false
IsEmpty( [ ] ) Vienas kolonnas tabula nesatur ierakstus un ir tukša. true
IsEmpty( Filtrs( [ 1, 2, 3 ], Vērtība > 5 ) ) Vienas kolonnas tabula nesatur vērtības, kas ir lielākas par 5. Filtra rezultāts nesatur ierakstus un ir tukšs. true

Piezīme

Kādas ir jūsu dokumentācijas valodas preferences? Aizpildiet īsu aptauju. (ņemiet vērā, ka aptauja ir angļu valodā)

Aptaujai būs nepieciešamas aptuveni septiņas minūtes. Nekādi personas dati netiks vākti (paziņojums par konfidencialitāti).