Делите путем


Функције"Празно", "Коалсце", "ИсБланк" и "ИсЕмптy"

Важи за: Цанвас апликације Десктоп флоwс Dataverse формула цолумнс Модел-дривен аппс Power Pages Power Platform ЦЛИ

Тестура да ли је вредност празна или табела не садржи записе, а пружа начин за креирање празне вредности.

Преглед

Blank је чувар места за "нема вредности" или "непозната вредност". На пример, својство Selected контроле комбиновани оквир is празно ако корисник није направио избор. Многа складишта података могу да складиште и врате NULL вредности које су представљене у Power Apps као празно.

Било које својство или израчуната вредност у Power Apps може бити празна. На пример, логичка вредност обично има једну од две вредности: тачно или нетачно. Али поред ова два може бити и празна, што указује да статус није познат. Ово је слично програму Microsoft Excel, где ћелија радног листа почиње као празна без садржаја, али може да држи вредности ТАЧНО или НЕТАЧНО (између осталог). Садржај ћелије се у било ком тренутку може поново бити обрисан, враћајући се у статус празно.

Празна ниска се односи на ниску која не садржи знакове. Len функција враћа нулу за такву ниску и може се написати у формулама као два двострука наводника, а да ништа између тога није "". Неке контроле и извори података користе празну ниску да означе стање „без вредности“. Да бисте поједноставили креирање апликација, функције IsBlank и Coalesce тестирају за обе празне вредности или празне ниске.

У контексту функције IsEmpty, празно се односи на табеле које не садрже записе. Структура табеле може бити нетакнута, заједно са колоном назива, али у табели нема података. Табела може да почне као празна, преузме записе и више не буде празна, а затим записи могу бити уклоњени и табела ће поново да буде празна.

Белешка

Ми смо у периоду транзиције. До сада, празно се такође користило за пријављивање грешака, због чега је немогуће разликовати важеће „без вредности“ од грешке. Из тог разлога, у овом тренутку, складиштење празних вредности је подржано само за локалне колекције. Можете да чувате празне вредности у другим изворима података ако укључите експерименталну функцију Управљање грешкама на нивоу формуле у менију Поставке>Предстојеће функције>Експериментално. Активно радимо на окончању ове функције и довршавању одговарајућег одвајања празних вредности из грешака.

Празно

Важи за: Цанвас апликације Модел-дривен апликације колоне Dataverse формуле

Функција Blank враћа празну вредност. Користите ово да сачувате NULL вредност у извору података која подржава ове вредности, ефикасно уклањајући било коју вредност из поља.

IsBlank

Важи за: Цанвас апликације Модел-дривен апликације

Тестови функције IsBlank за празну вредност или ниску. Тест укључује празне ниске за олакшавање креирања апликација, јер неки извори података и контроле користе празну ниску када нема вредности. За тестирање посебно за празну вредност користите if( Value = Blank(), ... уместо IsBlank. Функција ИсБланк сматра да празне табеле нису празне, а ИсЕмптy би требало да се користи за тестирање табеле.

Када омогућите управљање грешкама за постојеће апликације, размислите о замени функције IsBlank функцијом IsBlankOrError да бисте заштитили постојеће понашање апликације. Пре додавања руковања грешкама, празна вредност је коришћена за представљање и празних вредности из база података и вредности грешака. Руковање грешкама раздваја ове две интерпретације празног, што би могло да промени понашање постојећих апликација које и даље користе IsBlank.

Повратна вредност за IsBlank је логичка вредност true или false.

Coalesce

Важи за: Цанвас апликације Модел-дривен апликације

Функција Coalesce оцењује своје аргументе по редоследу и враћа прву вредност која није празна или празну ниску. Овом функцијом замените празну вредност или празну ниску другом вредношћу, али оставите вредности ниски које нису празне непромењене. Ако су сви аргументи празни или празне ниске, функција затим враћа празно, што чини функцију Coalesce добрим начином за претварање празних ниски у празне вредности.

Coalesce( value1, value2 ) је сажетији еквивалент од If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) и не захтева да се value1 и value2 израчунавају двапут. Функција If враћа празно ако не постоји „друга“ формула, као што је то случај овде.

Сви аргументи за Coalesce морају бити истог типа; на пример, не можете мешати бројеве са текстуалним нискама. Повратна вредност од Coalesce је овог уобичајеног типа.

IsEmpty

Важи за: Цанвас апликације Модел-дривен апликације

Функција IsEmpty тестира да ли табела садржи било какве записе. То је еквивалентно коришћењу функције CountRows и провере да ли постоји нула. Можете проверити да ли постоје грешке у извору података ако комбинујете IsEmpty са функцијом Errors.

Повратна вредност за IsEmpty је логичка вредност true или false.

Синтакса

Blank()

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

  • Value(s) – Обавезно. Вредности за тестирање. Свака вредност се оцењује по редоследу док се не пронађе вредност или ниска која није празна. Вредности се не процењују након овог дела.

IsBlank( Вредност )

  • Value – Обавезно. Вредност за тестирање за празну вредност или ниску.

IsEmpty( Табела )

  • Table – Обавезно. Табела за тестирање за записе.

Примери

Празно

Белешка

У овом тренутку, следећи пример делује само за локалне колекције. Можете да чувате празне вредности у другим изворима података ако укључите експерименталну функцију Управљање грешкама на нивоу формуле у менију Поставке>Предстојеће функције>Експериментално. Активно радимо на окончању ове функције и довршавању одвајања празних вредности из грешака.

  1. Креирајте апликацију испочетка и додајте контролу Дугме.

  2. Подесите својство дугмета OnSelect према овој формули:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Прегледајте апликацију, кликните на или додирните дугме које сте додали, а затим затворите преглед.

  4. У менију Датотека кликните или додирните Колекције.

    Колекција Градови се појављује, приказујући један запис са „Сијетл“ и „кишовито“:

    Колекција приказује Сијетл са кишовитим временом.

  5. Кликните на или додирните стрелицу за повратак уназад да бисте се вратили на подразумевани радни простор.

  6. Додајте контролу Ознака и подесите њено својство Текст на ову формулу:

    IsBlank( First( Cities ).Weather )
    

    Етикета приказује нетачно зато што поље Време садржи вредност („Кишовито“).

  7. Додајте друго дугме и подесите негово својство OnSelect према овој формули:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Прегледајте апликацију, кликните на или додирните дугме које сте додали, а затим затворите преглед.

    Поље Време првог записа у Градови замењује се са празно, уклањајући „Кишно“ које је било тамо предходно.

    Колекција приказује Сијетл са празним пољем Време.

    Етикета приказује тачно зато што поље Време више садржи вредност.

Coalesce

Формула Опис Резултат
Coalesce( Blank(), 1 ) Тестира повратну вредност функције Blank, која увек враћа празну вредност. Зато што је први аргумент празан, оцењивање се наставља следећим аргументом, све док се не пронађу вредност и ниска које нису празне. 1
Coalesce( "", "2" ) Тестира први аргумент који је празна ниска. Зато што је први аргумент празна ниска, оцењивање се наставља следећим аргументом, све док се не пронађу вредност и ниска које нису празне. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce почиње на почетку листе аргумената и оцењује сваки аргумент по реду док се не пронађу вредност и ниска које нису празне. У овом случају, прва четири аргумента враћају празно или празну ниску, па се оцењивање наставља до петог аргумента. Вредност петог аргумента и ниска нису празне, па овде оцењивање престаје. Враћа се вредност петог аргумента, а шести аргумент се не оцењује. 3
Coalesce( "" ) Тестира први аргумент који је празна ниска. Пошто је први аргумент празна ниска, а нема више аргумената, функција враћа празно. празно

IsBlank

  1. Креирајте апликацију испочетка, додајте контролу уноса текста и назовите је FirstName.

  2. Додајте ознаку и подесите њено својство Text према овој формули:

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

    Својство Текст контроле уноса текста је подразумевано подешено на „Унос текста“. Зато што својство садржи вредност, оно није празно, а ознака не приказује ниједну поруку.

  3. Уклоните све знакове из контроле уноса текста, укључујући било које размаке.

    Зато што својство Текст више не садржи знакове, оно је празна ниска, а IsBlank( FirstName.Text ) биће тачно. Потребна порука поља је приказана.

За информације о извођењу валидације помоћу других алатки погледајте функцију Validate и рад са изворима података.

Други примери:

Формула Опис Резултат
IsBlank( Blank() ) Тестира повратну вредност функције Blank, која увек враћа празну вредност. тачно
IsBlank( „“ ) Ниска која не садржи знакове. тачно
IsBlank( „Здраво“ ) Ниска која садржи један или више знакова. нетачно
IsBlank( AnyCollection ) Зато што колекција постоји, она није празна, чак и ако не садржи ниједан запис. Да бисте проверили да ли је колекција празна, користите IsEmpty уместо тога. нетачно
IsBlank( Mid( "Hello", 17, 2 ) ) Почетни знак за Mid је изван краја ниске. Резултат је празна ниска. тачно
IsBlank( If( false, false ) ) Функција If без ElseResult. Зато што је услов увек нетачан, ова If увек се враћа празно. тачно

IsEmpty

  1. Креирајте апликацију испочетка и додајте контролу Дугме.

  2. Подесите својство дугмета OnSelect према овој формули:

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

  3. Прегледајте апликацију, кликните на или додирните дугме које сте додали, а затим затворите преглед.

    Колекција под називом IceCream је креирана и садржи ове податке:

    Табела са укусима јагоде и чоколаде са количинама од 300 и 100 комада.

    Ова колекција има два записа и није празна. IsEmpty( IceCream ) враћа нетачно, а CountRows( IceCream ) враћа 2.

  4. Додајте друго дугме и подесите негово својство OnSelect према овој формули:

    Clear( IceCream )

  5. Прегледајте апликацију, кликните на или додирните друго дугме, а затим затворите преглед.

    Колекција је сада празна:

    Колекција са укусима и количином као празна колекција.

    Функција Clear уклања све записе из колекције, што резултира празном колекцијом. IsEmpty( IceCream ) враћа тачно, а CountRows( IceCream ) враћа 0.

Такође можете да користите IsEmpty за тестирање да ли је израчуната табела празна, као што показују ови примери:

Формула Опис Резултат
IsEmpty( [ 1, 2, 3 ] ) Табела са једним колоном садржи три записа и, стога, није празна. нетачно
IsEmpty( [ ] ) Табела са једном колоном не садржи ниједан запис, то јест празна је. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Табела са једном колоном не садржи вредности веће од 5. Резултат из филтера не садржи никакве записе, то јест празан је. тачно