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 = Tabela com duas colunas e quatro linhas.

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. Tabela de produtos.

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. Tabela com última linha 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. Tabela com apenas 3 linhas.

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).