Функции Blank, Coalesce, IsBlank и IsEmpty в PowerAppsBlank, Coalesce, IsBlank, and IsEmpty functions in PowerApps

Эти функции позволяют проверить, является ли значение пустым и отсутствуют ли в таблице записи, а также позволяют создавать пустые значения.Tests whether a value is blank or a table contains no records, and provides a way to create blank values.

ОбзорOverview

Пустое значение — это заполнитель, который применяется, если значение отсутствует или неизвестно.Blank is a placeholder for "no value" or "unknown value." Элемент управления Текстовое поле считается пустым, если пользователь не ввел в него никакие символы.A Text input control is blank if the user hasn't typed any characters in it. Этот элемент управления перестает быть пустым, как только пользователь вводит в него символы.The same control is no longer blank as soon as the user types a character in it. Некоторые источники данных могут хранить и возвращать значения NULL, которые в PowerApps рассматриваются как пустые.Some data sources can store and return NULL values, which are represented in PowerApps as blank.

Примечание

Сейчас пустые значения можно хранить только в локальных коллекциях.At this time, storing blank values is supported only for local collections. Мы знаем, что многие источники данных поддерживают пустые значения (NULL), и мы работаем над устранением этого ограничения.We know that many data sources support blank (NULL) values, and we're working to lift this limitation.

Любое свойство или вычисленное значение может быть пустым.Any property or calculated value can be blank. Например, логическое значение обычно принимает одно из двух значений: true или false.For example, a Boolean value normally has one of two values: true or false. Оно также может быть пустым.But in addition to these two, it can also be blank. Это аналогично Microsoft Excel, где в начале работы ячейки листа пустые, но помимо других могут также содержать значения true или false.This is similar to Microsoft Excel, where a worksheet cell starts out as blank but can hold the values TRUE or FALSE, among others. Содержимое ячейки в любое время может быть удалено, после чего она снова станет пустой.At any time, the contents of the cell can be removed, and it would return to a blank state.

Состояние пусто имеют те таблицы, которые не содержат ни одной записи.Empty is specific to tables that contain no records. Структура таблицы может быть неповрежденной, таблица может содержать имена столбцов, но при этом не содержать каких-либо данных.The table structure may be intact, complete with column names, but no data is in the table. Таблица может быть изначально пустой, перестать быть пустой по мере заполнения данными, а затем снова стать пустой, после того как данные будут удалены.A table may start as empty, take on records and no longer be empty, and then have the records removed and again be empty.

ОписаниеDescription

Функция Blank возвращает пустое значение.The Blank function returns a blank value. Используйте эту функцию, чтобы сохранить значение NULL в источнике данных, который поддерживает эти значения, и удалить все значения из этого поля.Use this to store a NULL value in a data source that supports these values, effectively removing any value from the field.

Функция IsBlank проверяет на наличие пустого значения.The IsBlank function tests for a blank value. Пустые значения могут быть обнаружены в следующих ситуациях:Blank values are found in situations such as these:

  • Значение, возвращенное после выполнения функции Blank.The return value from the Blank function.
  • Не настроена формула для свойства элемента управления.A control property has no formula set for it.
  • Значение не ввели в элемент управления "Текстовое поле" или не выбрали из списка.No value is typed into a text-input control, or no selection is made in a listbox. Функцию IsBlank можно использовать для уведомления о том, что поле является обязательным.You can use IsBlank to provide feedback that a field is required.
  • Строка, которая не содержит символы, имеет для функции Len значение 0.A string that contains no characters has a Len of 0.
  • В функции произошла ошибка.An error occurred in a function. Часто один из аргументов функции недопустимый.Often, one of the arguments to the function wasn't valid. Многие функции возвращают пустое значение при пустом значении аргумента.Many functions return blank if the value of an argument is blank.
  • Подключенные источники данных, такие как SQL Server, могут использовать нулевые значения.Connected data sources, such as SQL Server, may use "null" values. В PowerApps такие значения отображаются как пустые.These values appear as blank in PowerApps.
  • Если часть еlse функции If не указана, а все условия вернули значение false.The else portion of an If function wasn't specified, and all conditions were false.
  • Вы использовали функцию Update, но не указали значение для всех столбцов.You used the Update function but didn't specify a value for all columns. В результате в столбцах, которые не были указаны, не добавлены значения.As a result, no values were placed in the columns that you didn't specify.

Функция Coalesce поочередно оценивает аргументы и возвращает первое значение, не являющееся пустым.The Coalesce function evaluates its arguments in order and returns the first value that isn't blank. Используйте эту функцию, чтобы заменить пустое значение другим, оставив значения, не являющиеся пустыми, без изменений.Use this function to replace a blank value with a different value but leave non-blank values unchanged. Если все аргументы являются пустыми, функция возвращает пустое значение.If all of the arguments are blank, then the function returns blank. Все аргументы для Coalesce должны относиться к одному типу. Например, нельзя комбинировать числа с текстовыми строками.All arguments to Coalesce must be of the same type; for example, you can't mix numbers with text strings. Coalesce( value1, value2 ) является сокращенным эквивалентом If( IsBlank( value1 ) value1, value2 ) и не требует повторной оценки value1.Coalesce( value1, value2 ) is the more concise equivalent of If( IsBlank( value1 ) value1, value2 ) and doesn't require value1 to be evaluated twice.

Функция IsEmpty проверяет, содержит ли таблица какие-либо записи.The IsEmpty function tests whether a table contains any records. Это аналогично использованию функции CountRows и проверке на наличие нулевых значений.It's equivalent to using the CountRows function and checking for zero. Чтобы проверить на наличие ошибок источника данных, можно использовать функцию IsEmpty вместе с функцией Errors.You can check for data-source errors by combining IsEmpty with the Errors function.

Для функций IsBlank и IsEmpty возвращается логическое значение: true или false.The return value for both IsBlank and IsEmpty is a Boolean true or false.

СинтаксисSyntax

Blank()Blank()

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

  • Значения Value — обязательные аргументы.Value(s) – Required. Проверяемые значения.Values to test. Все значения оцениваются поочередно, пока не будет найдено значение, не являющееся пустым.Each value is evaluated in order until a non-blank value is found. Значения после первого значения, не являющегося пустым, не оцениваются.Values after the first non-blank value aren't evaluated.

IsBlank( Value )IsBlank( Value )

  • Value — обязательный аргумент.Value – Required. Значение для проверки.Value to test.

IsEmpty( Table )IsEmpty( Table )

  • Table — обязательный аргумент.Table - Required. Таблица для проверки записей.Table to test for records.

ПримерыExamples

Функция BlankBlank

Примечание

Сейчас следующий пример работает только для локальных коллекций.At this time, the following example only works for local collections. Мы знаем, что многие источники данных поддерживают пустые значения (NULL), и мы работаем над устранением этого ограничения.We know that many data sources support blank (NULL) values and We are working to lift this limitation.

  1. Создайте приложение с нуля и добавьте элемент управления Кнопка.Create an app from scratch, and add a Button control.
  2. Задайте для свойства кнопки OnSelect эту формулу:Set the button's OnSelect property to this formula:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )

  3. Просмотрите приложение, нажмите добавленную кнопку, а затем закройте режим предварительного просмотра.Preview your app, click or tap the button that you added, and then close Preview.
  4. В меню Файл щелкните или коснитесь Коллекции.On the File menu, click or tap Collections.

    После этого отобразится коллекция Cities с записями Seattle и Rainy:The Cities collection appears, showing one record with "Seattle" and "Rainy":

    Коллекция с записью Seattle и Rainy

  5. Нажмите кнопку со стрелкой "Назад", чтобы вернуться в рабочую область по умолчанию.Click or tap the back arrow to return to the default workspace.
  6. Добавьте элемент управления Метка и задайте в качестве значения свойства Text следующую формулу:Add a Label control, and set its Text property to this formula:

    IsBlank( First( Cities ).Weather )IsBlank( First( Cities ).Weather )

    Метка отображает значение false, так как поле Weather содержит значение (Rainy).The label shows false because the Weather field contains a value ("Rainy").

  7. Добавьте вторую кнопку и задайте в качестве значения свойства OnSelect следующую формулу:Add a second button, and set its OnSelect property to this formula:

    Patch( Cities, First( Cities ), { Weather: Blank() } )Patch( Cities, First( Cities ), { Weather: Blank() } )

  8. Просмотрите приложение, нажмите добавленную кнопку, а затем закройте режим предварительного просмотра.Preview your app, click or tap the button that you added, and then close Preview.

    Из поля Weather первой записи в коллекции Cities удалили Rainy, в результате чего оно стало пустым.The Weather field of the first record in Cities is replaced with a blank, removing the "Rainy" that was there previously.

    Коллекция с записью Seattle и пустым полем Weather

    Метка отображает значение true, так как в поле Weather отсутствует значение.The label shows true because the Weather field no longer contains a value.

CoalesceCoalesce

ФормулаFormula ОписаниеDescription Возвращаемый результатResult
Coalesce( Blank(), 1 )Coalesce( Blank(), 1 ) Проверяет возвращаемое функцией Blank значение (всегда пустое).Tests the return value from the Blank function, which always returns a blank value. Так как первый аргумент является пустым, оценка продолжается для следующего аргумента, пока не будет найдено значение, не являющееся пустым.Because the first argument is blank, evaluation continues with the next argument until a non-blank value is found. 11
Coalesce( Blank(), Blank(), Blank(), Blank(), 2, 3 )Coalesce( Blank(), Blank(), Blank(), Blank(), 2, 3 ) Функция Coalesce запускается с начала списка аргументов и поочередно оценивает каждый аргумент, пока не будет найдено значение, не являющееся пустым.Coalesce starts at the beginning of the argument list and evaluates each argument in turn until a non-blank value is found. В этом случае все первые четыре аргумента возвращаются пустыми, поэтому оценка продолжается до пятого аргумента.In this case, the first four arguments all return blank, so evaluation continues to the fifth argument. Пятый аргумент не является пустым, поэтому оценка прекращается.The fifth argument is non-blank, so evaluation stops here. Возвращается значение пятого аргумента, а шестой аргумент не оценивается.The value of the fifth argument is returned, and the sixth argument isn't evaluated. 22

IsBlankIsBlank

  1. Создайте приложение с нуля, добавьте элемент управления "Текстовое поле" и назовите его FirstName.Create an app from scratch, add a text-input control, and name it FirstName.
  2. Добавьте метку и установите в ее свойстве Text формулу:Add a label, and set its Text property to this formula:

    If( IsBlank( FirstName.Text ), "Это обязательное поле." )If( IsBlank( FirstName.Text ), "First Name is a required field." )

    По умолчанию свойство элемента управления "Текстовое поле" Text имеет значение Text input.By default, the Text property of a text-input control is set to "Text input". Так как свойство содержит значение, оно не пустое и метка не отображает никакие сообщения.Because the property contains a value, it isn't blank, and the label doesn't display any message.

  3. Удалите все символы из элемента управления "Текстовое поле", в том числе пробелы.Remove all the characters from the text-input control, including any spaces.

    Так как свойство Text больше не содержит символы, оно пустое и IsBlank( FirstName.Text ) будет иметь значение true.Because the Text property no longer contains any characters, it's blank, and IsBlank( FirstName.Text ) will be true. Отобразится сообщение "Обязательное поле".The required field message is displayed.

Сведения о выполнении проверки с помощью других средств см. в статьях Функция Validate в Microsoft PowerApps и Общие сведения об источниках данных в PowerApps.For information about how to perform validation by using other tools, see the Validate function and working with data sources.

Другие примеры:Other examples:

ФормулаFormula ОписаниеDescription Возвращаемый результатResult
IsBlank( Blank() )IsBlank( Blank() ) Проверяет возвращаемое функцией Blank значение (всегда пустое).Tests the return value from the Blank function, which always returns a blank value. truetrue
IsBlank( "" )IsBlank( "" ) Строка, которая не содержит символы.A string that contains no characters. truetrue
IsBlank( "Hello" )IsBlank( "Hello" ) Строка, содержащая один или несколько символов.A string that contains one or more characters. falsefalse
IsBlank( AnyCollection )IsBlank( AnyCollection ) Так как коллекция существует, она не считается пустой, даже если не содержит ни одной записи.Because the collection exists, it isn't blank, even if it doesn't contain any records. Чтобы проверить наличие пустой коллекции, используйте функцию IsEmpty.To check for an empty collection, use IsEmpty instead. falsefalse
IsBlank( Mid( "Hello", 17, 2 ) )IsBlank( Mid( "Hello", 17, 2 ) ) Начальный символ для Mid выходит за пределы строки.The starting character for Mid is beyond the end of the string. Результатом является пустая строка.The result is an empty string. truetrue
IsBlank( If( false, false ) )IsBlank( If( false, false ) ) Функция If без ElseResult.An If function with no ElseResult. Так как условие всегда имеет значение false, If всегда возвращает пустое значение.Because the condition is always false, this If always returns blank. truetrue

IsEmptyIsEmpty

  1. Создайте приложение с нуля и добавьте элемент управления Кнопка.Create an app from scratch, and add a Button control.
  2. Задайте для свойства кнопки OnSelect эту формулу:Set the button's OnSelect property to this formula:

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

  3. Просмотрите приложение, нажмите добавленную кнопку, а затем закройте режим предварительного просмотра.Preview your app, click or tap the button that you added, and then close Preview.

    Создается коллекция с именем IceCream, в которой содержатся такие данные:A collection named IceCream is created and contains this data:

    Эта коллекция имеет две записи и не является пустой.This collection has two records and isn't empty. IsEmpty (IceCream) возвращает значение false, а CountRows (IceCream) возвращает 2.IsEmpty( IceCream ) returns false, and CountRows( IceCream ) returns 2.

  4. Добавьте вторую кнопку и задайте в качестве значения свойства OnSelect следующую формулу:Add a second button, and set its OnSelect property to this formula:

    Clear( IceCream )Clear( IceCream )

  5. Просмотрите приложение, нажмите вторую кнопку, а затем закройте режим предварительного просмотра.Preview your app, click or tap the second button, and then close Preview.

    Теперь коллекция пуста:The collection is now empty:

    Функция Clear удаляет все записи из коллекции, в результате чего коллекция становится пустой.The Clear function removes all the records from a collection, resulting in an empty collection. IsEmpty (IceCream) возвращает значение true, а CountRows (IceCream) возвращает 0.IsEmpty( IceCream ) returns true, and CountRows( IceCream ) returns 0.

IsEmpty можно также использовать, чтобы проверить, является ли вычисляемая таблица пустой, как показано в примерах ниже.You can also use IsEmpty to test whether a calculated table is empty, as these examples show:

ФормулаFormula ОписаниеDescription Возвращаемый результатResult
IsEmpty( [ 1, 2, 3 ] )IsEmpty( [ 1, 2, 3 ] ) Таблица с одним столбцом содержит три записи, а значит, не является пустой.The single-column table contains three records and, therefore, isn't empty. falsefalse
IsEmpty( [ ] )IsEmpty( [ ] ) Таблица с одним столбцом не содержит записей, а значит, является пустой.The single-column table contains no records and is empty. truetrue
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) )IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Таблица с одним столбцом не содержит значений, превышающих 5.The single-column table contains no values that are greater than 5. В результате фильтр не обнаруживает подходящие записи и остается пустым.The result from the filter doesn't contain any records and is empty. truetrue