Funcións en branco, coalesce, IsBlank e IsEmpty

Aplícase a: Aplicacións de lona Desktop flúe Dataverse columnas de fórmula Aplicacións impulsadas Power Platform por Modelo CLI

Comproba se un valor está baleiro ou unha táboa non contén rexistros e fornece unha forma de crear valores en branco.

Visión xeral

Blank é un marcador de posición para "ningún valor" ou "valor descoñecido". Por exemplo, unha propiedade Selected do control de caixa de combinación é blank se o usuario non realizou ningunha selección. Moitas fontes de datos poden almacenar e devolver valores NULOS, representados en Power Apps como en branco.

Calquera propiedade ou valor calculado en Power Apps pode estar en branco. Por exemplo, un valor booleano normalmente ten un dos dous valores: verdadeiro ou falso. Pero ademais destes dous, tamén pode estar en branco, indicando que o estado non é coñecido. Isto é semellante a Microsoft Excel, onde unha cela dunha folla de traballo comeza en branco sen contidos pero pode manter os valores VERDADEIRO ou FALSO (entre outros). En calquera momento, pódese eliminar o contido da cela e devolvela ao estado en branco.

Cadea baleira refírese a unha cadea que non contén caracteres. A función Len devolve cero para tal cadea e pódese escribir en fórmulas como dúas comiñas dobres sen nada polo medio "". Algúns controis e fontes de datos usan unha cadea baleira para indicar unha condición "sen valor". Para simplificar a creación de aplicacións, as funcións IsBlank e Coalesce comproban se hai valores en branco ou cadeas baleiras.

No contexto da función IsEmpty, baleiro é específico para táboas que non conteñen rexistros. A estrutura da táboa pode estar intacta e completa con nomes de columna, pero non hai datos na táboa. Unha táboa pode comezar como baleira, asumir rexistros e deixar de estar baleira e, a continuación, que os rexistros sexan eliminados e de novo estar baleira.

Nota

Estamos nun período de transición. Ata agora, en branco tamén se empregou para informar de erros, imposibilitando diferenciar entre un "sen valor" válido e un erro. Por este motivo, neste momento, almacenar valores en branco só é compatible con coleccións locais. Pode gardar valores en branco noutras fontes de datos se activa a característica experimental Xestión de erros a nivel de fórmula en Configuración>Próximas funcións>Experimental. Estamos a traballar activamente para rematar esta característica e completar a separación adecuada entre valores en branco e erros.

En branco

Aplícase a: Columnas de fórmulas de aplicacións Dataverse impulsadas por Canvas

A función Blank devolve un valor en branco. Use isto para almacenar un valor NULO nunha orixe de datos que admita estes valores, eliminando de xeito efectivo calquera valor do campo.

IsBlank

Aplícase a: Aplicacións de lona Aplicacións dirixidas por modelo

A función IsBlank comproba se hai un valor en branco ou unha cadea baleira. A proba inclúe cadeas baleiras para facilitar a creación de aplicacións xa que algunhas fontes de datos e controis usan unha cadea baleira cando non hai ningún valor presente. Para comprobar específicamente se hai un valor en branco, use if( Value = Blank(), ... en vez de IsBlank. A función IsBlank considera táboas baleiras como non en branco, e IsEmpty debe usarse para probar unha táboa.

Ao activar o tratamento de erros para aplicacións existentes, considere a posibilidade de substituír IsBlank por IsBlankOrError para preservar o comportamento da aplicación existente. Antes da adición do tratamento de erros, empregouse un valor en branco para representar tanto valores nulos das bases de datos como valores de erro. O tratamento de erros separa estas dúas interpretacións de en branco, o que podería cambiar o comportamento das aplicacións existentes que seguen a usar IsBlank.

O valor devolto para IsBlank é un booleano verdadeiro ou falso.

Coalesce

Aplícase a: Aplicacións de lona Aplicacións dirixidas por modelo

A función Coalesce avalía os seus argumentos en orde e devolve o primeiro valor que non é un valor en branco ou unha cadea baleira. Use esta función para substituír un valor en branco ou unha cadea baleira cun valor diferente, pero deixe os valores non en branco e as cadeas non baleiras sen modificar. Se todos os argumentos están en branco ou son cadeas baleiras, entón a función devolve un valor en branco, facendo que a función Coalesce sexa un bo xeito de converter cadeas baleiras a valores en branco.

Coalesce( value1, value2 ) é o equivalente máis conciso de If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) e non precisa que valor1 e valor2 se avalíen dúas veces. A función If devolve en branco se non hai unha fórmula "outro", como é o caso de aquí.

Todos os argumentos de Coalesce deben ser do mesmo tipo; por exemplo, non pode mesturar números con cadeas de texto. O valor devolto da función Coalesce é deste tipo común.

IsEmpty

Aplícase a: Aplicacións de lona Aplicacións dirixidas por modelo

A función IsEmpty comproba se unha táboa contén algún rexistro. É equivalente a usar a función CountRows e comprobar se hai cero. Pode buscar erros de orixes de datos combinando IsEmpty coa función Errors.

O valor devolto para IsEmpty é un booleano verdadeiro ou falso.

Sintaxe

Blank()

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

  • Value(s) – Obrigatorio. Valores que se van comprobar. Cada valor avalíase en orde ata atopar un valor que non sexa en branco nin unha cadea baleira. Non se avalían os valores posteriores a este punto.

IsBlank( Value )

  • Value – Obrigatorio. Valor para comprobar se hai un valor en branco ou cadea baleira.

IsEmpty( Table )

  • Table - Obrigatorio. Táboa para comprobar se hai rexistros.

Exemplos

En branco

Nota

Neste momento, o seguinte exemplo só funciona para coleccións locais. Pode gardar valores en branco noutras fontes de datos se activa a característica experimental Xestión de erros a nivel de fórmula en Configuración>Próximas funcións>Experimental. Estamos a traballar activamente para rematar esta característica e completar a separación entre valores en branco e erros.

  1. Cree unha aplicación desde cero e engada un control Botón.

  2. Axuste a propiedade OnSelect do botón nesta fórmula:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Obteña a vista previa da súa aplicación, faga clic ou toque o botón que engadiu e logo peche a Vista previa.

  4. No menú Ficheiro, prema ou toque Coleccións.

    A colección Cidades aparece, e mostran un rexistro con "Seattle" e "Chuvioso":

    Colección que mostra Seattle con tempo Chuvioso.

  5. Faga clic ou toque a frecha cara atrás para volver ao espazo de traballo predeterminado.

  6. Engada un control Etiqueta e configure a súa propiedade Text nesta fórmula:

    IsBlank( First( Cities ).Weather )
    

    A etiqueta mostra falso porque o campo Tempo contén un valor ("Chuvioso").

  7. Engada un segundo botón e axuste a súa propiedade OnSelect nesta fórmula:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Obteña a vista previa da súa aplicación, faga clic ou toque o botón que engadiu e logo peche a Vista previa.

    O campo O tempo do primeiro rexistro en Cidades substitúese por en branco, e elimínase o valor "chuvioso" que había alí anteriormente.

    Colección que mostra Seattle cun campo O tempo en branco.

    A etiqueta mostra verdadeiro porque o campo Tempo xa non contén un valor.

Coalesce

Fórmula Descripción Resultado
Coalesce( Blank(), 1 ) Comproba o valor devolto da función Blank, que sempre devolve un valor en branco. Dado que o primeiro argumento está en branco, a avaliación continúa co seguinte argumento ata que se topa un valor non en branco e unha cadea non baleira. 1
Coalesce( "", "2" ) Comproba o primeiro argumento, que é unha cadea baleira. Dado que o primeiro argumento é unha cadea baleira, a avaliación continúa co seguinte argumento ata que se topa un valor non en branco e unha cadea non baleira. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce comeza ao comezo da lista de argumentos e avalía cada argumento á súa vez ata que atopa un valor non en branco e unha cadea non baleira. Neste caso, os catro primeiros argumentos devolven en branco ou unha cadea baleira, polo que a avaliación continúa co quinto argumento. O quinto argumento non está en branco nin é unha cadea baleira, polo que a avaliación detense aquí. Devólvese o valor do quinto argumento e o sexto argumento non se avalía. 3
Coalesce( "" ) Comproba o primeiro argumento, que é unha cadea baleira. Debido a que o primeiro argumento é unha cadea baleira, e non hai máis argumentos, a función devolve en branco. blank

IsBlank

  1. Cree unha aplicación dende cero, engada un control de entrada de texto e noméeo FirstName.

  2. Engada unha etiqueta e configure a súa propiedade Texto nesta fórmula:

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

    Por defecto, a propiedade Texto dun control de entrada de texto está definida en "Entrada de texto". Debido a que a propiedade contén un valor, non está en branco e na etiqueta non aparece ningunha mensaxe.

  3. Elimine todos os caracteres do control de entrada de texto, incluídos os espazos.

    Dado que a propiedade Texto xa non contén caracteres, é unha cadea baleira e IsBlank( FirstName.Text ) será verdadeiro. Móstrase a mensaxe de campo obrigatorio.

Para obter información sobre como realizar a validación usando outras ferramentas, consulte a función Validate e traballar con fontes de datos.

Outros exemplos:

Fórmula Descripción Resultado
IsBlank( Blank() ) Comproba o valor devolto da función Blank, que sempre devolve un valor en branco. true
IsBlank( "" ) Cadea que non contén caracteres. true
IsBlank( "Hello" ) Cadea que contén un ou varios caracteres. false
IsBlank( AnyCollection ) Como a colección existe, non está en branco, aínda que non conteña rexistros. Para buscar unha colección baleira, use IsEmpty no seu lugar. false
IsBlank( Mid( "Hello", 17, 2 ) ) O carácter inicial de Mid está máis aló do final da cadea. O resultado é unha cadea baleira. true
IsBlank( If( false, false ) ) Unha función If sen ElseResult. Como a condición é sempre false, ista función If sempre volve en branco. true

IsEmpty

  1. Cree unha aplicación desde cero e engada un control Botón.

  2. Axuste a propiedade OnSelect do botón nesta fórmula:

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

  3. Obteña a vista previa da súa aplicación, faga clic ou toque o botón que engadiu e logo peche a Vista previa.

    Unha colección chamada IceCream creouse e contén estes datos:

    Unha táboa con sabores de amorodo e chocolate coas cantidades 300 e 100.

    Esta colección ten dous rexistros e non está baleira. IsEmpty ( IceCream ) devolve false e CountRows ( IceCream ) devolve 2.

  4. Engada un segundo botón e axuste a súa propiedade OnSelect nesta fórmula:

    Clear( IceCream )

  5. Obteña a vista previa da súa aplicación, faga clic ou toque o segundo botón e logo peche a Vista previa.

    A colección está agora baleira:

    Unha colección con Sabor e Cantidade como colección baleira.

    A función Clear elimina todos os rexistros dunha colección, obtendo unha colección baleira. IsEmpty ( IceCream ) devolve true e CountRows ( IceCream ) devolve 0.

Tamén pode usar IsEmpty para comprobar se unha táboa calculada está baleira, como mostran estes exemplos:

Fórmula Descripción Resultado
IsEmpty( [ 1, 2, 3 ] ) A táboa dunha única columna contén tres rexistros e, polo tanto, non está baleira. false
IsEmpty( [ ] ) A táboa dunha única columna non contén rexistros e está baleira. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) A táboa dunha única columna non contén valores superiores a 5. O resultado do filtro non contén rexistros e está baleiro. true