Funções Concat e Concatenate no Power Apps
Concatena cadeias individuais de texto e cadeias em tabelas.
Descrição
A função Concatenate concatena uma mistura de cadeias individuais e uma tabela de coluna única de cadeias. Quando utiliza esta função com cadeias individuais, é equivalente a utilizar o operador &.
A função Concat concatena o resultado de uma fórmula aplicado a todos os registos de uma tabela, o que resulta numa cadeia única. Utilize esta função para resumir as cadeias de uma tabela, tal como a função Sum o faz para os números.
Os atuais campos do registo em processamento estão disponíveis na fórmula. Utilize o operador ThisRecord ou simplesmente campos de referência pelo nome, como com qualquer outro valor. O operador As também pode ser usado para nomear o registo que está a ser processado, o que pode ajudar a tornar a sua fórmula mais fácil de compreender e tornar os registos aninhados acessíveis. Para mais informações, consulte os exemplos abaixo e trabalhar com o âmbito de registo.
Utilize a função Split ou a função MatchAll para dividir uma cadeia numa tabela de subcadeias.
Sintaxe
Concat( Tabela, Fórmula, separador)
- Table – Obrigatório. Tabela a ser utilizada.
- Formula – Obrigatório. Fórmula a aplicar aos registos da tabela.
- Separador - Opcional. Um valor de texto a inserir entre linhas concatenadas da tabela.
Concatenate( Cadeia1 [, Cadeia2,...] )
- Cadeia(s) – necessário. Combinação de cadeias individuais ou uma tabela de coluna única de cadeias.
Exemplos
Os exemplos nesta secção utilizam estas variáveis globais:
- FirstName = "Jane"
- LastName = "Doe"
- Produtos =

Para criar estas variáveis globais numa aplicação, introduza um controlo Button e defina a respetiva propriedade OnSelect com esta fórmula:
Set( FirstName, "Jane" ); Set( LastName, "Doe" );
Set( Products,
Table(
{ Name: "Violin", Type: "String" },
{ Name: "Cello", Type: "String" },
{ Name: "Trumpet", Type: "Wind" }
)
)
Selecione o botão (ao clicar nele enquanto mantém premida a tecla Alt).
Função Concatenate e o operador &
Para estes exemplos, defina a propriedade Text e um controlo Label para uma fórmula a partir da primeira coluna da tabela seguinte.
| Fórmula | Descrição | Resultado |
|---|---|---|
| Concatenate( LastName, ", ", FirstName ) | Concatena o valor em LastName, a cadeia de caracteres ", " (uma vírgula seguida por um espaço) e o valor em FirstName. | "Doe, Jane" |
| LastName & ", " & FirstName | Igual ao exemplo anterior, exceto utilizando o operador & em vez da função. | "Doe, Jane" |
| Concatenate( FirstName, " ", LastName ) | Concatena o valor em FirstName, a cadeia de caracteres " " (um único espaço) e o valor em LastName. | "Jane Doe" |
| FirstName & " " & LastName | Igual ao exemplo anterior, utilizando o operador & em vez da função. | "Jane Doe" |
Concatene com uma tabela de coluna única
Para este exemplo, adicione um controlo Gallery vertical em branco, defina a respetiva propriedade Items como a fórmula na tabela seguinte e, em seguida, adicione uma etiqueta no modelo de galeria.
| Fórmula | Descrição | Resultado |
|---|---|---|
| Concatenate( "Name: ", Products.Name, ", Type: ", Products.Type ) | Para cada registo na tabela Products, concatena a cadeia de caracteres "Name: ", o nome do produto, a cadeia de caracteres ", Type: " e o tipo de produto. | ![]() |
Função Concat
Para estes exemplos, defina a propriedade Text de uma etiqueta como uma fórmula a partir da primeira coluna da tabela seguinte.
| Fórmula | Descrição | Resultado |
|---|---|---|
| Concat( Products, Name & ", " ) | Avalia a expressão Name & ", " para cada registo de Produtos e concatena os resultados em conjunto numa única cadeia de texto. | "Violin, Cello, Trumpet, " |
| Concat( Filter( Products, Type = "String" ), Name & ", " ) | Avalia a fórmula Name & ", " para cada registo de Products que satisfaz o filtro Type = "String" e concatena os resultados numa única cadeia de texto. | "Violin, Cello, " |
Recortar o final
Os dois últimos exemplos incluem um ", " extra no final do resultado. A função acrescenta uma vírgula e um espaço ao valor Name de cada registo na tabela, incluindo o último registo.
Em alguns casos, estes caracteres extra não são importantes. Por exemplo, um separador de espaçamento simples não aparece se mostrar o resultado numa etiqueta. Se pretende remover estes caracteres extra, utilize a função Left ou Match.
Para estes exemplos, defina a propriedade Text de uma etiqueta como uma fórmula a partir da primeira coluna da tabela seguinte.
| Fórmula | Descrição | Resultado |
|---|---|---|
| Left( Concat( Products, Name & ", " ), Len( Concat( Products, Name & ", " ) ) - 2 ) | Devolve o resultado de Concat, mas remove os dois últimos caracteres, que formam o separador estranho. | "Violin, Cello, Trumpet" |
| Match( Concat( Products, Name & ", " ), "^(?<trim>.*), $" ).trim | Devolve os caracteres de Concat a partir do início da cadeia de texto (^) até ao fim ($), mas não inclui a vírgula e o espaço indesejados no fim. | "Violin, Cello, Trumpet" |
Split e MatchAll
Se utilizou Concat com um separador, pode inverter a operação ao combinar as funções Split e MatchAll.
Para estes exemplos, adicione uma galeria vertical em branco, defina a respetiva propriedade Items como uma fórmula na tabela seguinte e, em seguida, adicione uma etiqueta no modelo de galeria.
| Fórmula | Descrição | Resultado |
|---|---|---|
| Split( Concat( Products, Name & ", " ), ", " ) | Divide a cadeia de texto com o separador ", ". A cadeia termina com uma vírgula e espaço, pelo que a última linha no resultado é uma cadeia vazia. | ![]() |
| MatchAll( Concat( Products, Name & ", " ), "[^\s,]+" ).FullMatch | Divide a cadeia de texto com base em caracteres que não sejam espaços ou vírgulas. Esta fórmula remove a vírgula e espaço extra no final da cadeia. | ![]() |
Nota
Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)
O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).
Comentários
Enviar e exibir comentários de


