Функции Blank, Coalesce, IsBlank и IsEmpty

Отнася се за: Приложения за платно Колони за формули за потоци Dataverse на работния плот Приложения , Power Platform управлявани от модела CLI

Тества дали стойността е празна или таблица не съдържа записи и предоставя начин за създаване празни стойности.

Преглед

Blank е заместител за "няма стойност" или "неизвестна стойност". Например на Комбинирано поле контролата свойството Избрано е празно ако потребителят не е направил избор. Много източници на данни могат да съхраняват и връщат NULL стойности, които са представени в Power Apps като празно.

Всяка собственост или изчислена стойност в Power Apps може да бъде празно. Например, булева стойност обикновено има една от две стойности: вярно или невярно. Но в допълнение към тези две може и да бъде празно, което показва, че състоянието не е известно. Това е подобно на Microsoft Excel, където клетката на работен лист започва като празна без съдържание, но може да побере стойностите ВЯРНО или НЕВЯРНО (между другото). По всяко време съдържанието на клетката може отново да бъде изчистено, връщайки я в празно състояние.

Празен низ се отнася до низ, който не съдържа символи. Функцията Len връща нула за такъв низ и той може да бъде записан във формули като две двойни кавички без нищо между тях "". Някои контроли и източници на данни използват празен низ, за да покажат състояние "без стойност". За да опростите създаването на приложения, IsBlank и Coalesce функциите тестват и за двете празни стойности или празни низове.

В контекста на функцията IsEmpty, празно е специфичен за таблици, които не съдържат записи. Структурата на таблицата може да е непокътната, допълнена с колона имена, но в таблицата няма данни. Таблицата може да започне като празна, да поеме записи и вече да не е празна, а след това премахнете записите и отново да бъде празна.

Бележка

Намираме се в период на преход. Досега, празно също е бил използван за съобщаване на грешки, което прави невъзможно разграничаването на валидна „без стойност“ от грешка. Поради тази причина по това време се съхранява празно стойностите се поддържат само за локални колекции. Можете да съхранявате празни стойности в други източници на данни, ако включите Управление на грешки на ниво формула експериментална функция под Настройки>Предстоящи функции>Експериментално. Ние работим активно, за да завършим тази функция и да завършим правилното разделяне на празни стойности от грешки.

Празно

Отнася се за: Приложения за платно Колони за формули за Dataverse приложения, задвижвани от модел

Функцията Blank връща празна стойност. Използвайте това, за да запазите NULL стойност в източник на данни, която поддържа тези стойности, ефективно премахвайки всяка стойност от полето.

IsBlank

Отнася се за: Приложения за платно Приложения , задвижвани от модели

Функцията IsBlank тества за празна стойност или празен низ. Тестът включва празни низове за улесняване на създаването на приложения, тъй като някои източници на данни и контроли използват празен низ, когато няма налична стойност. За да тествате специално за празно стойността използва if( Value = Blank(), ... вместо IsBlank. Функцията IsBlank счита празните таблици за непразни и IsEmpty трябва да се използва за тестване на таблица.

Когато активирате обработка на грешки за съществуващи приложения, заменете 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 )

  • Value – Задължително. Стойност за тестване за празно стойност или празен низ.

IsEmpty( Table )

  • 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( "" ) Тества първия аргумент, който е празен низ. Тъй като първият аргумент е празен низ и няма повече аргументи, функцията се връща празно. blank

IsBlank

  1. Създайте приложение от нулата, добавете контрола за въвеждане на текст и го назовете FirstName.

  2. Добавете етикет и задайте свойството му Текст на тази формула:

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

    По подразбиране, Текст свойството на контрола за въвеждане на текст е зададено на „Въвеждане на текст“. Тъй като свойството съдържа стойност, тя не е празна и етикетът не показва никакво съобщение.

  3. Премахнете всички символи от контрола за въвеждане на текст, включително всички интервали.

    Защото Текст свойството вече не съдържа символи, това е празен низ и IsBlank(FirstName.Text ) ще бъде вярно. Съобщението за задължително поле се показва.

За информация как да извършите валидирането с помощта на други инструменти, вижте функцията Validate и работа с източници на данни.

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

Формула Описание Резултат
IsBlank( Blank() ) Тества връщащата се стойност от Blank функция, която винаги връща празно стойност. вярно
IsBlank( "" ) Низ, който не съдържа символи. вярно
IsBlank( "Hello" ) Низ, който съдържа един или повече символи. невярно
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. Визуализирайте приложението си, щракнете или докоснете бутона, който сте добавили, и след това затворете Преглед.

    Колекция с име Сладолед е създаден и съдържа тези данни:

    Таблица с аромати на ягоди и шоколад с количества 300 и 100.

    Тази колекция има два записа и не е празна. IsEmpty( IceCream ) завръща невярно и CountRows( IceCream ) връща 2.

  4. Добавете втори бутон и задайте свойството му OnSelect на тази формула:

    Clear( IceCream )

  5. Визуализирайте приложението си, щракнете или докоснете втория бутон след това затворете Преглед.

    Сега колекцията е празна:

    Колекция с аромат и количество като празна колекция.

    Функцията Clear премахва всички записи от колекция, което води до празна колекция. IsEmpty( IceCream ) завръща вярно и CountRows( IceCream ) връща 0.

Можете също да използвате IsEmpty, за да проверите дали изчислената таблица е празна, както показват тези примери:

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