Partilhar via


Criar um campo de rollup para valores agregados

Este tópico aplica-se ao Dynamics 365 Customer Engagement (on-premises). Para a versão Power Apps deste tópico, consulte: Definir campos de rollup no Power Apps

Os campos de rollup foram concebidos para ajudar os utilizadores a obter conhecimentos aprofundados a partir de dados através da monitorização de métricas-chave de negócio. Um campo de rollup contém um valor agregado calculado sobre os registos relacionados com um registo específico, como as oportunidades em aberto de uma conta. Também é possível agregar dados a partir das atividades diretamente relacionadas com um registo, como mensagens de correio eletrónico e compromissos, e atividades indiretamente relacionadas com um registo através da entidade Parte de Atividade. Nos cenários mais complexos, pode agregar dados na hierarquia de registos. Enquanto administrador ou personalizador, pode definir campos de rollup utilizando a funcionalidade, sem precisar de um programador para escrever código.

Vantagens e capacidades dos campos de rollup

As vantagens e as capacidades dos campos de rollup inclui o seguinte:

  • O visual fácil. Pode criar os campos de rollup utilizando o editor de campo, exatamente como quando cria um campo regular.

  • Enorme seleção de funções agregadas. Pode agregar dados utilizando as seguintes funções: SUM, COUNT, MIN, MAX e AVG.

  • Cópia de segurança completa de filtragem para a agregação. Pode definir mais filtros para a entidade de origem ou entidade relacionada para especificar várias condições.

  • Integração simplificada na interface de utilizador. Pode incluir campos de rollup em formulários, vistas, gráficos e relatórios em.

  • Os campos de rollup são componentes da solução. Pode transportar facilmente os campos de rollup como componentes entre organizações e distribuí-los em soluções.

  • Os campos de rollup e os campos são calculados complementares entre si. Pode utilizar um campo de rollup como parte do campo calculado, e vice-versa.

    Alguns exemplos dos campos de rollup são:

  • O total calculado receitas das oportunidades em aberto a partir de uma conta

  • O total calculado receitas das oportunidades abertas através de todas as contas numa hierarquia

  • O total calculado receitas de uma oportunidade que inclua oportunidades subordinadas

  • O total o valor calculado oportunidades potenciais qualificadas geradas por uma campanha

  • Número de incidentes abertos de prioridade alta através de todas as contas numa hierarquia

  • Ao criar a anterior de todos os incidentes abertos prioritários para uma conta

Cada campo de Rollup cria dois campos acessórios com o padrão de sufixo <fieldname>_date e <fieldname>_state. O campo do _date é do tipo de dados Datetime e o campo de _state é do tipo de dados de número inteiro.

O campo _date é um campo criado pelo sistema, que é usado para armazenar a última data e hora em que o valor de um campo de rollup foi calculado.

O campo _state tem os seguintes valores:

Estado Description
0 => NotCalculated O valor do campo deve ser calculada ainda em.
1 => Calculated O valor do campo foi calculado pela última vez o _date no campo.
2 => OverflowError Cálculo do valor do campo originou ao erro de excedido.
3 => OtherError O cálculo do valor do campo falhouy devido a um erro interno. A seguinte execução da tarefa de cálculo fixá-la-á provável.
4 => RetryLimitExceeded Cálculo do valor do campo falhou porque o número máximo de tentativas de tentativas de calcular o valor foi excedido devido ao número elevado de conflitos e concorrência de bloqueio.
5 => HierarchicalRecursionLimitReached Cálculo do valor do campo falhou porque o limite máximo da profundidade da hierarquia para o cálculo foi alcançado.
6 => LoopDetected Cálculo do valor do campo falhou porque um ciclo recursivo foi detetado na hierarquia de registo.

Cálculos de Rollup

Os update rollups são calculados pelas tarefas de sistema agendadas executados de modo assíncrono em segundo plano. Tem de ser um administrador para ver e gerir tarefas de rollup. Para ver as tarefas de rollup aceda a Definições>Tarefas de Sistema>Ver>Tarefas de Sistema Periódicas. Para localizar rapidamente uma tarefa relevante, poderá filtrar pela tarefa de sistema: Reuna-se calculam o campo de Rollup ou calculam o campo de Rollup.

  • Calcular em Massa Campo de Rollup é uma tarefa periódica, criada por um campo de rollup. É executado assim, depois de ter criado ou atualizado um campo de rollup. A tarefa recalcula o valor especificado do campo de rollup em todos os registos existentes que contêm este campo. Por predefinição, a tarefa será executado 12 horas depois de ter criado ou atualizado um campo. Quando a tarefa estiver concluída, está agendada para ser executado automaticamente no futuro, distante, aproximadamente 10 anos em. Se o campo for modificado, as restaurações de tarefa a executar novamente em 12 horas após a atualização. O atraso de 12 horas é necessário para garantir que Calcular em Massa Campo de Rollup é executado durante as horas não operacionais da organização. Recomendamos que um administrador define as horas de início da tarefa Calcular em Massa Campo de Rollup depois do campo de rollup ser criado ou modificado, de modo a que seja executado em hora não operacionais. Por exemplo, a meia-noite seria uma boa hora para executar a tarefa para assegurar o processamento eficiente dos campos de rollup.

  • Calcular Campo de Rollup é uma tarefa periódica que efetua cálculos incrementais de todos os campos de rollup nos registos existentes para uma entidade especificada. Existe apenas uma tarefa Calcular Campo de Rollup por entidade. Os cálculos incrementais significam que a tarefa Calcular Campo de Rollup processa os registos que foram criados, actualizados ou eliminados após a última tarefa de Calcular em Massa Campo de Rollup ter terminado a execução. O definir máximo de periodicidade predefinida é a hora. A tarefa é criada automaticamente quando o primeiro campo de rollup numa entidade é criada e eliminado enquanto o último campo de rollup é eliminado.

  • Opção online de recálculo. Se pairar o cursor do rato sobre o campo de rollup no formulário, pode ver a hora do último rollup e poderá atualizar o valor do rollup selecionando o ícone Atualizar junto ao campo, conforme mostrado abaixo:

    Campo de rollup no formulário de conta no Dynamics 365 for Customer Engagement.

    Há algumas considerações que tem de se manter em mente, para utilizar a opção online de recálculo o livro (atualizar no formulário):

    • Tem de ter privilégios de escrita na entidade e direitos de acesso de Leitura no tipo de registo em que está a solicitar Atualizar. Por exemplo, se estivesse calculando a receita estimada das oportunidades em aberto a partir de uma conta, não tem de ter privilégios de escrita na entidade oportunidade, apenas a entidade conta.

    • Esta opção só está disponível no modo online. Não pode utilizá-la para trabalhar offline.

    • O número máximo de registos durante o rollup está limitado a atualizar 50.000 registos. O caso de rollup hierárquica, isto é aplicável a registos relacionados na 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 registos relacionados foi alcançado". Este limite, não se aplica quando o rollup é recalculado automaticamente pelas tarefas de sistema.

    • A profundidade da hierarquia está limitada a 10 para o registo 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 de hierarquia de 10 para o registo de origem foi alcançado.” Este limite, não se aplica quando o rollup é recalculado automaticamente pelas tarefas de sistema.

    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 terminar ou eliminar uma tarefa rollup. Para colocar em pausa, para retomar, adiar ou modificar o padrão de periodicidade, aceda a Definições>Tarefas de sistema. Em Vista, selecione Tarefas de Sistema Recorrentes. 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, Colocar em Pausa. Para a tarefa Calcular em Massa Campos de Rollup, as seleções disponíveis são: Modificar Periodicidade, Retomar, Adiar, Colocar em Pausa.

Cenários empresariais do campo de Rollup

Vamos ver vários cenários de campos de rollup. Vamos agregar dados para um registo a partir dos registos relacionados, utilizando e não utilizando uma hierarquia. Também iremos agregar dados para um registo a partir de atividades relacionadas e atividades indiretamente relacionadas com um registo através da entidade Parte de Atividade. Em cada exemplo, vamos definimos o campo de rollup utilizando o editor de campo. Para abrir o Editor de Campos, abra o explorador de soluções e expanda Componentes>Entidades. Selecione a entidade pretendida e selecione Campos. Escolha Novo. No editor, forneça as informações necessárias para o campo, incluindo Tipo de campo e Tipo de dados. Em Tipo de campo, seleccione 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 Campo. Isto leva-o para o editor de definição do campo de rollup. A definição do campo de rollup consiste em três secções: Entidade de origem, Entidade relacionada e Agregação.

  • Na secção de Entidade de origem, tem de especificar a entidade para a qual o campo de rollup é definido e mesmo que agrega numa hierarquia. Pode adicionar filtros com várias condições para especificar os registos na hierarquia que pretende utilizar para rollup.

  • Na secção de Entidade relacionada, tem de especificar a entidade em que agrega. Esta secção é opcional, quando escolhe o rollup da hierarquia na entidade de origem. Pode adicionar filtros com várias condições para especificar os registos relacionados a utilizar no cálculo. Por exemplo, está a incluir receitas das oportunidades abertas com uma receita anual mais de 1000€.

  • 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 é utilizado. O total calculado que está a receita estimada para uma conta, oportunidades abertas relacionadas.

Agregar a receita estimada para uma conta do Dynamics 365 for Customer Engagement.

Dados agregados para um registo os registos subordinados, na hierarquia

Neste exemplo, vamos calculamos a receita estimada total de uma oportunidade que inclui as oportunidades subordinadas, na hierarquia.

Agregar a receita estimada, hierarquia de 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 pode incluir o tempo despendido ao telefone, em compromissos ou em atividades personalizadas.

Nas versões anteriores, era possível definir um campo 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 os campos calculados. Agora, pode fazer tudo isto num só passo definindo um campo de rollup para a entidade Atividade.

Fazer rollup de todas as atividades para uma conta.

Neste exemplo, vamos contar o número total de mensagens de correio eletrónico enviadas para uma conta, em que a conta está listada na linha "Para" ou "Cc" da mensagem. Isto é efectuado especificando o Tipo de Participação em FILTROS para a entidade Parte de Atividade na definição do campo de rollup. 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 entidade Parte de Atividade e os tipos de participação disponíveis para uma atividade específica, consulte Entidade 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 estimada média no Dynamics 365 for Customer Engagement.

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.

Receita estimada média.

Considerações do campo de Rollup

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

  • Pode definir um máximo de 100 campos de rollup para a organização e até 10 campos de rollup a entidade.

  • Um fluxo de trabalho não pode ser acionado por atualizações do campo de rollup.

  • Uma condição de espera de fluxo de trabalho não pode utilizar um campo de rollup.

  • Um update rollup no campo de rollup não é suportado.

  • Um rollup não pode referenciar um campo calculado que utiliza outro campo calculado, mesmo que todos os campos do outro campo calculado estejam na entidade atual.

  • Um campo de rollup não é atualizado automaticamente se utilizar um campo de fórmula que dependa de funções dependentes do tempo, tais como NOW(), UTCNOW(), ISUTCTODAY() ou UTCTODAY(). A opção online de recálculo (atualização manual no formulário) ou o botão Recalcular tem de ser utilizado para calcular o valor mais recente do campo de rollup.

  • O rollup só pode aplicar filtros à entidade de origem ou as entidades relacionadas, os campos simples ou campos calculados não complexos.

  • Um update rollup é possível efetuar apenas sobre entidades relacionadas com a relação 1:N. Um update rollup não pode ser efetuada sobre relações N: N.

  • Um update rollup não pode ser efetuado na relação 1:N para a entidade atividade ou a entidade da parte de atividade.

  • As regras de negócio, os fluxos de trabalho ou campos calculados utilizar sempre o último valor de campo de rollup.

  • Um campo de rollup é agregado no contexto do utilizador de sistema. Todos os utilizadores podem ver o mesmo rollup colocar um valor. Pode controlar a visibilidade do campo de rollup (FLS) com a segurança de nível de campo, restringindo quem pode aceder ao campo de rollup. Mais informações: Segurança de nível de campo.

  • Se a precisão do campo agregado é superior a precisão do campo de rollup de agregação, a precisão do campo está arredondada para baixo a precisão do campo de rollup, antes de agregação a ser executada. Este comportamento para ilustrar, vamos ver um artigo específico. Vamos ver o que campo de rollup a entidade conta, para calcular o total calculado receitas das oportunidades relacionadas, tem uma precisão de dois pontos decimais. O campo Receita Estim. na entidade da oportunidade é o campo agregado com a precisão de quatro casas decimais. No nosso exemplo, conta tem duas oportunidades relacionadas. A soma da receita estimada agregada é calculada a seguinte:

    1. Receitas Receita para a primeira oportunidade: 1.000,0041 $

    2. Receitas Receita da segunda oportunidade: 2.000,0044 $

    3. Soma agregada da Receita Receita: $1000,00 + $2000,00 = $3000,00
      Como pode constatar, o arredondamento de precisão para duas casas decimais no campo agregado é efetuado antes da agregação ser executada.

  • Determinados formulários de entidade predefinidos, como Conta ou Contacto, contêm as grelhas associadas. Por exemplo, um formulário de conta inclui contactos, incidentes, oportunidades e grelhas outras. Alguns dos registos importados nas grelhas do formulário conta estão relacionados diretamente ao registo de conta; outra, indiretamente, com relações com outros registos. No, comparação de agregação do campo de rollup dirigem apenas as relações definidas da definição do campo 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 (C1.Campo de cliente = A1) e o caso C2 está associado ao contacto P1 (C2.Campo de cliente = P1).

    2. A grelha Incidentes no formulário Conta do registo A1 mostra dois incidentes, C1 e C2.

    3. O campo de rollup a entidade conta, com o número total de incidentes, serve para contar incidentes associados à conta.

    4. Na definição do campo de rollup da conta, especificamos os incidentes que têm relação com os clientes com a conta. Depois de agregação, o número total de incidentes é igual a 1 (C1 incidente). O incidente C2 não está incluído no total, porque está relacionado diretamente contacto, e não à conta, e não pode ser definida da definição do campo de rollup de conta. Como resultado, o número total de incidentes devolvidos pela operação de rollup não corresponde ao número de incidentes mostrados na grelha Incidentes.

Consultar também

Criar e editar campos
Definir campos calculados
Comportamento e formato do campo Data e Hora
Consultar e visualizar dados hierárquicos