Функции 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 – Задължително. Таблица за тестване за записи.
Примери
Празно
Бележка
Понастоящем следващият пример работи само за местни колекции. Можете да съхранявате празни стойности в други източници на данни, ако включите Управление на грешки на ниво формула експериментална функция под Настройки>Предстоящи функции>Експериментално. Ние работим активно, за да завършим тази функция и да завършим разделяне на празни стойности от грешки.
Създайте приложение от нулата и добавете контрола бутон.
Задайте свойството OnSelect на бутона на тази формула:
ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
Визуализирайте приложението си, щракнете или докоснете бутона, който сте добавили, и след това затворете Преглед.
В менюто файл щракнете върху или докоснете Колекции.
Колекцията градове се появява колекция, показваща един запис със "Сиатъл" и "Дъждовно":
Кликнете или докоснете стрелката назад, за да се върнете към работното пространство по подразбиране.
Добавете контрола Етикет с име Текст и задайте свойството й на тази формула:
IsBlank( First( Cities ).Weather )
Етикетът показва невярно, защото Метеорологично време поле съдържа стойност ("Дъждовно").
Добавете втори бутон и задайте свойството му OnSelect на тази формула:
Patch( Cities, First( Cities ), { Weather: Blank() } )
Визуализирайте приложението си, щракнете или докоснете бутона, който сте добавили, и след това затворете Преглед.
Полето Метеорологично време на първия запис в градове се заменя с празно, премахвайки „Дъждовно“, което беше там преди.
Етикетът показва вярно, защото Метеорологично време поле вече не съдържа стойност.
Coalesce
Формула | Описание | Резултат |
---|---|---|
Coalesce( Blank(), 1 ) | Тества връщащата се стойност от Blank функция, която винаги връща празно стойност. Защото първият аргумент е празно, оценката продължава със следващия аргумент, докато не-празно стойност и непразен низ е намерен. | 1 |
Coalesce( "", "2" ) | Тества първия аргумент, който е празен низ. Защото първият аргумент е празен низ, оценката продължава със следващия аргумент, докато не-празно стойност и непразен низ е намерен. | 2 |
Coalesce( Blank(), "", Blank(), "", "3", "4" ) | Coalesce започва в началото на списъка с аргументи и оценява всеки аргумент от своя страна, докато не-празно стойност и непразен низ е намерен. В този случай първите четири аргумента се връщат празно или празен низ, така че оценката продължава до петия аргумент. Петият аргумент е не-празно и не-празен низ, така че оценката спира тук. Стойността на петия аргумент се връща, а шестият аргумент не се оценява. | 3 |
Coalesce( "" ) | Тества първия аргумент, който е празен низ. Тъй като първият аргумент е празен низ и няма повече аргументи, функцията се връща празно. | blank |
IsBlank
Създайте приложение от нулата, добавете контрола за въвеждане на текст и го назовете FirstName.
Добавете етикет и задайте свойството му Текст на тази формула:
If( IsBlank( FirstName.Text ), "First Name is a required field." )
По подразбиране, Текст свойството на контрола за въвеждане на текст е зададено на „Въвеждане на текст“. Тъй като свойството съдържа стойност, тя не е празна и етикетът не показва никакво съобщение.
Премахнете всички символи от контрола за въвеждане на текст, включително всички интервали.
Защото Текст свойството вече не съдържа символи, това е празен низ и 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
Създайте приложение от нулата и добавете контрола бутон.
Задайте свойството OnSelect на бутона на тази формула:
Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )
Визуализирайте приложението си, щракнете или докоснете бутона, който сте добавили, и след това затворете Преглед.
Колекция с име Сладолед е създаден и съдържа тези данни:
Тази колекция има два записа и не е празна. IsEmpty( IceCream ) завръща невярно и CountRows( IceCream ) връща 2.
Добавете втори бутон и задайте свойството му OnSelect на тази формула:
Clear( IceCream )
Визуализирайте приложението си, щракнете или докоснете втория бутон след това затворете Преглед.
Сега колекцията е празна:
Функцията Clear премахва всички записи от колекция, което води до празна колекция. IsEmpty( IceCream ) завръща вярно и CountRows( IceCream ) връща 0.
Можете също да използвате IsEmpty, за да проверите дали изчислената таблица е празна, както показват тези примери:
Формула | Описание | Резултат |
---|---|---|
IsEmpty( [ 1, 2, 3 ] ) | Таблицата с една колона съдържа три записа и следователно не е празна. | невярно |
IsEmpty( [ ] ) | Таблицата с една колона не съдържа записи и е празна. | вярно |
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) | Таблицата с една колона не съдържа стойности, по-големи от 5. Резултатът от филтъра не съдържа записи и е празен. | вярно |