Definire campi di rollup che aggregano valori

I campi di rollup consentono agli utenti di ottenere informazioni approfondite sui dati tramite il monitoraggio delle principali metriche aziendali. Un campo di rollup contiene un valore di aggregazione calcolato sui record correlati a un record specificato. Sono incluse le entità regolari e le entità Impegno, ad esempio i messaggi di posta elettronica e gli appuntamenti.

In scenari più complessi, è possibile aggregare i dati nella gerarchia dei record. Come amministratore o addetto alla personalizzazione, è possibile definire i campi di rollup utilizzando gli strumenti di personalizzazione in Power Apps, senza dover sviluppare codice.

Vantaggi e funzionalità dei campi di rollup

I vantaggi e le funzionalità dei campi di rollup sono:

  • La modifica visiva è semplice. È possibile creare i campi di rollup tramite l'editor dei campi, proprio come quando si crea un campo normale.
  • Ampia selezione di funzioni di aggregazione. È possibile aggregare i dati tramite le seguenti funzioni: SUM, COUNT, MIN, MAX e AVG.
  • Supporto filtro completo per l'aggregazione. È possibile configurare i vari filtri per l'entità di origine o l'entità correlata e impostare più condizioni.
  • Integrazione ottimale con l'interfaccia utente. È possibile includere i campi di rollup nei moduli, nelle visualizzazioni, nei grafici e nei report.
  • I campi di rollup sono componenti di soluzione. È possibile trasportare facilmente i campi di rollup come componenti tra gli ambienti e distribuirli nelle soluzioni.
  • I campi di rollup e i campi calcolati sono reciprocamente complementari. È possibile utilizzare un campo di rollup come parte del campo calcolato e viceversa.
  • È possibile configurare i campi di rollup per utilizzare i controlli personalizzati.

Alcuni esempi di campi di rollup sono riportati di seguito:

  • Ricavi previsti totali delle opportunità aperte di un account
  • Ricavi previsti totali delle opportunità aperte di tutti gli account in una gerarchia
  • Ricavi previsti totali di un'opportunità, incluse le opportunità figlio
  • Valore previsto totale dei lead qualificati generati da una campagna
  • Numero di casi aperti con alta priorità di tutti gli account in una gerarchia
  • L'ora di creazione meno recente di tutti i casi aperti con alta priorità di un account

Ogni campo di rollup crea due campi accessori con il modello di suffisso <nomecampo>_date e <nomecampo>_state. Il campo _date contiene dati di tipo DateTime e il campo _state contiene dati di tipo Integer. Il campo _state ha i seguenti valori:

Valore Stato Descrizione
0 NotCalculated Il valore del campo deve ancora essere calcolato.
1 Calculated Il valore del campo è stato calcolato secondo l'ora dell'ultimo aggiornamento nel campo _date.
2 OverflowError Il calcolo dei valori di campo ha restituito un errore di overflow.
3 OtherError Il calcolo dei valori di campo non è riuscito a causa di un errore interno. Probabilmente l'errore verrà corretto alla successiva esecuzione del processo di calcolo.
4 RetryLimitExceeded Il calcolo dei valori di campo non è riuscito perché è stato superato il numero massimo di tentativi di calcolo dei valori a causa del numero elevato di conflitti di blocchi e di concorrenza.
5 HierarchicalRecursionLimitReached Il calcolo dei valori di campo non è riuscito perché è stato raggiunto il limite massimo di profondità gerarchica per il calcolo.
6 LoopDetected Il calcolo dei valori di campo non è riuscito perché un ciclo ricorsivo è stato rilevato nella gerarchia del record.

Calcoli di rollup

I rollup vengono calcolati da processi di sistema pianificati che vengono eseguiti in modalità asincrona in background. È necessario essere un amministratore per visualizzare e gestire i processi di rollup.

Visualizzare i processi di rollup

Per visualizzare i processi di rollup:

  1. Nella visualizzazione della soluzione predefinita di Common Data Service modificare l'URL rimuovendo tutto ciò che segue dynamics.com e aggiornare la pagina.
  2. Nell'area Impostazioni, seleziona Sistema > Processi di sistema.
    Passare ai processi di sistema
  3. Nel selettore di visualizzazione, scegliere Processi di sistema ricorrenti.
  4. Per individuare rapidamente un processo pertinente, è possibile filtrare in base al tipo di processo di sistema: Calcolo di massa campo di rollup o Calcola campo di rollup.

Calcolo di massa campo di rollup

Calcolo di massa campo di rollup è un processo ricorrente creato per un campo di rollup. Viene eseguito una sola volta, quando si crea o si aggiorna un campo di rollup. Il processo ricalcola il valore del campo di rollup specificato in tutti i record esistenti che contengono il campo. Per impostazione predefinita, il processo verrà eseguito 12 ore dopo aver creato o aggiornato un campo. Al termine, il processo viene automaticamente pianificato per l'esecuzione in un futuro lontano, dopo circa 10 anni. Se il campo viene modificato, il processo viene reimpostato per essere nuovamente eseguito trascorse 12 ore dall'aggiornamento. Il ritardo di 12 ore è necessario per garantire che Calcolo di massa campo di rollup venga eseguito durante le ore non operative dell'ambiente. È consigliabile che un amministratore regoli l'ora di inizio del processo di Calcolo di massa campo di rollup dopo la modifica o la creazione del campo di rollup, in modo da eseguirlo durante le ore non operative. Ad esempio, un buon momento per eseguire il processo è a mezzanotte, per assicurare un'elaborazione efficiente dei campi di rollup.

Calcola campo di rollup

Calcola campo di rollup è un processo ricorrente che esegue calcoli incrementali di tutti i campi di rollup nei record esistenti per una specifica entità. È disponibile un solo processo Calcola campo di rollup per ogni entità. I calcoli incrementali indicano che il processo Calcola campo di rollup elabora i record creati, aggiornati o eliminati terminata l'esecuzione dell'ultimo processo Calcolo di massa campo di rollup. L'impostazione di ricorrenza massima predefinita è di un'ora. Il processo viene automaticamente creato quando il primo campo di rollup di un'entità viene creato ed eliminato quando l'ultimo campo di rollup viene eliminato.

Opzione di ricalcolo online

Il campo di rollup sul modulo visualizza un'immagine della calcolatrice, il valore di rollup e l'ora dell'ultimo calcolo. Per ricalcolare, seleziona l'immagine della calcolatrice, quindi seleziona il pulsante Ricalcola che viene visualizzato.

Campo di rollup nel modulo account

Vi sono alcune considerazioni da tenere presenti quando si utilizza l'opzione di ricalcolo online (aggiornamento manuale nel modulo):

  • È necessario disporre dei privilegi di scrittura per l'entità e dei diritti di accesso in scrittura per il record di origine per cui si richiede l'aggiornamento. Ad esempio, se si calcolano i ricavi previsti delle opportunità aperte di un account, non è necessario disporre dei privilegi di scrittura per l'entità opportunità, ma solo per l'entità account.
  • Questa opzione è disponibile solo in modalità online. Non è possibile utilizzarla in modalità offline.
  • Il numero massimo di record per l'aggiornamento del rollup è limitato a 50.000 record. Nel caso del rollup gerarchico, il limite si applica ai record correlati della gerarchia. Se si supera il limite, viene visualizzato il messaggio di errore I calcoli non possono essere eseguiti online perché è stato raggiunto il limite di 50.000 record correlati. Questo limite non si applica quando il rollup viene ricalcolato automaticamente dai processi di sistema.
  • La profondità massima della gerarchia è limitata a 10 per il record di origine. Se si supera il limite, viene visualizzato il messaggio di errore I calcoli non possono essere eseguiti online perché è stato raggiunto il limite di profondità di 10 della gerarchia di record master. Questo limite non si applica quando il rollup viene ricalcolato automaticamente dai processi di sistema.

Modificare la ricorrenza di un processo di rollup

L'amministratore di sistema può modificare il modello di ricorrenza del processo di rollup, posticipare, sospendere o riprendere il processo di rollup. Tuttavia, non può annullare o eliminare un processo di rollup.

Per sospendere, posticipare, riprendere o modificare un modello di ricorrenza, è necessario visualizzare i processi di sistema. Ulteriori informazioni Visualizzare i processi di rollup

Sulla barra di spostamento, scegliere Azioni e selezionare l'azione desiderata.

Per il processo Calcolo di massa campo di rollup le opzioni disponibili sono: Riprendi, Posticipa e Sospendi.

Per il processo Calcola campo di rollup le opzioni disponibili sono: Modifica ricorrenza, Riprendi, Posticipa e Sospendi.

Esempi

Si prendano in considerazione diversi esempi di campi di rollup. Si aggregheranno i dati per un record dai record correlati, con e senza utilizzare una gerarchia. Si aggregheranno anche i dati per un record dagli impegni correlati e gli impegni indirettamente correlati a un record tramite l'entità ActivityParty. In ogni esempio, si definisce il campo di rollup tramite l'editor dei campi. Per aprire l'editor del campo, aprire Esplora soluzioni ed espandere Componenti > Entità. Selezionare l'entità desiderata e selezionare Campi. Scegliere Nuovo. Nell'editor immettere le informazioni richieste per il campo, ad esempio Tipo di campo e Tipo di dati. In Tipo di campo, selezionare Rollup dopo aver selezionato il tipo di dati. I tipi di dati includono numeri decimali o interi, valuta e data/ora. Scegliere il pulsante Modifica accanto a Tipo di campo. Viene visualizzato l'editor delle definizioni di campi di rollup. La definizione del campo di rollup è composta da tre sezioni: Entità di origine, Entità correlata e Aggregazione.

  • Nella sezione Entità di origine, specificare l'entità per cui il campo di rollup viene definito e se si desidera eseguire l'aggregazione in una gerarchia. È possibile aggiungere filtri con diverse condizioni per specificare i record della gerarchia da utilizzare per il rollup.

  • Nella sezione Entità correlata, specificare l'entità in cui eseguire l'aggregazione. Questa sezione è facoltativa quando si sceglie di eseguire il rollup nella gerarchia nell'entità di origine. È possibile aggiungere filtri con diverse condizioni per specificare i record correlati da utilizzare nel calcolo. Ad esempio, si possono includere i ricavi delle opportunità aperte ai ricavi annuali maggiori di € 1000.

  • Nella sezione Aggregazione, si specifica la metrica che si desidera calcolare. È possibile scegliere tra le funzioni di aggregazione disponibili, ad esempio SUM, COUNT, MIN, MAX o AVG.

In questo esempio, non è utilizzata una gerarchia. I ricavi previsti totali vengono calcolati per un account, dalle opportunità aperte correlate.

Aggregare i ricavi stimati di un account

Dati di aggregazione per un record dai record figlio nella gerarchia

In questo esempio, si calcolano i ricavi previsti totali di un'opportunità incluse le opportunità figlio nella gerarchia.

Aggregazione dei ricavi previsti, gerarchia di opportunità

In questo esempio, si calcolano i ricavi previsti totali delle opportunità aperte di tutti gli account nella gerarchia.

Aggregazione dei ricavi previsti su gerarchia di account

In questo esempio, viene calcolato il tempo totale speso e fatturato da tutti gli impegni correlati a un account. Può includere il tempo dedicato al telefono, agli appuntamenti o agli impegni personalizzati.

Nei rilasci precedenti, era possibile definire un campo di rollup per un singolo impegno, ad esempio una telefonata, un fax o un appuntamento. Tuttavia, per ottenere il risultato dell'esempio riportato di seguito, il totale dei dati è stato conteggiato utilizzando i campi calcolati. Ora, è possibile utilizzare un'unica operazione definendo un campo di rollup per l'entità Impegno.

Eseguire il rollup di tutti gli impegni per un account

In questo esempio, si conteggia il numero totale di messaggi e-mail inviati a un account, dove l'account è elencato nella riga "Destinatario principale" o "Destinatario Cc" dei messaggi e-mail. A tale scopo specificare il Tipo partecipazione in FILTRI per l'entità Partecipante impegno nella definizione del campo di rollup. Se non si utilizza il filtro, tutti i tipi di partecipanti disponibili per un impegno vengono impiegati nel calcolo.

Per ulteriori informazioni sui tipi di partecipante e sull'entità Partecipante impegno disponibili per un impegno specifico, vedere Entità ActivityParty.

Attività correlate al rollup e partecipante all'impegno

In questo esempio, si calcola la media dei ricavi previsti di tutte le opportunità correlate a un account.

Ricavi stimati medi in Dynamics 365

Nell'esempio seguente viene illustrato come calcolare la media dei ricavi previsti dalle opportunità correlate in una gerarchia di account. I ricavi previsti medi possono essere osservati a ogni livello della gerarchia.

Ricavi stimati medi in Dynamics 365

Considerazioni sui campi di rollup

È opportuno tenere presenti alcune condizioni e limitazioni quando si utilizzano i campi di rollup:

  • È possibile definire un massimo di 100 campi di rollup per l'organizzazione e fino a 10 campi di rollup per ogni entità.
  • Un flusso di lavoro non può essere attivato dagli aggiornamenti del campo di rollup.
  • Una condizione di attesa del flusso di lavoro non può utilizzare un campo di rollup.
  • Il rollup del campo di rollup non è supportato.
  • Un rollup non può fare riferimento a un campo calcolato che utilizza un altro campo calcolato, anche se tutti i campi dell'altro campo calcolato si trovano sull'entità corrente.
  • Il rollup può applicare i filtri solo all'entità di origine e alle entità correlate, ai campi semplici o ai campi calcolati non complessi.
  • Un rollup può essere eseguito solo nelle entità correlate con la relazione 1:N. Un rollup non può essere eseguito su relazioni N:N.
  • Un rollup non può essere eseguito sulla relazione 1:N per l'entità Impegno o l'entità Partecipante impegno.
  • Le regole di business, i flussi di lavoro o i campi calcolati utilizzano sempre l'ultimo valore calcolato del campo di rollup.
  • Un campo di rollup viene aggregato nel contesto utente di sistema. Tutti gli utenti possono visualizzare lo stesso valore del campo di rollup. È possibile impostare la visibilità del campo di rollup con la sicurezza a livello di campo, limitando gli utenti che possono accedere al campo di rollup. Ulteriori informazioni: Sicurezza a livello di campo per controllare l'accesso.

Arrotondamento della precisione

Se la precisione del campo aggregato è maggiore della precisione del campo di rollup, la precisione del campo aggregato è arrotondata per difetto alla precisione del campo di rollup prima dell'esecuzione dell'aggregazione. Per illustrare tale comportamento, esaminiamo un esempio specifico. Supponiamo che il campo di rollup nell'entità account, per il calcolo dei ricavi previsti totali delle opportunità correlate, abbia una precisione di due cifre decimali. Il campo Ricavi prev. sull'entità opportunità è il campo aggregato con la precisione di quattro cifre decimali. In questo esempio, un account ha due opportunità correlate. La somma aggregata dei ricavi previsti viene calcolato nel modo seguente:

  1. Est. Ricavi per la prima opportunità: $ 1000,0041.
  2. Est. Ricavi per la seconda opportunità: $ 2000,0044.
  3. Somma aggregata dei Ricavi: $1000,00 + $2000,00 = $3000,00

Come puoi vedere, l'arrotondamento di precisione di due cifre decimali nel campo aggregato viene eseguito prima dell'esecuzione dell'aggregazione.

Comportamento diverso dalle griglie associate

Determinati moduli di entità predefiniti, ad esempio Account o Contatto, contengono le griglie associate. Ad esempio, un modulo Account include contatti, casi, opportunità e altre griglie. Alcuni record visualizzati nelle griglie del modulo Account sono direttamente correlati al record di account, mentre altri vengono correlati indirettamente con altri record. In confronto, l'aggregazione dei campi di rollup usa solo le relazioni dirette definite in modo esplicito nella definizione del campo di rollup. Non vengono considerate altre relazioni. Per illustrare la differenza del comportamento, esaminiamo l'esempio seguente.

  1. L'account A1 ha un contatto primario, P1. Il caso C1 è associato all'account A1 (campo C1.Cliente = A1) e il caso C2 è associato a contatto P1 (campo C2.Cliente = P1).
  2. Nella griglia Casi del modulo Account per il record A1 vengono mostrati due casi, C1 e C2.
  3. Il campo di rollup nell'entità account, chiamato Numero complessivo di casi, è utilizzato per contare i casi associati all'account.
  4. Nella definizione del campo di rollup dell'account specifichiamo i casi con la relazione con il cliente associata all'account. Dopo l'aggregazione, il numero totale di casi è uguale a 1 (caso C1). Il caso C2 non verrà incluso nel totale poiché è direttamente correlato al contatto, non all'account, e non può essere definito in modo esplicito nella definizione del campo di rollup dell'account. Di conseguenza, il numero totale di casi restituiti dall'operazione di rollup non corrisponde al numero di casi mostrati nella griglia Casi.

Vedi anche

Creare e modificare campi
Definire campi calcolati
Comportamento e formato del campo data e ora
Definire ed eseguire una query sui dati gerarchici
Video: Campi calcolati e di rollup
Video: Utilizzo di Power BI