Definire colonne di rollup che aggregano valori

Le colonne di rollup consentono agli utenti di ottenere informazioni approfondite sui dati tramite il monitoraggio delle principali metriche aziendali. Una colonna di rollup contiene un valore di aggregazione calcolato sulle righe correlate a una riga specificata. Sono incluse tabelle regolari e tabelle impegni, ad esempio i messaggi di posta elettronica e gli appuntamenti.

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

Vantaggi e funzionalità delle colonne di rollup

I vantaggi e le funzionalità delle colonne di rollup sono:

  • La modifica visiva è semplice. È possibile creare colonne di rollup tramite l'editor delle colonne, proprio come quando si crea una colonna 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 la tabella di origine o la tabella correlata e impostare più condizioni.
  • Integrazione ottimale con l'interfaccia utente. È possibile includere le colonne di rollup nei moduli, nelle visualizzazioni, nei grafici e nei report.
  • Le colonne di rollup sono componenti di soluzione. È possibile trasportare facilmente le colonne di rollup come componenti tra gli ambienti e distribuirli nelle soluzioni.
  • Le colonne di rollup e le colonne calcolate sono reciprocamente complementari. È possibile utilizzare una colonna di rollup come parte della colonna calcolata e viceversa.
  • È possibile configurare le colonne di rollup per utilizzare i controlli personalizzati.

Alcuni esempi di colonne di rollup sono riportate 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 colonna di rollup crea due colonne accessori con il modello di suffisso <nomecolonna>_date e <nomecolonna>_state. La colonna _date contiene dati di tipo DateTime e la colonna _state contiene dati di tipo Integer. La colonna _state ha i seguenti valori:

valore Regione Descrizione
0 NotCalculated Il valore della colonna deve ancora essere calcolato.
1 Calcolato Il valore della colonna è stato calcolato secondo l'ora dell'ultimo aggiornamento nella colonna _date.
2 OverflowError Il calcolo dei valori di colonna ha restituito un errore di overflow.
3 OtherError Il calcolo dei valori di colonna 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 colonna 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 colonna non è riuscito perché è stato raggiunto il limite massimo di profondità gerarchica per il calcolo.
6 LoopDetected Il calcolo dei valori di colonna non è riuscito perché un ciclo ricorsivo è stato rilevato nella gerarchia della riga.
7 CurrencyMissing Il calcolo del valore della colonna non è riuscito perché manca la valuta del campo richiesta.

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. Accedi a Power Apps, quindi seleziona l'ambiente desiderato.
  2. Seleziona Impostazioni (ingranaggio) > Impostazioni avanzate.
  3. Seleziona Impostazioni > Processi di sistema.
    Passare ai processi di sistema.
  4. Nel selettore di visualizzazione, scegliere Processi di sistema ricorrenti.
  5. 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 ogni colonna rollup. ed eseguito una sola volta dopo la creazione o l'aggiornamento di una colonna rollup. Il processo ricalcola il valore della colonna rollup specificata in tutti i record esistenti che contengono la colonna. Per impostazione predefinita, il processo verrà eseguito 12 ore dopo aver creato o aggiornato una colonna. Se la colonna viene modificata, 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 della colonna 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 delle colonne di rollup.

Quando si verifica la situazione in cui la colonna rollup non viene mai aggiornata, il processo di calcolo di massa campo di rollup non verrà eseguito nuovamente per quella colonna fino a quando non saranno trascorsi 10 anni. Questo comportamento è impostato a livello di progettazione. Quando non sono presenti aggiornamenti nelle colonne sottostanti associate al campo di rollup, non vi è alcun motivo per eseguire il processo con maggiore frequenza.

Calcolare una colonna di rollup

Calcola campo di rollup è un processo ricorrente che esegue calcoli incrementali di tutte le colonne di rollup nelle righe esistenti per una specifica tabella. È disponibile un solo processo Calcola campo di rollup per tabella. I calcoli incrementali indicano che il processo Calcola campo di rollup elabora le righe create, aggiornate o eliminate dopo l'esecuzione dell'ultimo processo Calcolo di massa campo di rollup. L'impostazione di ricorrenza minima predefinita è di un'ora. Il processo viene automaticamente creato quando la prima colonna di rollup di una tabella viene creata ed eliminata quando l'ultima colonna di rollup viene eliminata.

Opzione di ricalcolo online

La colonna di rollup del modulo mostra 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.

Colonna 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 la tabella e dei diritti di accesso in scrittura per la riga 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 la tabella opportunità, ma solo per la tabella account.
  • Questa opzione è disponibile solo in modalità online. Non è possibile utilizzarla in modalità offline.
  • Il numero massimo di righe per l'aggiornamento del rollup è limitato a 50.000 righe. Nel caso del rollup gerarchico, il limite si applica alle righe correlate nella 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 righe correlate. Questo limite non si applica quando il rollup viene ricalcolato automaticamente dai processi di sistema.
  • La profondità massima della gerarchia è limitata a 10 per la riga 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 per la riga di origine. 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 colonne di rollup. Si aggregheranno i dati per una riga delle righe correlate, con e senza utilizzare una gerarchia. Si aggregheranno anche i dati per una riga dagli impegni correlati e gli impegni indirettamente correlati a una riga tramite la tabella ActivityParty. In ogni esempio, si definisce la colonna di rollup tramite l'editor di colonne. Per aprire l'editor di colonne, aprire Esplora soluzioni ed espandere Componenti > Tabelle. Selezionare la tabella desiderata e selezionare Colonne. Scegli Nuovo. Nell'editor immettere le informazioni richieste per la colonna, ad esempio Tipo di colonna e Tipo di dati. In Tipo di colonna, 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 colonna. Viene visualizzato l'editor delle definizioni di colonne di rollup. La definizione della colonna di rollup è composta da tre sezioni: Tabella di origine, **Tabella correlata e Aggregazione.

  • Nella sezione Tabella di origine, specificare la tabella per cui la colonna di rollup viene definita e se si desidera eseguire o meno l'aggregazione in una gerarchia. È possibile aggiungere filtri con diverse condizioni per specificare le righe della gerarchia da utilizzare per il rollup.

  • Nella sezione Tabella correlata, specificare la tabella in cui eseguire l'aggregazione. Questa sezione è facoltativa quando si sceglie di eseguire il rollup nella gerarchia nella tabella di origine. È possibile aggiungere filtri con molteplici condizioni per specificare le righe correlate 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. Si possono scegliere le funzioni aggregate disponibili, come 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 una riga dalle righe figlio nella gerarchia

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

Aggregare i ricavi previsti, gerarchia di opportunità.

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

Aggregare i 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 una colonna 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 le colonne calcolate. Ora, è possibile utilizzare un'unica operazione definendo una colonna di rollup per la tabella impegni.

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 la tabella Partecipante impegno nella definizione della colonna 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 sulla tabella Partecipante impegno disponibili per un impegno specifico, vedere Tabella 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 nella gerarchia in Dynamics 365.

Considerazioni sulle colonne di rollup

È opportuno tenere presenti alcune condizioni e limitazioni quando si utilizzano le colonne di rollup:

  • È possibile definire un massimo di 200 colonne di rollup per l'ambiente e fino a 50 colonne di rollup per ogni tabella. I valori predefiniti correnti e il massimo precedente sono 100 per ambiente e 10 per tabella. Ulteriori informazioni: Definire il numero massimo di colonne di rollup in un ambiente o tabella
  • Un flusso di lavoro non può essere attivato dagli aggiornamenti della colonna di rollup.
  • Una condizione di attesa del flusso di lavoro non può utilizzare una colonna di rollup.
  • Il rollup della colonna di rollup non è supportato.
  • Un rollup non può fare riferimento a una colonna calcolata che utilizza un'altra colonna calcolata, anche se tutte le colonne dell'altra colonna calcolata si trovano nella tabella corrente.
  • Una colonna di rollup non si aggiorna automaticamente se utilizza una colonna per la formula che dipende da funzioni con limite temporale, ad esempio Now() e IsUTCToday(). L'opzione di ricalcolo online (aggiornamento manuale del modulo) o Ricalcola deve essere utilizzato per calcolare l'ultimo valore della colonna di rollup.
  • Il rollup può applicare i filtri solo alla tabella di origine o alle tabelle correlate, a colonne semplici o colonne calcolate non complesse.
  • Un rollup può essere eseguito solo nelle tabelle 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 la tabella impegni o la tabella partecipante impegno.
  • Le regole di business, i flussi di lavoro o le colonne calcolate utilizzano sempre l'ultimo valore calcolato della colonna di rollup.
  • Una colonna di rollup viene aggregato nel contesto utente di sistema. Tutti gli utenti possono visualizzare lo stesso valore della colonna di rollup. È possibile controllare la visibilità della colonna di rollup con la sicurezza a livello di colonna, limitando gli utenti che possono accedere alla colonna di rollup. Ulteriori informazioni: Sicurezza a livello di colonna per controllare l'accesso.

Definire il numero massimo di colonne di rollup in un ambiente o tabella

È possibile definire un massimo di 200 colonne di rollup per l'ambiente e fino a 50 colonne di rollup per ogni tabella. I valori predefiniti correnti e il massimo precedente sono 100 per ambiente e 10 per tabella.

Per aumentare i valori massimi, effettua i seguenti passaggi:

  1. Vai a Power Apps (make.powerapps.com), seleziona Tabella nel riquadro di spostamento a sinistra, quindi apri la tabella Organizzazione.
  2. Seleziona l'elenco n more, quindi digita maxr nella casella Ricerca. Seleziona le colonne MaxRollupFieldsPerOrg e MaxRollupFieldsPerEntity, quindi seleziona Salva. Seleziona il numero massimo di colonne di rollup per aumentare i valori
  3. Modifica i valori desiderati per MaxRollupFieldsPerOrg (fino a 200) e MaxRollupFieldsPerEntity (fino a 50).

Importante

La presenza di più di 100 colonne di rollup per un ambiente potrebbe comportare un peggioramento delle prestazioni delle colonne di rollup e un aumento del consumo di spazio di archiviazione.

Arrotondamento della precisione

Se la precisione della colonna aggregata è maggiore della precisione della colonna di rollup, la precisione della colonna aggregata è arrotondata per difetto alla precisione della colonna di rollup prima dell'esecuzione dell'aggregazione. Per illustrare tale comportamento, esaminiamo un esempio specifico. Supponiamo che la colonna di rollup nella tabella account, per il calcolo dei ricavi previsti totali delle opportunità correlate, abbia una precisione di due cifre decimali. La colonna Ricavi prev. nella tabella opportunità è la colonna aggregata 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 si può osservare, l'arrotondamento di precisione di due cifre decimali nella colonna aggregata viene eseguito prima di eseguire l'aggregazione.

Comportamento diverso dalle griglie associate

Determinati moduli di tabella predefiniti, ad esempio Account o Contatto, contengono le griglie associate. Ad esempio, un modulo Account include contatti, casi, opportunità e altre griglie. Alcune righe visualizzate nelle griglie del modulo Account sono direttamente correlate alla riga di account; altre vengono correlate indirettamente tramite la relazione con altre righe. In confronto, l'aggregazione delle colonne di rollup usa solo le relazioni dirette definite in modo esplicito nella definizione della colonna 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 (colonna C1.Cliente = A1) e il caso C2 è associato a contatto P1 (colonna C2.Cliente = P1).
  2. Nella griglia Casi del modulo Account per la riga A1 vengono mostrati due casi, C1 e C2.
  3. La colonna di rollup nella tabella account, chiamato Numero complessivo di casi, è utilizzato per contare i casi associati all'account.
  4. Nella definizione della colonna 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 della colonna 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 colonne
Definire colonne calcolate
Colonne formula, calcolate e di rollup tramite codice
Comportamento e formato della colonna Data e ora
Definire ed eseguire una query sui dati gerarchici

Nota

Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)

Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).