Funções Blank, Coalesce, IsBlank e IsEmpty no PowerAppsBlank, Coalesce, IsBlank, and IsEmpty functions in PowerApps

Testa se um valor está em branco ou uma tabela não contém registos e oferece uma forma de criar valores em branco.Tests whether a value is blank or a table contains no records, and provides a way to create blank values.

Descrição geralOverview

Em branco é um marcador de posição para "nenhum valor" ou "valor desconhecido".Blank is a placeholder for "no value" or "unknown value." O controlo Entrada de texto está em branco se o utilizador ainda não tiver escrito carateres no mesmo.A Text input control is blank if the user hasn't typed any characters in it. O mesmo controlo deixa de estar em branco assim que o utilizador escreve um caráter.The same control is no longer blank as soon as the user types a character in it. Algumas origens de dados podem armazenar e devolver valores NULOS, que são representados no PowerApps como em branco.Some data sources can store and return NULL values, which are represented in PowerApps as blank.

Nota: neste momento, armazenar valores em branco é suportado apenas para recolhas locais.Note: At this time, storing blank values is supported only for local collections. Sabemos que muitas origens de dados suportam valores em branco (NULOS) e estamos a trabalhar para acabar com esta limitação.We know that many data sources support blank (NULL) values, and we're working to lift this limitation.

Qualquer propriedade ou valor calculado pode estar em branco.Any property or calculated value can be blank. Por exemplo, um valor Booleano normalmente tem um dos dois valores: verdadeiro ou falso.For example, a Boolean value normally has one of two values: true or false. Mas, além destes dois, também pode estar em branco.But in addition to these two, it can also be blank. Isto é semelhante ao Microsoft Excel, em que uma célula da folha de cálculo começa em branco mas pode englobar os valores VERDADEIRO ou FALSO, entre outros.This is similar to Microsoft Excel, where a worksheet cell starts out as blank but can hold the values TRUE or FALSE, among others. Em qualquer altura, os conteúdos da célula podem ser removidos e iriam voltar para um estado em branco.At any time, the contents of the cell can be removed, and it would return to a blank state.

Vazio é específico para as tabelas que não contêm nenhum registo.Empty is specific to tables that contain no records. A estrutura da tabela pode estar intacta, completa com nomes de colunas, mas não existem dados na tabela.The table structure may be intact, complete with column names, but no data is in the table. Uma tabela pode começar vazia, aceitar registos e deixar de estar vazia e, em seguida, remover os registos e voltar a estar vazia.A table may start as empty, take on records and no longer be empty, and then have the records removed and again be empty.

DescriçãoDescription

A função Em branco devolve um valor em branco.The Blank function returns a blank value. Utilize esta opção para armazenar um valor NULO numa origem de dados que suporta estes valores, removendo efetivamente qualquer valor do campo.Use this to store a NULL value in a data source that supports these values, effectively removing any value from the field.

A função IsBlank testa um valor em branco.The IsBlank function tests for a blank value. Os valores em branco encontram-se em situações como estas:Blank values are found in situations such as these:

  • O valor devolvido da função Em branco.The return value from the Blank function.
  • Uma propriedade de controlo não tem uma fórmula definida.A control property has no formula set for it.
  • Nenhum valor é escrito num controlo de entrada de texto ou nenhuma seleção é efetuada numa caixa de lista.No value is typed into a text-input control, or no selection is made in a listbox. Pode utilizar IsBlank para enviar comentários necessários num campo.You can use IsBlank to provide feedback that a field is required.
  • Uma cadeia que não contém carateres tem um Len de 0.A string that contains no characters has a Len of 0.
  • Ocorreu um erro numa consulta.An error occurred in a function. Muitas vezes, um dos argumentos para a função não era válido.Often, one of the arguments to the function wasn't valid. Muitas funções devolvem em branco se o valor de um argumento for em branco.Many functions return blank if the value of an argument is blank.
  • As origens de dados ligadas, como o SQL Server, podem utilizar valores "nulos".Connected data sources, such as SQL Server, may use "null" values. Estes valores são apresentados como em branco no PowerApps.These values appear as blank in PowerApps.
  • A outra parte de uma função Se não foi especificada e todas as condições eram falsas.The else portion of an If function wasn't specified, and all conditions were false.
  • Utilizou a função de Atualização, mas não especificou um valor para todas as colunas.You used the Update function but didn't specify a value for all columns. Como resultado, não foram colocados valores nas colunas que não especificou.As a result, no values were placed in the columns that you didn't specify.

A função Coalesce avalia os argumentos por ordem e devolve o primeiro valor que não esteja em branco.The Coalesce function evaluates its arguments in order and returns the first value that isn't blank. Utilize esta função para substituir um valor em branco por um valor diferente, mas deixe os valores que não estão em branco inalterados.Use this function to replace a blank value with a different value but leave non-blank values unchanged. Se todos os argumentos estão em branco, então a função devolve em branco.If all of the arguments are blank, then the function returns blank. Todos os argumentos do Coalesce têm de ser do mesmo tipo; por exemplo, não pode misturar números com cadeias de texto.All arguments to Coalesce must be of the same type; for example, you can't mix numbers with text strings. Coalesce ( value1, value2 ) é o equivalente mais conciso de If( IsBlank( value1 ) value1, value2 ) e não necessita que o value1 seja avaliado duas vezes.Coalesce( value1, value2 ) is the more concise equivalent of If( IsBlank( value1 ) value1, value2 ) and doesn't require value1 to be evaluated twice.

A função IsEmpty testa se uma tabela contém algum registo.The IsEmpty function tests whether a table contains any records. É equivalente a utilizar a função CountRows e a verificação de zero.It's equivalent to using the CountRows function and checking for zero. Pode verificar a existência de erros de origem de dados ao combinar IsEmpty com a função Erros.You can check for data-source errors by combining IsEmpty with the Errors function.

O valor devolvido de IsBlank e IsEmpty é um valor Booleano verdadeiro ou falso.The return value for both IsBlank and IsEmpty is a Boolean true or false.

SintaxeSyntax

Em branco()Blank()

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

  • Valor(es) – Necessário.Value(s) – Required. Valores a testar.Values to test. Cada valor é avaliado por ordem, até que seja encontrado um valor que não esteja em branco.Each value is evaluated in order until a non-blank value is found. Os valores após o primeiro valor que não está em branco não são avaliados.Values after the first non-blank value aren't evaluated.

IsBlank( Valor )IsBlank( Value )

  • Valor – Necessário.Value – Required. Valor a testar.Value to test.

IsEmpty( Tabela )IsEmpty( Table )

  • Tabela - Necessário.Table - Required. Tabela para testar os registos.Table to test for records.

ExemplosExamples

VazioBlank

NOTA: Neste momento, o exemplo seguinte só funciona para recolhas locais.NOTE: At this time, the following example only works for local collections. Sabemos que muitas origens de dados suportam valores em branco (NULOS) e estamos a trabalhar para acabar com esta limitação.We know that many data sources support blank (NULL) values and We are working to lift this limitation.

  1. Crie uma aplicação a partir do zero e adicione um controlo de Botão.Create an app from scratch, and add a Button control.
  2. Defina a propriedade OnSelect do botão como esta fórmula:Set the button's OnSelect property to this formula:

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

  3. Pré-visualize a sua aplicação, clique ou toque no botão que adicionou e, em seguida, feche a Pré-visualização.Preview your app, click or tap the button that you added, and then close Preview.
  4. No menu Ficheiro, clique ou toque em Recolhas.On the File menu, click or tap Collections.

    A recolha Cidades é apresentada, mostrando um registo com "Porto" e "Chuvoso":The Cities collection appears, showing one record with "Seattle" and "Rainy":

    Recolha a mostrar Porto com meteorologia Chuvosa

  5. Clique ou toque na seta para baixo para regressar à área de trabalho predefinida.Click or tap the back arrow to return to the default workspace.
  6. Adicione um controlo Etiqueta e defina a respetiva propriedade Texto para esta fórmula:Add a Label control, and set its Text property to this formula:

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

    A etiqueta mostra falso porque o campo Meteorologia contém um valor ("Chuvoso").The label shows false because the Weather field contains a value ("Rainy").

  7. Adicione um segundo botão e defina a respetiva propriedade OnSelect a esta fórmula: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. Pré-visualize a sua aplicação, clique ou toque no botão que adicionou e, em seguida, feche a Pré-visualização.Preview your app, click or tap the button that you added, and then close Preview.

    O campo Meteorologia do primeiro registo em Cidades é substituído por em branco, removendo "Chuvoso" que lá estava anteriormente.The Weather field of the first record in Cities is replaced with a blank, removing the "Rainy" that was there previously.

    Recolha a mostrar Porto com um campo Meteorologia em branco

    A etiqueta mostra verdadeiro porque o campo Meteorologia já não contém um valor.The label shows true because the Weather field no longer contains a value.

CoalesceCoalesce

FórmulaFormula DescriçãoDescription ResultadoResult
Coalesce( Blank(), 1 )Coalesce( Blank(), 1 ) Testa o valor devolvido da função Em branco, que devolve sempre um valor em branco.Tests the return value from the Blank function, which always returns a blank value. Uma vez que o primeiro argumento está em branco, a avaliação continua com o argumento seguinte até encontrar um valor que não esteja em branco.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 começa no início da lista de argumentos e avalia cada argumento à vez até encontrar um valor que não esteja em branco.Coalesce starts at the beginning of the argument list and evaluates each argument in turn until a non-blank value is found. Neste caso, os primeiros quatro argumentos devolvem em branco, pelo que a avaliação continua para o quinto argumento.In this case, the first four arguments all return blank, so evaluation continues to the fifth argument. O quinto argumento não está em branco, por isso a avaliação termina aqui.The fifth argument is non-blank, so evaluation stops here. É devolvido o valor do quinto argumento e o sexto argumento não é avaliado.The value of the fifth argument is returned, and the sixth argument isn't evaluated. 22

IsBlankIsBlank

  1. Crie uma aplicação a partir do zero, adicione um controlo de entrada de texto e dê-lhe o nome FirstName.Create an app from scratch, add a text-input control, and name it FirstName.
  2. Adicione uma etiqueta e defina a respetiva propriedade Texto para esta fórmula:Add a label, and set its Text property to this formula:

    If( IsBlank( FirstName.Text), "O Nome Próprio é um campo obrigatório.")If( IsBlank( FirstName.Text ), "First Name is a required field." )

    Por predefinição, a propriedade Texto de um controlo de entrada de texto está definida como "Introdução de texto".By default, the Text property of a text-input control is set to "Text input". Porque a propriedade contém um valor, não está em branco e a etiqueta não apresenta qualquer mensagem.Because the property contains a value, it isn't blank, and the label doesn't display any message.

  3. Remova todos os carateres do controlo da entrada de texto, incluindo quaisquer espaços.Remove all the characters from the text-input control, including any spaces.

    Uma vez que a propriedade Texto já não contém quaisquer carateres, é em branco e IsBlank (FirstName.Text) será verdadeiro.Because the Text property no longer contains any characters, it's blank, and IsBlank( FirstName.Text ) will be true. É apresentada a mensagem de campo obrigatório.The required field message is displayed.

Para obter informações sobre como realizar a validação com outras ferramentas, veja a função Validar e trabalhar com origens de dados.For information about how to perform validation by using other tools, see the Validate function and working with data sources.

Outros exemplos:Other examples:

FórmulaFormula DescriçãoDescription ResultadoResult
IsBlank( Blank() )IsBlank( Blank() ) Testa o valor devolvido da função Em branco, que devolve sempre um valor em branco.Tests the return value from the Blank function, which always returns a blank value. truetrue
IsBlank( "" )IsBlank( "" ) Uma cadeia que não contém carateres.A string that contains no characters. truetrue
IsBlank( "Olá" )IsBlank( "Hello" ) Uma cadeia que contém um ou mais carateres.A string that contains one or more characters. falsefalse
IsBlank( AnyCollection )IsBlank( AnyCollection ) Uma vez que a recolha existe, não está em branco, mesmo que não tenha quaisquer registos.Because the collection exists, it isn't blank, even if it doesn't contain any records. Para verificar a existência de uma recolha vazia, utilize IsEmpty em vez disso.To check for an empty collection, use IsEmpty instead. falsefalse
IsBlank( Mid( "Olá", 17, 2 ) )IsBlank( Mid( "Hello", 17, 2 ) ) O caráter de partida para Mid ultrapassa o fim da cadeia.The starting character for Mid is beyond the end of the string. O resultado é uma cadeia vazia.The result is an empty string. truetrue
IsBlank( If( false, false ) )IsBlank( If( false, false ) ) E a função Se sem ElseResult.An If function with no ElseResult. Uma vez que a condição é sempre falso, este Se devolve sempre em branco.Because the condition is always false, this If always returns blank. truetrue

IsEmptyIsEmpty

  1. Crie uma aplicação a partir do zero e adicione um controlo de Botão.Create an app from scratch, and add a Button control.
  2. Defina a propriedade OnSelect do botão como esta fórmula:Set the button's OnSelect property to this formula:

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

  3. Pré-visualize a sua aplicação, clique ou toque no botão que adicionou e, em seguida, feche a Pré-visualização.Preview your app, click or tap the button that you added, and then close Preview.

    Uma recolha designada Gelado é criada e contém estes dados:A collection named IceCream is created and contains this data:

    Esta recolha tem dois registos e não está vazia.This collection has two records and isn't empty. IsEmpty( IceCream ) devolve falso e CountRows( IceCream ) devolve 2.IsEmpty( IceCream ) returns false, and CountRows( IceCream ) returns 2.

  4. Adicione um segundo botão e defina a respetiva propriedade OnSelect nesta fórmula:Add a second button, and set its OnSelect property to this formula:

    Clear( IceCream )Clear( IceCream )

  5. Pré-visualize a sua aplicação, clique ou toque no segundo botão e, em seguida, feche a Pré-visualização.Preview your app, click or tap the second button, and then close Preview.

    A recolha agora está vazia:The collection is now empty:

    A função Limpar remove todos os registos de uma recolha, resultando numa recolha vazia.The Clear function removes all the records from a collection, resulting in an empty collection. IsEmpty( IceCream ) devolve verdadeiro e CountRows( IceCream ) devolve 0.IsEmpty( IceCream ) returns true, and CountRows( IceCream ) returns 0.

Também pode utilizar IsEmpty para testar se uma tabela calculada está vazia, como é mostrado nestes exemplos:You can also use IsEmpty to test whether a calculated table is empty, as these examples show:

FórmulaFormula DescriçãoDescription ResultadoResult
IsEmpty( [ 1, 2, 3 ] )IsEmpty( [ 1, 2, 3 ] ) A tabela de coluna única contém três registos e, por conseguinte, não está vazia.The single-column table contains three records and, therefore, isn't empty. falsefalse
IsEmpty( [ ] )IsEmpty( [ ] ) A tabela de coluna única não contém registos e, por conseguinte, está vazia.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 ) ) A tabela de coluna única não contém valores maiores que 5.The single-column table contains no values that are greater than 5. O resultado do filtro não contém quaisquer registos e está vazio.The result from the filter doesn't contain any records and is empty. truetrue