Funciones Concat y Concatenate de Power Apps

Concatena cadenas de texto individuales y cadenas en tablas.

Descripción

La función Concatenate concatena una combinación de cadenas individuales y una tabla de cadenas con una sola columna. Cuando se usa esta función con cadenas individuales, es equivalente a usar el operador &.

La función Concat concatena el resultado de una fórmula que se aplica en todos los registros de una tabla, lo que genera una sola cadena. Use esta función para resumir las cadenas de una tabla, tal como hace la función Sum para los números.

Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Use el operador ThisRecord o simplemente haga referencia a los campos por nombre como lo haría con cualquier otro valor. El operador As también se puede usar para nombrar el registro que se está procesando, lo que puede ayudar a que su fórmula sea más fácil de entender y hacer accesibles los registros anidados. Para obtener más información, vea los ejemplos siguientes y trabajar con el ámbito de registros.

Use la función Split o MatchAll para dividir una cadena en una tabla de subcadenas.

Sintaxis

Concat( Table, Formula, separator)

  • Table (obligatorio). La tabla sobre la cual se opera.
  • Formula (obligatorio). Fórmula para aplicar en todos los registros de la tabla.
  • Separador: opcional. Un valor de texto que se insertará entre filas concatenadas de la tabla.

Concatenate( String1 [, String2, ...] )

  • String(s): requerido. Combinación de cadenas individuales o una tabla de cadenas de una columna.

Ejemplos

Los ejemplos de esta sección usan estas variables globales:

  • FirstName = "Jane"
  • LastName = "Doe"
  • Productos = Tabla con dos columnas y cuatro filas.

Para crear estas variables globales en una aplicación, inserte un control Button y establezca su propiedad OnSelect en esta fórmula:

Set( FirstName, "Jane" ); Set( LastName, "Doe" );
Set( Products,
    Table(
        { Name: "Violin", Type: "String" },
        { Name: "Cello", Type: "String" },
        { Name: "Trumpet", Type: "Wind" }
    )
)

Seleccione el botón (haciendo clic en él mientras mantiene la tecla Alt presionada).

Función Concatenate y el operador &

En estos ejemplos, establezca la propiedad Text de un control Label en una fórmula desde la primera columna de la siguiente tabla.

Fórmula Descripción Resultado
Concatenate( LastName, ", ", FirstName ) Concatena el valor de LastName, la cadena "," (una coma seguida de un espacio) y el valor de FirstName. "Doe, Jane"
LastName & ", " & FirstName Igual que en el ejemplo anterior, excepto el uso del operador & en lugar de la función. "Doe, Jane"
Concatenate( FirstName, " ", LastName ) Concatena el valor de FirstName, la cadena " " (un espacio) y el valor de LastName. "Jane Doe"
FirstName & " " & LastName Igual que en el ejemplo anterior, salvo por el uso del operador & en lugar de la función. "Jane Doe"

Concatenación con una tabla de una sola columna

En este ejemplo, agregue un control Gallery vertical en blanco, establezca su propiedad Items en la fórmula en la siguiente tabla y luego agregue una etiqueta en la plantilla de la galería.

Fórmula Descripción Resultado
Concatenate( "Name: ", Products.Name, ", Type: ", Products.Type ) Para cada registro de la tabla Products, concatena la cadena "Name: ", el nombre del producto, la cadena ", Type: " y el tipo de producto. Tabla de productos.

Función Concat

En estos ejemplos, establezca la propiedad Text de una etiqueta en una fórmula desde la primera columna de la siguiente tabla.

Fórmula Descripción Resultado
Concat( Products, Name & ", " ) Evalúa la expresión. Name & ", " para cada registro de Products y concatena todos los resultados en una sola cadena de texto. "Violin, Cello, Trumpet, "
Concat( Filter( Products, Type = "String" ), Name & ", " ) Evalúa la fórmula Name & ", " para cada registro de Products que satisface el filtro Type = "String" y concatena los resultados en una sola cadena de texto. "Violin, Cello, "

Recortar el final

Los dos últimos ejemplos incluyen "," al final del resultado. La función agrega una coma y un espacio al valor Name de cada registro de la tabla, incluido el último.

En algunos casos, estos caracteres adicionales no importan. Por ejemplo, un separador de espacio único no aparece si se muestra el resultado en una etiqueta. Si desea eliminar estos caracteres adicionales, use la función Left o Match.

En estos ejemplos, establezca la propiedad Text de una etiqueta en una fórmula desde la primera columna de la siguiente tabla.

Fórmula Descripción Resultado
Left( Concat( Products, Name & ", " ), Len( Concat( Products, Name & ", " ) ) - 2 ) Devuelve el resultado de Concat, pero elimina los dos últimos caracteres, que forman el separador extraño. "Violin, Cello, Trumpet"
Match( Concat( Products, Name & ", " ), "^(?<trim>.*), $" ).trim Devuelve los caracteres de Concat desde el principio de la cadena de texto (^) hasta el final ($) pero no incluye la coma y el espacio no deseados al final. "Violin, Cello, Trumpet"

Split y MatchAll

Si usó Concat con un separador, puede revertir la operación combinando las funciones Split y MatchAll.

En estos ejemplos, agregue una galería vertical en blanco, establezca su propiedad Items en la fórmula en la siguiente tabla y luego agregue una etiqueta en la plantilla de la galería.

Fórmula Descripción Resultado
Split( Concat( Products, Name & ", " ), ", " ) Divide la cadena de texto con el separador ", ". La cadena termina con una coma y un espacio, por lo que la última fila del resultado es una cadena vacía. Tabla con la última fila vacía.
MatchAll( Concat( Products, Name & ", " ), "[^\s,]+" ).FullMatch Divide la cadena de texto en función de los caracteres que no son espacios o comas. Esta fórmula elimina la coma y el espacio extra al final de la cadena. Tabla con solo 3 filas.

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).