Funciones Blank, Coalesce, IsBlank e IsEmpty en PowerAppsBlank, Coalesce, IsBlank, and IsEmpty functions in PowerApps

Comprueba si un valor está en blanco o una tabla no contiene registros, y proporciona una manera de crear valores en blanco.Tests whether a value is blank or a table contains no records, and provides a way to create blank values.

Información generalOverview

Blank es un marcador de posición para "sin valor" o "valor desconocido".Blank is a placeholder for "no value" or "unknown value." Un control Entrada de texto está en blanco si el usuario no ha escrito en él ningún carácter.A Text input control is blank if the user hasn't typed any characters in it. El mismo control ya no está en blanco tan pronto como el usuario escribe un carácter en él.The same control is no longer blank as soon as the user types a character in it. Algunos orígenes de datos pueden almacenar y devolver valores NULL, que se representan en PowerApps como en blanco.Some data sources can store and return NULL values, which are represented in PowerApps as blank.

Nota: Actualmente, solo se admite el almacenamiento de valores en blanco para colecciones locales.Note: At this time, storing blank values is supported only for local collections. Sabemos que muchos orígenes de datos admiten valores en blanco (NULL) y estamos trabajando para superar esta limitación.We know that many data sources support blank (NULL) values, and we're working to lift this limitation.

Cualquier propiedad o valor calculado puede estar en blanco.Any property or calculated value can be blank. Por ejemplo, un valor booleano normalmente tiene uno de dos valores: true o false.For example, a Boolean value normally has one of two values: true or false. Pero además de estos dos, también puede estar en blanco.But in addition to these two, it can also be blank. Esto es similar a Microsoft Excel, donde una celda de la hoja de cálculo empieza como en blanco pero puede contener los valores TRUE o FALSE, entre otros.This is similar to Microsoft Excel, where a worksheet cell starts out as blank but can hold the values TRUE or FALSE, among others. En cualquier momento, se puede quitar el contenido de la celda y volvería a un estado en blanco.At any time, the contents of the cell can be removed, and it would return to a blank state.

El término vacío es específico de tablas que no contienen registros.Empty is specific to tables that contain no records. La estructura de tabla puede estar intacta, con nombres de columna, pero ningún dato en la tabla.The table structure may be intact, complete with column names, but no data is in the table. Una tabla puede comenzar como vacía, obtener registros y ya no estar vacía y luego quitarse los registros y estar de nuevo vacía.A table may start as empty, take on records and no longer be empty, and then have the records removed and again be empty.

DescripciónDescription

La función En blanco devuelve un valor en blanco.The Blank function returns a blank value. Use esta función para almacenar un valor NULL en un origen de datos que admita estos valores, de forma que se quiten en la práctica todos los valores del campo.Use this to store a NULL value in a data source that supports these values, effectively removing any value from the field.

La función IsBlank comprueba un valor en blanco.The IsBlank function tests for a blank value. Los valores en blanco se encuentran en situaciones como las siguientes:Blank values are found in situations such as these:

  • El valor devuelto por la función En blanco.The return value from the Blank function.
  • Una propiedad de control no tiene ninguna fórmula establecida para ella.A control property has no formula set for it.
  • No se escribe ningún valor en un control de entrada de texto ni se realiza ninguna selección en un cuadro de lista.No value is typed into a text-input control, or no selection is made in a listbox. Puede usar IsBlank para proporcionar comentarios de que un campo es obligatorio.You can use IsBlank to provide feedback that a field is required.
  • Una cadena que no contiene ningún carácter tiene un valor de Len de 0.A string that contains no characters has a Len of 0.
  • Se producido un error en una función.An error occurred in a function. Con frecuencia, uno de los argumentos para la función no era válido.Often, one of the arguments to the function wasn't valid. Muchas funciones devuelven en blanco si el valor de un argumento está en blanco.Many functions return blank if the value of an argument is blank.
  • Los orígenes de datos conectados, como SQL Server, pueden usar valores "null".Connected data sources, such as SQL Server, may use "null" values. Estos valores aparecen como en blanco en PowerApps.These values appear as blank in PowerApps.
  • La parte else de una función If no se especificó y todas las condiciones fueron false.The else portion of an If function wasn't specified, and all conditions were false.
  • Usó la función Actualizar pero no especificó un valor para todas las columnas.You used the Update function but didn't specify a value for all columns. Como resultado, no se colocó ningún valor en las columnas que no especificó.As a result, no values were placed in the columns that you didn't specify.

La función Coalesce evalúa sus argumentos en orden y devuelve el primer valor que no sea blank.The Coalesce function evaluates its arguments in order and returns the first value that isn't blank. Utilice esta función para reemplazar un valor blank por un valor diferente, sin cambiar los valores que no son blank.Use this function to replace a blank value with a different value but leave non-blank values unchanged. Si todos los argumentos son blank, la función devuelve blank.If all of the arguments are blank, then the function returns blank. Todos los argumentos de Coalesce debe ser del mismo tipo; por ejemplo, no puede combinar números con cadenas de texto.All arguments to Coalesce must be of the same type; for example, you can't mix numbers with text strings. Coalesce( valor1, valor2 ) es el equivalente más conciso de If( IsBlank( valor1 ) valor1, valor2 ) y no requiere que valor1 se evalúe dos veces.Coalesce( value1, value2 ) is the more concise equivalent of If( IsBlank( value1 ) value1, value2 ) and doesn't require value1 to be evaluated twice.

La función IsEmpty comprueba si una tabla contiene registros.The IsEmpty function tests whether a table contains any records. Es equivalente a usar la función CountRows y la comprobación de cero.It's equivalent to using the CountRows function and checking for zero. Puede usar IsEmpty para comprobar errores de origen de datos en combinación con la función Errores.You can check for data-source errors by combining IsEmpty with the Errors function.

El valor devuelto para EsBlanco e IsEmpty es un valor booleano true o false.The return value for both IsBlank and IsEmpty is a Boolean true or false.

SintaxisSyntax

En blanco()Blank()

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

  • Valores: requerido.Value(s) – Required. Valores que se van a comprobar.Values to test. Cada valor se evalúa en orden hasta que se encuentra un valor que no es blank.Each value is evaluated in order until a non-blank value is found. Los valores situados después del primer valor no blank no se evalúan.Values after the first non-blank value aren't evaluated.

IsBlank( Value )IsBlank( Value )

  • Value: requerido.Value – Required. Valor que se va a probar.Value to test.

IsEmpty( Table )IsEmpty( Table )

  • Table: requerido.Table - Required. Tabla en la que se van a comprobar registros.Table to test for records.

EjemplosExamples

En blancoBlank

Nota: Actualmente, el siguiente ejemplo solo funciona para colecciones locales.NOTE: At this time, the following example only works for local collections. Sabemos que muchos orígenes de datos admiten valores en blanco (NULL) y estamos trabajando para superar esta limitación.We know that many data sources support blank (NULL) values and We are working to lift this limitation.

  1. Cree una aplicación desde el principio y agregue un control Botón.Create an app from scratch, and add a Button control.
  2. Establezca la propiedad OnSelect del botón en esta fórmula:Set the button's OnSelect property to this formula:

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

  3. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista previa.Preview your app, click or tap the button that you added, and then close Preview.
  4. En el menú Archivo, haga clic o pulse en Colecciones.On the File menu, click or tap Collections.

    Aparece la colección Cities, que muestra un registro con "Seattle" y "Rainy":The Cities collection appears, showing one record with "Seattle" and "Rainy":

    Colección que muestra Seattle con tiempo lluvioso

  5. Haga clic o pulse en la flecha Atrás para volver al área de trabajo predeterminada.Click or tap the back arrow to return to the default workspace.
  6. Agregue un control Etiqueta y establezca su propiedad Texto en esta fórmula:Add a Label control, and set its Text property to this formula:

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

    La etiqueta muestra false porque el campo Weather contiene un valor ("Rainy").The label shows false because the Weather field contains a value ("Rainy").

  7. Agregue un botón y establezca su propiedad AlSeleccionar en 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. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista previa.Preview your app, click or tap the button that you added, and then close Preview.

    El campo Weather del primer registro de Cities se sustituye por un valor en blanco, de forma que se reemplaza el valor inicial "Rainy" que estaba ahí anteriormente.The Weather field of the first record in Cities is replaced with a blank, removing the "Rainy" that was there previously.

    Colección que muestra Seattle con un campo Weather en blanco

    La etiqueta muestra true porque el campo Weather ya no contiene ningún valor.The label shows true because the Weather field no longer contains a value.

CoalesceCoalesce

FórmulaFormula DescripciónDescription ResultadoResult
Coalesce( Blank(), 1 )Coalesce( Blank(), 1 ) Comprueba el valor devuelto por la función En blanco, que siempre devuelve un valor en blanco.Tests the return value from the Blank function, which always returns a blank value. Como el primer argumento es blank, la evaluación continúa con el argumento siguiente hasta que se encuentra un valor no blank.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 comienza al principio de la lista de argumentos y evalúa cada uno de ellos por orden hasta que encuentra un valor no blank.Coalesce starts at the beginning of the argument list and evaluates each argument in turn until a non-blank value is found. En este caso, los cuatro primeros argumentos devuelven blank, por lo que la evaluación continúa con el quinto argumento.In this case, the first four arguments all return blank, so evaluation continues to the fifth argument. El quinto argumento no es blank, por lo que la evaluación se detiene ahí.The fifth argument is non-blank, so evaluation stops here. Se devuelve el valor del quinto argumento y no se evalúa el sexto argumento.The value of the fifth argument is returned, and the sixth argument isn't evaluated. 22

EsBlancoIsBlank

  1. Cree una aplicación desde el principio, agregue un control de entrada de texto y llámelo FirstName.Create an app from scratch, add a text-input control, and name it FirstName.
  2. Agregue una etiqueta y establezca su propiedad Text en esta fórmula:Add a label, and set its Text property to this formula:

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

    De forma predeterminada, la propiedad Texto de un control de entrada de texto se establece en "Entrada de texto".By default, the Text property of a text-input control is set to "Text input". Como la propiedad contiene un valor, no está en blanco, y la etiqueta no muestra ningún mensaje.Because the property contains a value, it isn't blank, and the label doesn't display any message.

  3. Quite todos los caracteres del control de entrada de texto, espacios incluidos.Remove all the characters from the text-input control, including any spaces.

    Como la propiedad Texto ya no contiene ningún carácter, está en blanco y EsBlanco( FirstName.Text ) será true.Because the Text property no longer contains any characters, it's blank, and IsBlank( FirstName.Text ) will be true. Se muestra el mensaje de campo requerido.The required field message is displayed.

Para más información sobre cómo realizar la validación mediante otras herramientas, consulte la función Validar y el uso de orígenes de datos.For information about how to perform validation by using other tools, see the Validate function and working with data sources.

Otros ejemplos:Other examples:

FórmulaFormula DescripciónDescription ResultadoResult
IsBlank( Blank() )IsBlank( Blank() ) Comprueba el valor devuelto por la función En blanco, que siempre devuelve un valor en blanco.Tests the return value from the Blank function, which always returns a blank value. truetrue
IsBlank( "" )IsBlank( "" ) Una cadena que no contiene ningún carácter.A string that contains no characters. truetrue
IsBlank( "Hello" )IsBlank( "Hello" ) Una cadena que contiene uno o más caracteres.A string that contains one or more characters. falsefalse
IsBlank( AnyCollection )IsBlank( AnyCollection ) Como la colección existe, no está en blanco, incluso si no contiene ningún registro.Because the collection exists, it isn't blank, even if it doesn't contain any records. Para comprobar si existe una colección vacía, use IsEmpty en su lugar.To check for an empty collection, use IsEmpty instead. falsefalse
IsBlank( Mid( "Hello", 17, 2 ) )IsBlank( Mid( "Hello", 17, 2 ) ) El carácter inicial de Mid está más allá del final de la cadena.The starting character for Mid is beyond the end of the string. El resultado es una cadena vacía.The result is an empty string. truetrue
IsBlank( If( false, false ) )IsBlank( If( false, false ) ) Una función If sin ElseResult.An If function with no ElseResult. Como la condición es siempre false, esta función If siempre devuelve en blanco.Because the condition is always false, this If always returns blank. truetrue

IsEmptyIsEmpty

  1. Cree una aplicación desde el principio y agregue un control Botón.Create an app from scratch, and add a Button control.
  2. Establezca la propiedad OnSelect del botón en esta fórmula: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. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista previa.Preview your app, click or tap the button that you added, and then close Preview.

    Se crea una colección denominada IceCream con estos datos:A collection named IceCream is created and contains this data:

    Esta colección tiene dos registros y no está vacía.This collection has two records and isn't empty. IsEmpty( IceCream ) devuelve false y CountRows( IceCream ) devuelve 2.IsEmpty( IceCream ) returns false, and CountRows( IceCream ) returns 2.

  4. Agregue un segundo botón y establezca su propiedad AlSeleccionar en esta fórmula:Add a second button, and set its OnSelect property to this formula:

    Clear( IceCream )Clear( IceCream )

  5. Obtener una vista previa de la aplicación, haga clic o pulse en el segundo botón y luego cierre la vista previa.Preview your app, click or tap the second button, and then close Preview.

    Ahora, la colección está vacía:The collection is now empty:

    La función Clear quita todos los registros de una colección, lo que da lugar a una colección vacía.The Clear function removes all the records from a collection, resulting in an empty collection. IsEmpty( IceCream ) devuelve true y CountRows( IceCream ) devuelve 0.IsEmpty( IceCream ) returns true, and CountRows( IceCream ) returns 0.

También puede usar IsEmpty para comprobar si una tabla calculada está vacía, como muestran estos ejemplos:You can also use IsEmpty to test whether a calculated table is empty, as these examples show:

FórmulaFormula DescripciónDescription ResultadoResult
IsEmpty( [ 1, 2, 3 ] )IsEmpty( [ 1, 2, 3 ] ) La tabla de una columna contiene tres registros y, por lo tanto, no está vacía.The single-column table contains three records and, therefore, isn't empty. falsefalse
IsEmpty( [ ] )IsEmpty( [ ] ) La tabla de una columna no contiene registros y está vacía.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 ) ) La tabla de una columna no contiene valores que sean mayores que 5.The single-column table contains no values that are greater than 5. El resultado del filtro no contiene ningún registro y está vacío.The result from the filter doesn't contain any records and is empty. truetrue