Definir colunas de consolidação que agregam valores

As colunas de rollup ajudam os utilizadores a obter conhecimentos aprofundados a partir dos dados através da monitorização de métricas chave de negócio. Uma coluna de rollup contém um valor agregado calculado a partir das linhas associadas a uma linha específica. Isto inclui tabelas padrão e tabelas de atividades, tais como e-mails e compromissos.

Nos cenários mais complexos, pode agregar dados em toda a hierarquia de linhas. Enquanto administrador ou personalizador, pode definir colunas de rollup utilizando as ferramentas de personalização no Power Apps, sem precisar de escrever código.

Colunas de Rollup: Vantagens e Capacidades

As vantagens e as capacidades das colunas de rollup inclui:

  • A edição visual é fácil. Pode criar colunas de rollup utilizando o Editor de Colunas, exatamente como quando cria uma coluna normal.
  • Enorme seleção de funções agregadas. Pode agregar dados utilizando as seguintes funções: SUM, COUNT, MIN, MAX e AVG.
  • Suporte completo de filtragem para agregação. Pode definir mais filtros para a tabela de origem ou tabela relacionada para especificar várias condições.
  • Integração simplificada na interface de utilizador. Pode incluir colunas de rollup em formulários, visualizações, gráficos e relatórios.
  • As colunas de rollup são componentes da solução. Pode transportar facilmente as colunas rollup como componentes entre ambientes e distribuí-las em soluções.
  • As colunas de rollup e as colunas calculadas são complementares entre si. Pode utilizar uma coluna de rollup como parte da coluna calculada, e vice-versa.
  • É possível configurar colunas de rollup para utilizar controlos personalizados.

Alguns exemplos de colunas de rollup são:

  • Receita total estimada das oportunidades abertas de uma conta
  • A receita total estimada das oportunidades abertas em todas as contas numa hierarquia
  • Total de receitas estimadas de uma oportunidade incluindo oportunidades filhas
  • Valor total estimado das oportunidades qualificadas geradas por uma campanha
  • Número de incidentes abertos de prioridade alta através de todas as contas numa hierarquia
  • Hora de criação mais antiga de todos os casos abertos de alta prioridade de uma conta

Cada coluna de agregação cria duas colunas acessórias com o padrão de sufixo <nomecoluna>_date e <nomecoluna>_state. A coluna _date contém dados DateTime e a coluna _state contém dados de Número inteiro. A coluna _state tem os seguintes valores:

Value Distrito Description
0 Não Calculado O valor da coluna deve ser calculado ainda.
1 Calculado O valor da coluna foi calculado de acordo com a última hora da atualização na coluna _date.
2 OverflowError O cálculo do valor da coluna resultou em erro de capacidade excedida.
3 OtherError O cálculo do valor da coluna falhou devido a um erro interno. A próxima execução da tarefa de cálculo provavelmente irá corrigi-la.
4 Limite de Tentativas Excedido O cálculo do valor da coluna falhou porque o número máximo de tentativas de repetição para calcular o valor foi excedido devido ao elevado número de conflitos de concorrência e bloqueio.
5 LimiteDeRecursãoHierárquicaAtingido O cálculo do valor da coluna falhou porque o limite máximo da profundidade da hierarquia para o cálculo foi alcançado.
6 LoopDetected O cálculo do valor da coluna falhou porque um ciclo recursivo foi detetado na hierarquia de linha.
7 Moeda em falta O cálculo do valor da coluna falhou porque a moeda de campo necessária está em falta.

Cálculos de agregação

Os rollups são calculados por tarefas de sistema agendadas que são executadas de forma assíncrona em segundo plano. Tem de ser um administrador para ver e gerir tarefas de rollup.

Visualizar tarefas de agregação

Para ver tarefas de rollup:

  1. Inicie sessão no Power Apps e, em seguida, selecione o ambiente que pretende.
  2. Selecione Definições (engrenagem) >Definições avançadas.
  3. No painel de navegação esquerdo selecione Trabalhos de Sistema.
  4. No seletor de vistas, escolha Trabalhos Recorrentes do Sistema.
  5. Para encontrar rapidamente uma tarefa relevante, pode filtrar pelo Tipo de Tarefa do Sistema: Mass Calculate Rollup Field ou Calculate Rollup Field.

Calcular em Massa Campo de Rollup

Calcular em Massa Campo de Rollup é uma tarefa periódica, criada para cada coluna de rollup. É executada uma vez, após criar ou atualizar uma coluna de rollup. A tarefa recalcula o valor especificado da coluna de rollup em todos os registos existentes que contêm esta coluna. Por defeito, a tarefa será executada 12 horas após a criação ou atualização de uma coluna. Quando a coluna for modificada, a tarefa é reiniciada para ser executada novamente em 12 horas após a atualização. O atraso de 12 horas é necessário para garantir que o Campo de Acumulação de Cálculo em Massa seja executado durante as horas não operacionais do ambiente.

Recomendamos que um administrador ajuste a hora de início da tarefa Calcular Massivamente o Campo de Rollup depois da coluna de rollup ser criada ou modificada, de forma a que seja executada em horas não operacionais. Por exemplo, a meia-noite seria uma boa hora para executar a tarefa para assegurar o processamento eficiente das colunas de rollup.

Note que, quando ocorrer a situação em que a coluna de agregação nunca é atualizada, a tarefa Calcular em Massa o Campo de Agregação só será novamente executada para essa coluna após passarem 10 anos. Isto foi concebido para ser dessa forma. Quando não existem atualizações nas colunas subjacentes associadas ao campo de rollup, não há motivo para executar a tarefa com mais frequência.

Calcular o Campo de Enrolamento

Calcular Campo de Rollup é uma tarefa periódica que efetua cálculos incrementais de todas as colunas de rollup nas linhas existentes de uma tabela especificada. Existe apenas uma tarefa Calcular Campo de Rollup por tabela. Os cálculos incrementais significam que a tarefa Calcular Campo de Rollup processa as linhas que foram criadas, atualizadas ou eliminadas após a última tarefa de Calcular em Massa Campo de Rollup ter terminado a execução. A definição mínima de periodicidade predefinida é a hora. A tarefa é criada automaticamente quando a primeira coluna de rollup numa tabela é criada e eliminada quando a última coluna de rollup é eliminada.

Opção online de recálculo

A coluna de agregação no formulário exibe uma imagem de calculadora, o valor agregado e a hora do último cálculo. Para recalcular, selecione a imagem da calculadora e, em seguida, selecione o botão Recalcular que é apresentado.

Coluna de agregação no formulário de conta.

Há algumas considerações que deve ter em mente ao utilizar a opção de recálculo online (atualização manual no formulário):

  • Deve ter privilégios de escrita na tabela e direitos de acesso de escrita na linha de origem onde está a pedir a atualização. Por exemplo, se estiver a calcular a receita estimada das oportunidades em aberto de uma conta, não tem de ter privilégios de escrita na tabela de oportunidades, apenas na tabela de conta.
  • Esta opção só está disponível no modo online. Não a pode utilizar para trabalhar offline.
  • O número máximo de linhas durante a atualização de rollup está limitado a 50.000 linhas. No caso de um "rollup" hierárquico, isto aplica-se às linhas relacionadas em toda a hierarquia. Se o limite for excedido, verá uma mensagem de erro: Não é possível executar os cálculos online porque o limite de cálculo de 50.000 linhas relacionadas foi alcançado. Este limite não se aplica quando o rollup é recalculado automaticamente pelas tarefas do sistema.
  • A profundidade da hierarquia está limitada a 10 para a linha de origem. Se o limite for excedido, verá uma mensagem de erro: Não é possível executar os cálculos online porque o limite de profundidade da hierarquia de 10 para a linha de origem foi alcançado. Este limite não se aplica quando o rollup é recalculado automaticamente pelas tarefas do sistema.

Modificar a periodicidade de tarefa de rollup

Como administrador de sistema, pode modificar o padrão de periodicidade de tarefas de rollup, adiá-lo, colocar em pausa ou retomar uma tarefa de rollup. No entanto, não é possível cancelar ou eliminar uma tarefa rollup.

Para colocar em pausa, adiar, retomar ou modificar o padrão de periodicidade, tem de ver as tarefas do sistema. Mais informações: Ver tarefas de Rollup

Na barra de nav, selecione Ações e selecione a ação pretendida.

Para a tarefa Calcular em Massa Campos de Rollup, as seleções disponíveis são: Retomar, Adiar e Colocar em Pausa.

Para a tarefa Calcular Campo Rollup, as seleções disponíveis são: Modificar Recorrência, Retomar, Adiar e Pausar.

Exemplos

Vamos ver vários exemplos de colunas de agregação. Vamos agregar dados para uma linha a partir das linhas relacionadas, com e sem a utilização de uma hierarquia. Também iremos agregar dados para uma linha a partir de atividades relacionadas e atividades indiretamente relacionadas com uma linha através da tabela ActivityParty. Em cada exemplo, vamos definir a coluna rollup utilizando o Editor de Colunas. Para abrir o Editor de Colunas, abra o explorador de soluções e expanda Componentes>Tabelas. Selecione a tabela pretendida e selecione Colunas. Escolha Novo. No editor, forneça as informações necessárias para a coluna, incluindo Tipo de Coluna e Tipo de Dados. Em Tipo de Coluna, selecione Rollup, após ter selecionado o tipo de dados. Tipos de dados incluem a vírgula ou os números inteiros, moeda, e a data/hora. Selecione o botão Editar junto de Tipo de Coluna. Isto leva-o para o editor de definição da coluna de rollup. A definição da coluna de rollup consiste em três secções: Tabela de origem, **Tabela relacionada e Agregação.

  • Na secção de Tabela de origem, tem de especificar a tabela para a qual a coluna de totalização é definida e se agrega ou não em uma hierarquia. Pode adicionar filtros com várias condições para especificar as linhas na hierarquia que pretende utilizar para rollup.

  • Na secção de Tabela relacionada, deve especificar a tabela em que fazer a agregação. Esta secção é opcional, quando escolhe o rollup da hierarquia na tabela de origem. Pode adicionar filtros com várias condições para especificar as linhas relacionadas a utilizar no cálculo. Por exemplo, está a incluir os rendimentos das oportunidades abertas com um rendimento anual superior a 1.000€.

  • Na secção de Agregado, especifique a métrica pretende computar. Pode escolher funções agregadas disponíveis, tais como a SUM, COUNT, MIN, MAX ou AVG.

Neste exemplo, uma hierarquia não é utilizada. A receita total estimada é calculada para uma conta, a partir das oportunidades abertas relacionadas.

Agregar a receita estimada para uma conta.

Agregar dados para uma linha a partir das linhas subordinadas, na hierarquia

Neste exemplo, calculamos a receita estimada total de uma oportunidade, incluindo as oportunidades subordinadas, ao longo da hierarquia.

Agrupar a receita estimada, hierarquização das oportunidades.

Neste exemplo, vamos calcular a receita estimada total das oportunidades abertas em todas as contas, na hierarquia.

Agregar a receita estimada através da hierarquia de contas.

Neste exemplo, vamos calcular o tempo total despendido e faturado por todas as atividades relacionadas com uma conta. Isto poderá incluir o tempo despendido ao telefone, em compromissos ou em atividades personalizadas.

Nas versões anteriores, era possível definir uma coluna de rollup para uma atividade individual, como uma chamada telefónica, fax, ou compromisso. No entanto, para alcançar o resultado do exemplo mostrado abaixo, tem de calcular o total dos dados utilizando as colunas calculadas. Agora, pode fazer tudo isto num só passo definindo uma coluna de rollup para a tabela Atividade.

Consolidar todas as atividades de uma conta.

Neste exemplo, contamos o número total de e-mails enviados para uma conta, em que a conta está listada na linha do destinatário "Para" ou na linha do destinatário "Cc" do e-mail. Isto é efetuado especificando o Tipo de Participação em FILTROS para a tabela Parte de Atividade na definição da coluna de agregação. Se não utilizar a filtragem, todos os tipos de participação disponíveis para uma atividade são utilizados para o cálculo.

Para mais informações sobre a tabela Parte de Atividade e os tipos de participação disponíveis para uma atividade específica, consulte Tabela ActivityParty.

Atividades relacionadas com rollup e entidade da atividade.

Neste exemplo, vamos calcular uma receita média estimada a partir de todas as oportunidades relacionadas com uma conta.

Receita média estimada no Dynamics 365.

O exemplo seguinte mostra como calcular uma receita média estimada a partir das oportunidades relacionadas de uma hierarquia de contas. É possível ver uma receita média estimada em cada nível na hierarquia.

Média estimada da receita na hierarquia do Dynamics 365.

Considerações sobre a coluna de rollup

Deverá estar ciente de determinadas condições e restrições quando trabalhar com as colunas de rollup:

  • Por predefinição, pode definir um máximo de 200 colunas de rollup para o ambiente e até 50 colunas de rollup por tabela. Mais informações: Definir o número máximo de colunas de rollup num ambiente ou tabela
  • Um fluxo de trabalho não pode ser acionado por atualizações na coluna de rollup.
  • Uma condição de espera de fluxo de trabalho não pode utilizar uma coluna de rollup.
  • Não é suportado um recurso de rollup sobre uma coluna de rollup.
  • Um rollup não pode referenciar uma coluna calculada que utiliza outra coluna calculada, mesmo quando todas as colunas da outra coluna calculada estão na tabela atual.
  • Uma coluna de rollup não é atualizada automaticamente se utilizar uma coluna de fórmula que dependa de funções com limites de tempo, tais como Now() e IsUTCToday(). Para calcular o valor mais recente da coluna agregada, deve ser utilizada a opção online de recálculo (uma atualização manual no formulário) ou o botão Recalcular.
  • O rollup só pode aplicar filtros à tabela de origem ou as tabelas relacionadas, colunas simples ou colunas calculadas não complexas.
  • Uma rollup pode ser feita apenas sobre tabelas relacionadas com uma relação de 1:N. A agregação não pode ser efetuada sobre relações N:N.
  • Um rollup não pode ser efetuado sobre a relação 1:N para a tabela Atividade ou para a tabela Parte de Atividade.
  • As regras de negócio, os fluxos de trabalho ou colunas calculadas utilizam sempre o último valor calculado da coluna de agregação.
  • Uma coluna de rollup é agregada no contexto do utilizador de sistema. Todos os utilizadores podem ver o mesmo valor da coluna de rollup. Pode controlar a visibilidade da coluna de rollup com a segurança de nível de coluna (FLS), restringindo quem pode aceder à coluna de rollup. Mais informações Segurança ao nível da coluna para controlar o acesso.

Defina o número máximo de colunas de rollup num ambiente ou tabela

Por predefinição, pode definir um máximo de 200 colunas de rollup para o ambiente e até 50 colunas de rollup por tabela.

Para alterar os máximos, siga estes passos:

  1. Aceda a Power Apps (make.powerapps.com), selecione Tabela no painel de navegação esquerdo e, em seguida, abra a tabela Organização.
  2. Selecione a coluna nmais e, em seguida, digite maxr na caixa Pesquisar. Selecione as colunas MaxRollupFieldsPerOrg e MaxRollupFieldsPerEntity e, em seguida, selecione Guardar. Selecione colunas de rollup máximas para aumentar os valores
  3. Altere os valores de MaxRollupFieldsPerOrg (até 200) e MaxRollupFieldsPerEntity (até 50) pretendidos.

Important

Ter mais de 100 colunas de rollup para um ambiente pode resultar num desempenho degradado das colunas de rollup e num consumo de armazenamento superior.

Arredondamento de precisão

Se a precisão da coluna agregada for superior à precisão da coluna de acumulação, a precisão da coluna agregada é arredondada para a precisão da coluna de acumulação, antes da agregação ser efetuada. Para ilustrar este comportamento, vamos ver um exemplo específico. Suponhamos que a coluna de acumulação na tabela de contas, para calcular o total de receita estimada das oportunidades relacionadas, tenha uma precisão até duas casas decimais. A Estimativa A coluna de receita na tabela de oportunidades é a coluna agregada com precisão até quatro casas decimais. No nosso exemplo, a conta tem duas oportunidades associadas. A soma total da receita estimada é calculada da seguinte forma:

  1. Est. Receita para a primeira oportunidade: 1.000,0041 $
  2. Est. Receita da segunda oportunidade: 2.000,0044 $
  3. Soma agregada da Estimativa Receita: $1000,00 + $2000,00 = $3000,00

Como pode constatar, o arredondamento de precisão para duas casas decimais na coluna agregada é efetuado antes da agregação ser executada.

Comportamento diferente das grelhas associadas

Certos formulários de tabela, por padrão, como Conta ou Contacto, incluem as grelhas associadas. Por exemplo, um formulário de conta inclui contactos, casos, oportunidades e outras grelhas. Algumas das linhas mostradas nas grelhas do formulário de conta estão relacionadas diretamente à linha de conta; outras, indiretamente, através das relações com outras linhas. Em comparação, a agregação da coluna de rollup utiliza apenas relações diretas definidas explicitamente na definição da coluna de rollup. Nenhuma outra relação é considerada. Para ilustrar a diferença de comportamento, vamos ver o seguinte exemplo.

  1. A conta A1 tem um contacto principal, P1. O caso C1 está associado à conta A1 (coluna C1.Customer = A1) e o caso C2 está associado ao contacto P1 (coluna C2.Customer = P1).
  2. A grelha Casos no formulário Conta da linha A1 mostra dois casos, C1 e C2.
  3. A coluna de totalização na tabela de contas, com o título de Número Total de Casos, serve para contabilizar os casos associados à conta.
  4. Na definição da coluna de resumo da conta, especificamos os casos que têm a relação de Cliente com a conta. Depois de agregação, o número total de incidentes é igual a 1 (C1 incidente). O caso C2 não está incluído no total, porque está relacionado diretamente com o contacto, e não à conta, e não pode ser definido explicitamente na definição da coluna de agregação da conta. Como resultado, o número total de casos devolvidos pela operação de rollup não corresponde ao número de casos mostrados na grelha Casos.

Ver também

Criar e editar colunas
Definir colunas calculadas
Colunas especializadas
Comportamento e formato da coluna Data e Hora
Definir e consultar dados hierárquicos relacionados