Funkcijas Blank, Coalesce, IsBlank un IsEmpty

Attiecas uz: audekla programmām Darbvirsmas plūsmas Dataverse formulu kolonnas Modeļa vadītas programmas Power Platform CLI

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šs ir viettures vērtībai "nav vērtības" vai "nezināma vērtība". Piemēram, vadīklasKombo lodziņš rekvizīts Atlasīti 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. Šī Len funkcija šādai virknei atgriež nulli, un to var pierakstīt formulās kā divas dubultās pēdiņas, kurām pa vidu nekā nav "". 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.

Note

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. Varat uzglabāt tukšas vērtības citos datu avotos, ja ieslēdzat eksperimentālo līdzekli Formulas līmeņa kļūdu pārvaldība 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

Attiecas uz: audekla programmām Modeļa vadītu programmu Dataverse formulu kolonnas

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

Attiecas uz: Pamatnes programmām Modeļa vadītas programmas

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. Funkcija IsBlank uzskata, ka tukšas tabulas nav tukšas, un tabulas testēšanai jāizmanto IsEmpty .

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

Attiecas uz: Pamatnes programmām Modeļa vadītas programmas

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 navtukš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

Attiecas uz: Pamatnes programmām Modeļa vadītas programmas

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ša

Note

Pašlaik šis piemērs darbojas vienīgi lokālām kolekcijām. Varat uzglabāt tukšas vērtības citos datu avotos, ja ieslēdzat eksperimentālo līdzekli Formulas līmeņa kļūdu pārvaldība 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 navtukš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 navtukš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 navtukš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 navtukš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, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 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. patiess
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Vienas kolonnas tabula nesatur vērtības, kas ir lielākas par 5. Filtra rezultāts nesatur ierakstus un ir tukšs. true