Loading

Visualizzazione delle somme zero in rapporti e grafici

Data pubblicazione: Apr 3, 2026
Descrizione
Quando si esegue un rapporto raggruppato in Salesforce, se non esistono dati per un raggruppamento specifico, il rapporto non visualizza nessun risultato. Ciò può risultare frustrante, soprattutto quando si esegue il raggruppamento per date e si tenta di analizzare un trend. I grafici visualizzano le date solo con un valore, rendendo difficoltosa l'individuazione dei periodi privi di dati. Di conseguenza, è possibile che non si riescano a individuare i periodi in cui gli affari sono andati particolarmente male.

Al momento è allo studio una proposta relativa a questo problema, consultabile al seguente link:
 Allow zero-sum in reports
Risoluzione
Scopo di questo esempio è generare un rapporto basato sull'oggetto Opportunità, con particolare attenzione al raggruppamento dei dati per titolare e data di chiusura; tuttavia, è importante sottolineare che lo stesso approccio è applicabile a qualsiasi altro oggetto. 

Creazione di un nuovo campo formula nell'oggetto Opportunità
Creazione di un flusso attivato da pianificazione in Opportunità
Creazione di un flusso attivato da record
Creazione di un secondo flusso attivato da record

_____________________________________________________________________________________

Creazione di un nuovo campo formula nell'oggetto Opportunità
Fase 1. Da qualsiasi pagina di Lightning, fare clic sull'icona ingranaggio nell'angolo in alto a destra. Selezionare Imposta e accedere alla scheda Gestore oggetti. Scorrere l'elenco degli oggetti disponibili fino a individuare Opportunità. Quindi, fare clic su questa voce per selezionarla
Fase 2. Dall'intestazione laterale, fare clic su Campi e relazioni
Fase 3. Fare clic su Nuovo per creare un campo personalizzato
Fase 4. Selezionare Formula come Tipo di dati del campo e fare clic sul pulsante Avanti 
Fase 5. Immettere il Nome campo nella sezione Etichetta campo come Opportunity Count (Conteggio opportunità). Il Nome campo viene compilato automaticamente. Selezionare Numero come Tipo di risultato formulae impostare il campo Cifre decimali su 0, quindi fare clic sul pulsante Avanti 
Fase 6. Immettere la seguente formula (vedi Esempio di formula) nell'area di disegno Formula e fare clic sul pulsante Controlla sintassi per verificare che non ci siano errori. In alternativa, compilare le caselle Descrizione Testo della guida 
Fase 7. Nella sezione Gestione dei campi vuoti, selezionare Considera i campi vuoti come vuoti. Fare clic sul pulsante Avanti
Fase 8. Impostare la protezione Livello campo per stabilire se il campo debba essere visibile per profili e insiemi di autorizzazioni specifici, quindi fare clic sul pulsante Avanti
Fase 9. Selezionare i Layout di pagina che deve visualizzare il campo, quindi fare clic sul pulsante Salva 
 
formula.jpg
 
Esempio di formula:
IF(Name="DUMMY OPP",0,1)

Creazione di un flusso attivato da pianificazione in Opportunità
Fase 1. Da qualsiasi pagina di Lightning, fare clic sull'icona ingranaggio nell'angolo in alto a destra 
Fase 2. Selezionare Imposta e, nella casella Ricerca veloce, immettere e fare clic su Flussi
Fase 3. Fare clic sul pulsante Nuovo flusso
Fase 4. Selezionare Flusso attivato da pianificazione e fare clic sul pulsante Crea 
 
image.png

Fase 5. Fare clic su +Imposta pianificazione, quindi selezionare la data del giorno successivo e impostare l'ora sulla mezzanotte. Assicurarsi che il campo Frequenza sia impostato su Giornaliera e fare clic su Chiudi
 
Set Scheduled.PNG
Daily.PNG

Fase 6. Fare clic sul link +Scegli oggetto (facoltativo) nell'elemento iniziale e impostare l'oggetto su Utente
 
Set Scheduled - Copy.PNG

Fase 7. Applicare i filtri necessari. Ad esempio, poniamo che si desideri escludere gli utenti Experience Cloud (quanto meno è necessario escludere l'utente Guest, se utilizzato, per evitare che generi errori). Assicurarsi che gli utenti inattivi vengano esclusi dall'elaborazione. Fare clic su Chiudi
 
Filter Condition.png

Fase 8. Aggiungere all'area di disegno l'elemento Crea record
a. In Flow Designer, fare clic sull'icona del segno più (+) e selezionare l'elemento Crea record 
b. Immettere il Nome dell'elemento nel campo Etichetta. Il Nome API verrà compilato automaticamente
c. Selezionare Uno in Quanti record creare e Utilizza risorse e valori letterali separati nella sezione Come impostare i campi dei record
d. Impostare l'oggetto su Opportunità
e. Aggiungere i necessari valori di campo, verificando che i campi obbligatori siano impostati su un valore
 i. Poiché questo elemento creerà le Opportunità, assicurarsi di impostare OwnerId su $Record.Id
 ii. In Data chiusura, impostare {!$Flow.CurrentDate}
 iii. Il Nome deve essere univoco e corrispondere esattamente al valore del campo formula creato in precedenza. In questo articolo utilizzeremo come esempio DUMMY OPP
 iv. Infine, impostare la Fase, essendo un campo obbligatorio:


A questo punto, il flusso attivato da pianificazione dovrebbe avere questo aspetto:


Fase 9. Fare clic su Salva e Attiva per attivare il flusso

Nota: è anche possibile eseguire un altro flusso attivato da pianificazione per creare opportunità passate e/o future, ma questo approccio può risultare più complesso e comportare la creazione di un numero di record maggiore. Pertanto, per evitare qualsiasi problema è importante essere consapevoli del flusso e dei limiti di memoria

Creazione di un flusso attivato da record
Fase 1. Fare clic sulla freccia Back situata nell'angolo in alto a sinistra dell'area di disegno di Flow Builder e fare clic sul pulsante Nuovo flusso 
Fase 2. Impostare l'oggetto su Opportunità e selezionare Un record è creato o aggiornato nella sezione Attiva il flusso quando
Fase 3. Impostare il menu a discesa Requisiti della condizione su La formula restituisce true e immettere la formula (vedi Esempio di formula) nella relativa area di disegno e fare clic sul pulsante Controlla sintassi per verificare che non ci siano errori
 
Record Triggered.PNG
Record Triggered 2.PNG

Esempio di formula:
AND({!$Record.Name}<>"DUMMY OPP",OR(ISNEW(),ISCHANGED({!$Record.CloseDate})))
Fase 4. Impostare la sezione Quando eseguire il flusso per i record aggiornati su Ogni volta che un record è aggiornato e soddisfa i requisiti della condizione
Fase 5. In Ottimizza il flusso per, selezionare Azioni e record correlati e fare clic su Chiudi
Fase 6. Aggiungere un elemento Ottieni record
a. In Flow Designer, fare clic sull'icona del segno più (+) e selezionare l'elemento Ottieni record 
b. Immettere il Nome dell'elemento nel campo Etichetta (ad es. Recupera opportunità fittizia). Il Nome API verrà compilato automaticamente
c. Impostare il menu a discesa Requisiti della condizione su Tutte le condizioni sono soddisfatte (AND). Aggiungere i dettagli seguenti come Condizioni di filtro:
 
Prima condizione filtro
  • Campo: Nome
  • Operatore: Uguale a
  • Valore: DUMMY OPP
Seconda condizione filtro
  • Campo: OwnerId
  • Operatore: Uguale a
  • Valore: {!$Record.OwnerId}
Terza condizione filtro
  • Campo: Data chiusura
  • Operatore: Uguale a
  • Valore:  {!$Record.CloseDate}
d. Impostare Quanti record memorizzare su Solo il primo record, Come archiviare i dati record su Archivia automaticamente tutti i campi, quindi fare clic su Chiudi

Get Records.PNG
image.png

Fase 7. Aggiungere un elemento Decisione
a. In Flow Designer, fare clic sull'icona del segno più (+) e selezionare l'elemento Decisione 
b. Immettere il Nome dell'elemento nel campo Etichetta (ad es. Record trovato?). Il Nome API verrà compilato automaticamente
c. Modificare il nome di Nuovo esito impostando  e impostare i filtri su: 
  • Variabile: {!Retrieve_Dummy_Opportunity.Id}
  • Operatore: È nullo
  • Valore: {!$GlobalConstant.False} 
d. Modificare il Nome dell'Esito predefinito impostando No (facoltativo). Fare clic su Chiudi
 
image.png

Fase 8.  Terminare il flusso nel branch No (predefinito) dell'elemento Decisione
Fase 9. Nel branch, aggiungere un elemento Elimina record  
a. In Flow Designer, sotto il nodo , fare clic sull'icona del segno più (+) e selezionare l'elemento Elimina record 
b. Immettere il Nome dell'elemento nel campo Etichetta (ad es. Elimina opportunità fittizie). Il Nome API verrà compilato automaticamente
c. Selezionare Usa gli ID memorizzati in una variabile di record o in una variabile raccolta record nella sezione Come trovare i record da eliminare
d. Immettere la variabile Ottieni record ({!Retrieve_Dummy_Opportunity}) nel campo Record o raccolta record e fare clic su Chiudi 

image.png
 
A questo punto, il flusso attivato da record dovrebbe avere questo aspetto: 
 

Fase 10. Fare clic su Salva e Attiva per attivare il flusso

Creazione di un secondo flusso attivato da record
Fase 1. Fare clic sulla freccia Back situata nell'angolo in alto a sinistra dell'area di disegno di Flow Builder e fare clic sul pulsante Nuovo flusso 
Fase 2. Impostare l'oggetto su Opportunità e selezionare Un record è eliminato nella sezione Attiva il flusso quando 
Fase 3. Impostare il menu a discesa Requisiti della condizione su Tutte le condizioni sono soddisfatte (AND) e aggiungere i dettagli seguenti come Condizioni di immissione:
  • Campo: Nome
  • Operatore: Non uguale a
  • Valore: DUMMY OPP

Delete Element.PNG

Fase 4. Fare clic su Chiudi
Fase 5. Aggiungere all'area di disegno l'elemento Ottieni record
a. In Flow Designer, fare clic sull'icona del segno più (+) e selezionare l'elemento Ottieni record 
b. Immettere il Nome dell'elemento nel campo Etichetta (ad es. Record trovato?). Il Nome API verrà compilato automaticamente. Aggiungere i dettagli seguenti come Condizioni di filtro:

Prima condizione filtro
  • Campo: Nome
  • Operatore: Non uguale a
  • Valore: DUMMY OPP
Seconda condizione filtro
  • Campo: Data chiusura
  • Operatore: Uguale a
  • Valore: {!$Record.CloseDate}
Terza condizione filtro
  • Campo: OwnerId
  • Operatore: Uguale a
  • Valore: {!$Record.OwnerId}
Quarta condizione filtro
  • Campo: ID
  • Operatore: Non uguale a
  • Valore: {!$Record.Id}
Quinta condizione filtro
  • Campo: Data chiusura
  • Operatore: Minore o uguale a
  • Valore: {!$Flow.CurrentDate}
c. Impostare Quanti record memorizzare su Solo il primo record, quindi impostare Come archiviare i dati record su Archivia automaticamente tutti i campi. Fare clic sul pulsante Chiudi

Nota: rimuovere l'ultimo filtro, se sono stati creati anche i record futuri DUMMY OPP
 
Edit Get Records.png

Fase 6. Aggiungere un elemento Decisione
a. In Flow Designer, fare clic sull'icona del segno più (+) e selezionare l'elemento Decisione 
b. Immettere il Nome dell'elemento nel campo Etichetta (ad es. Record trovato?). Il Nome API verrà compilato automaticamente
c. Modificare il nome Nome del nuovo esito impostando  e impostare i filtri su:
  • Campo: {!Retrieve_opportunities.Id}
  • Operatore: È nullo
  • Valore: {!$GlobalConstant.False}
d. Modificare il nome dell'Esito predefinito suNo (facoltativo). Fare clic su Chiudi
 
Record Found.PNG

Fase 7. Terminare il flusso nel branch
Fase 8. Nel branch No della decisione, aggiungere un elemento Crea record per creare l'opportunità fittizia, simile al primo flusso attivato da pianificazione . Tuttavia, questa volta impostare la Data chiusura su {!$Record.CloseDate}. Fare clic su Chiudi
 
Edit Create Records.png

A questo punto, il secondo flusso attivato da record dovrebbe avere questo aspetto:
 

Fase 9. Fare clic su Salva e Attiva per attivare il flusso
 
Ora è possibile creare un rapporto sulle opportunità con data di chiusura fino al giorno corrente.  Se è stata creata un'opportunità fittizia per date future, nel rapporto è possibile impostare un intervallo di date nel futuro. Invece di utilizzare il conteggio dei record nel rapporto, utilizzare la somma del campo formula creato inizialmente. Inoltre, assicurarsi di disattivare Conteggi righe.



È possibile generare un rapporto sul campo Ammontare, che viene visualizzato con valore 0 in un grafico, non essendo impostato nei flussi. 



Nota: questa soluzione può consumare una quantità notevole di memoria, quindi assicurarsi di eliminare di frequente i record fittizi non necessari

_____________________________________________________


Scritto da: Eric Praud | MVP Salesforce
Eric è un consulente senior di Epam PolSource e lavora nell'ecosistema Salesforce da 12 anni. Ha iniziato la sua carriera in Salesforce come agente dell'assistenza Salesforce. Come molti altri, si è imbattuto nella piattaforma per caso e da allora non l'ha più abbandonata. Eric è molto attivo nella comunità Risposte ed è MVP Salesforce dal marzo 2021.


I materiali inviati riflettono esclusivamente le opinioni dell'utente che li ha resi disponibili e non le opinioni di Salesforce, indipendentemente dal fatto che l'utente sia affiliato a Salesforce, e possono contenere o costituire prodotti, servizi, informazioni, dati, contenuti e altri materiali resi disponibili da o per conto di terze parti ("Materiali di terze parti"). Salesforce non controlla né approva, né è responsabile per i materiali di terze parti, inclusa la loro accuratezza, validità, tempestività, completezza, affidabilità, integrità, qualità legalità, utilità o sicurezza, o qualsiasi diritto di proprietà intellettuale applicabile. Tutti i materiali resi disponibili attraverso qualsiasi bacheca o forum in risposta a domande pubblicate, o che in altro modo pretendono di rispondere a qualsiasi domanda, comprese le domande su Salesforce o sui programmi, sono resi disponibili solo per conoscenza generale e non devono mai essere considerati come risposte a domande specifiche degli utenti (anche se una risposta è contrassegnata come risposta "migliore o con qualifiche simili). È sempre consigliabile contattare l'assistenza Salesforce per ottenere risposte alle proprie domande specifiche. Salesforce non ha alcun controllo sui materiali inviati e non è responsabile di alcun uso o abuso (inclusa la distribuzione) da parte di terze parti di tali materiali.

In caso di domande, è possibile attingere al sapere dell'intera Trailblazer Community qui: https://trailhead.salesforce.com/trailblazer- community/feed

Numero articolo Knowledge

000395398

 
Caricamento
Salesforce Help | Article