Funcións Blank, Coalesce, IsBlank e IsEmpty
Aplícase a: Aplicacións de lenzo Fluxos de escritorio Dataverse columnas de fórmulas Aplicacións baseadas en modelos Power Pages Power Platform 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
En branco é un marcador de posición para "sen valor" ou "valor descoñecido". Por exemplo, unha propiedade de control seleccionada cadro combinado está en branco se o usuario non fixo unha 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: Aplicacións de lenzo Aplicacións baseadas en modelos Dataverse columnas de fórmulas
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 lenzo Aplicacións baseadas en modelos
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 que as táboas baleiras non son baleiras e IsBlank 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 lenzo Aplicacións baseadas en modelos
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 require valor1 e valor2 para ser avaliado 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 lenzo Aplicacións baseadas en modelos
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
En branco()
Unir( Valor1 [, Valor2, ... ] )
- Valores – 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( Valor )
- Valor – Obrigatorio. Valor para comprobar se hai un valor en branco ou cadea baleira.
IsEmpty( Táboa )
- Táboa - 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.
Cree unha aplicación desde cero e engada un control Botón.
Axuste a propiedade OnSelect do botón nesta fórmula:
ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
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.
No menú Ficheiro, prema ou toque Coleccións.
A colección Cidades aparece, e mostran un rexistro con "Seattle" e "Chuvioso":
Faga clic ou toque a frecha cara atrás para volver ao espazo de traballo predeterminado.
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").
Engada un segundo botón e axuste a súa propiedade OnSelect nesta fórmula:
Patch( Cities, First( Cities ), { Weather: Blank() } )
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.
A etiqueta mostra verdadeiro porque o campo Tempo xa non contén un valor.
Coalesce
Fórmula | Descripción | Resultado |
---|---|---|
Unir (en branco(), 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(En branco(), "", En branco (), "", "3", "4" ) | Coalesce comeza ao comezo da lista de argumentos e avalía cada argumento por turnos ata que se atopa un valor que non sexa 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. | en branco |
IsBlank
Cree unha aplicación dende cero, engada un control de entrada de texto e noméeo FirstName.
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.
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(Baleiro()) | Comproba o valor devolto da función Blank, que sempre devolve un valor en branco. | verdade |
IsBlank( "" ) | Cadea que non contén caracteres. | verdade |
IsBlank("Ola") | Cadea que contén un ou varios caracteres. | falso |
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. | falso |
IsBlank( Mid( "Ola", 17, 2 ) ) | O carácter inicial de Mid está máis aló do final da cadea. O resultado é unha cadea baleira. | verdade |
IsBlank( Se (falso, falso)) | Unha función If sen ElseResult. Como a condición é sempre false, ista función If sempre volve en branco. | verdade |
IsEmpty
Cree unha aplicación desde cero e engada un control Botón.
Axuste a propiedade OnSelect do botón nesta fórmula:
Recoller( Xeado, { Sabor: "Amordodo", Cantidade: 300 }, { Sabor: "Chocolate", Cantidade: 100 } )
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:
Esta colección ten dous rexistros e non está baleira. IsEmpty( IceCream ) devolve false e CountRows( IceCream) devolve 2.
Engada un segundo botón e axuste a súa propiedade OnSelect nesta fórmula:
Borrar (Xeado)
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:
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. | falso |
IsEmpty( [ ] ) | A táboa dunha única columna non contén rexistros e está baleira. | verdade |
IsEmpty( Filtro( [ 1, 2, 3 ], Valor > 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. | verdade |