Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
| Função | Aplica-se a |
|---|---|
| GroupBy |
|
| Ungroup |
|
Agrupa e desagrupa registros de uma tabela.
Description
A GroupBy função retorna uma tabela com registros agrupados com base nos valores em uma ou mais colunas. Os registros de um mesmo grupo são incluídos em um único registro junto com uma coluna que contém uma tabela aninhada das colunas restantes.
A Ungroup função inverte o GroupBy processo. Essa função retorna uma tabela, separando todos os registros agrupados.
Você pode agrupar registros usando GroupBy, modificar a tabela retornada e desagrupar registros na tabela modificada usando Ungroup. Por exemplo, você pode usar a seguinte abordagem para remover um grupo de registros:
- Use a GroupBy função.
- Use a função Filter para remover o grupo de registros inteiro.
- Use a Ungroup função.
Você também pode agregar resultados com base em um agrupamento:
- Use a GroupBy função.
- Use a função AddColumns com Sum, Average e outras funções de agregação para adicionar uma nova coluna que é uma agregação das tabelas do grupo.
- Use a função DropColumns para remover a tabela do grupo.
Ungroup tenta preservar a ordem original dos registros que foram alimentados para GroupBy. Isso nem sempre é possível (por exemplo, se a tabela original contiver registros em branco).
Uma tabela é um valor no Power Apps, assim como uma cadeia de caracteres ou um número. Você pode especificar uma tabela como um argumento para uma função, e uma função pode retornar uma tabela. GroupBy e Ungroup não modifique uma tabela; em vez disso, eles tomam uma tabela como um argumento e retornam uma tabela diferente. Consulte Trabalhando com tabelas para obter mais detalhes.
Observação
Antes da versão 3.24042 do Power Apps, os nomes das colunas eram especificados com uma cadeia de texto usando aspas duplas e, se conectados a uma fonte de dados também precisavam ser nomes lógicos. Por exemplo, o nome lógico "cr43e_name" entre aspas duplas foi usado em vez do nome de exibição Name sem aspas. Para fontes de dados do SharePoint e do Excel que contêm nomes de colunas com espaços, cada espaço foi especificado com "_x0020_", por exemplo "Nome da coluna" como "Column_x0020_Name". Após esta versão, todos os aplicativos foram atualizados automaticamente para a nova sintaxe descrita neste artigo.
Sintaxe
GroupBy( Table, ColumnName1 [, ColumnName2, ... ], GroupColumnName )
- Tabela - Obrigatório. A tabela a ser agrupada.
- ColumnNames - Obrigatório. Os nomes de coluna em Table pelos quais os registros são agrupados. Essas colunas são transformadas nas colunas da tabela resultante.
- GroupColumnName - Obrigatório. O nome da coluna para o armazenamento de dados de registro que não está em ColumnName(s).
Ungroup( Table, GroupColumnName )
- Tabela - Obrigatório. A tabela a ser desagrupada.
- GroupColumnName - Obrigatório. A coluna que contém a configuração de dados de registro com a GroupBy função.
Exemplos
Criar uma coleção
- Adicione um botão e defina sua propriedade Text para que ele mostre Original.
- Defina a propriedade OnSelect do botão Original com esta fórmula:
ClearCollect( CityPopulations,
{ City: "London", Country: "United Kingdom", Population: 8615000},
{ City: "Berlin", Country: "Germany", Population: 3562000},
{ City: "Madrid", Country: "Spain", Population: 3165000},
{ City: "Rome", Country: "Italy", Population: 2874000},
{ City: "Paris", Country: "France", Population: 2273000},
{ City: "Hamburg", Country: "Germany", Population: 1760000},
{ City: "Barcelona", Country: "Spain", Population: 1602000},
{ City: "Munich", Country: "Germany", Population: 1494000},
{ City: "Milan", Country: "Italy", Population: 1344000}
)
Enquanto mantém pressionada a tecla Alt, selecione o botão Original.
Você acaba de criar uma coleção, chamada CityPopulations, que contém estes dados:
Para exibir essa coleção, selecione Coleções no menu Arquivo e, em seguida, a coleção CityPopulations. Os cinco primeiros registros da coleção são exibidos:
Agrupar registros
Adicione outro botão e defina sua propriedade Text como "Group".
Defina a propriedade OnSelect desse botão com esta fórmula:
ClearCollect( CitiesByCountry, GroupBy( CityPopulations, Country, Cities )
Enquanto mantém pressionada a tecla Alt, selecione o botão Grupo.
Você acaba de criar uma coleção, chamada CitiesByCountry, na qual os registros da coleção anterior foram agrupados pela coluna Country.
Para exibir os cinco primeiros registros desta coleção, selecione Coleções no menu Arquivo.
Para exibir as populações das cidades de um país/região, selecione o ícone de tabela na coluna Cidades desse país/região (por exemplo, Alemanha):
Filtrar e desagrupar registros
Adicione outro botão e defina sua propriedade Text para que ele mostre "Filter".
Defina a propriedade OnSelect desse botão com esta fórmula:
ClearCollect(CidadesPorPaísFiltrado, Filtro(CidadesPorPaís, "e" em País))
Enquanto mantém pressionada a tecla Alt, selecione o botão que você adicionou.
Você acaba de criar uma terceira coleção, chamada CitiesByCountryFiltered, que inclui apenas os países que possuem a letra "e" em seus nomes (ou seja, Spain e Italy não foram incluídos nela).
Adicione mais um botão e defina sua propriedade Text para que o botão mostre "Ungroup".
Defina a propriedade OnSelect desse botão com esta fórmula:
ClearCollect( CityPopulationsUngrouped, Ungroup( CitiesByCountryFiltered, Cities )
Que resulta em:
Agregar resultados
Outra operação que podemos realizar em uma tabela agrupada é compilar os resultados. Neste exemplo, somaremos a população das principais cidades de cada país/região.
Adicione outro botão e defina sua propriedade Text para que ele mostre "Sum".
Defina a propriedade OnSelect do botão "Sum" com esta fórmula:
ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, 'Soma das populações das cidades', Sum( Cidades, População ) ) )
Que resulta em:
AddColumns começa com a coleção base CitiesByCountry e adiciona uma nova coluna Soma das Populações da Cidade. Os valores dessa coluna são calculados linha a linha com a fórmula Sum( Cities, Population ). AddColumns fornece o valor da coluna Cities (uma tabela) para cada linha, e Sum soma a Population para cada linha desta subtabela.
Agora que temos a soma, podemos usar DropColumns para remover as subtabelas.
Adicione outro botão e defina a propriedade Text para que ele mostre "SumOnly".
Defina a propriedade OnSelect do botão "SumOnly" para esta fórmula:
ClearCollect(CityPopulationsSumOnly, DropColumns(CityPopulationsSum, Cidades))
Que resulta em:
Observe que não foi necessário desagrupar esta tabela.