Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:✅ Power BI Desktop e servizio Power BI
Un calcolo visivo è un calcolo DAX (Data Analysis Expressions) eseguito direttamente su un oggetto visivo anziché nel modello semantico. Usa i dati visualizzati nell'elemento visivo, in modo da poter creare totali in esecuzione, medie mobili e confronti periodo su periodo senza gestire il contesto di filtro o le relazioni del modello. I calcoli visivi sono formule DAX che si concentrano sui dati visivi anziché sull'intero modello semantico.
Questo articolo illustra il funzionamento dei calcoli visivi, il modo in cui i parametri controllano il flusso di calcolo e come differiscono da altri calcoli DAX.
Il calcolo visivo seguente definisce una somma progressiva per Sales Amount:
Running sum = RUNNINGSUM([Sales Amount])
Un calcolo visivo può fare riferimento a colonne, misure o altri calcoli visivi nello stesso oggetto visivo.
I calcoli visivi differiscono dalle altre opzioni di calcolo in DAX:
- Memorizzi i calcoli visivi in un oggetto visivo, non nel modello. Aggiungere un campo modello all'oggetto visivo prima di fare riferimento a esso in un calcolo visivo.
- I calcoli visivi combinano la semplicità del contesto dalle colonne calcolate con la flessibilità di calcolo su richiesta delle misure.
- I calcoli visivi operano sui dati aggregati anziché sui dati a livello di dettaglio, quindi spesso offrono prestazioni migliori rispetto alle misure equivalenti.
- Poiché i calcoli visivi fanno parte dell'elemento visivo, possono fare riferimento alla relativa struttura.
Per un confronto dettagliato delle opzioni di calcolo, vedere Usare le opzioni di calcolo in Power BI Desktop.
Le visualizzazioni tabella e matrice rendono disponibili anche i calcoli visivi tramite la funzionalità dei totali personalizzati, che consente di modificare ciò che mostra la riga del totale senza scrivere DAX. Per ulteriori informazioni, vedi gli articoli sugli oggetti visivi tabella e matrice.
Per informazioni su come aggiungere o modificare un calcolo visivo, vedere Creare calcoli visivi.
Funzionamento dei calcoli visivi
I calcoli visivi vengono creati in modalità di modifica , che si apre sull'oggetto visivo selezionato. La superficie di modifica include tre parti: un'anteprima dell'oggetto visivo, una barra della formula per l'espressione DAX e una matrice visiva che visualizza i risultati durante la digitazione.
La maggior parte dei calcoli visivi valuta ogni riga nella matrice visiva, quindi le funzioni di aggregazione, ad esempio SUM , in genere non sono necessarie. Le funzioni che dipendono dalle relazioni del modello, tra cui USERELATIONSHIP, RELATED e RELATEDTABLE, non sono disponibili.
Dopo aver aggiunto un calcolo visivo, viene visualizzato nell'elenco dei campi dell'oggetto visivo ed esegue il rendering sull'oggetto visivo stesso.
Funzioni DAX disponibili nei calcoli visivi
Molte funzioni DAX esistenti funzionano nei calcoli visivi. I calcoli visivi forniscono anche funzioni che fungono da collegamenti alle funzioni finestra DAX.
| Funzione | Descrizione | Esempio | Collegamento a |
|---|---|---|---|
| COLLAPSE | Il calcolo viene valutato a un livello superiore dell'asse. | Percentuale del genitore = DIVIDE([Sales Amount], COLLAPSE([Sales Amount], ROWS)) | N/D |
| COLLAPSEALL | Il calcolo viene valutato al livello totale dell'asse. | Percentuale del totale complessivo = DIVIDE([Sales Amount], COLLAPSEALL([Sales Amount], ROWS)) | N/D |
| EXPAND | Il calcolo viene valutato a un livello inferiore dell'asse. | Media dei figli = EXPAND(AVERAGE([Sales Amount]), ROWS) | N/D |
| EXPANDALL | Il calcolo viene valutato a livello foglia dell'asse. | Media del livello fogliare = EXPANDALL(MEDIA([Sales Amount]), ROWS) | N/D |
| FIRST | Fa riferimento alla prima riga di un asse. | ProfitVSFirst = [Profit] - FIRST([Profit]) | INDEX(1) |
| ISATLEVEL | Indica se una colonna specificata è presente a livello corrente. | IsFiscalYearAtLevel = ISATLEVEL([Anno Fiscale]) | N/D |
| LAST | Fa riferimento all'ultima riga di un asse. | ProfitVSLast = [Profit] - LAST([Profit]) | INDEX(-1) |
| LOOKUP | Valuta un'espressione nella matrice visiva usando il contesto corrente. | LookupSalesFor2025WithContext = LOOKUP(SUM([Sales]), [Year], "2025") | N/D |
| LOOKUPWITHTOTALS | Valuta un'espressione nella matrice visiva con totali. | LookupSalesFor2025WithTotals = LOOKUPWITHTOTALS(SOMMA([Vendite]), [Anno], "2025") | N/D |
| MOVINGAVERAGE | Aggiunge una media mobile su un asse. | MovingAverageSales = MOVINGAVERAGE([Importo delle Vendite], 2) | WINDOW |
| NEXT | Fa riferimento a una riga successiva di un asse. | ProfitVSNext = [Profit] - NEXT([Profit]) | OFFSET(1) |
| PREVIOUS | Fa riferimento a una riga precedente di un asse. | ProfitVSPrevious = [Profit] - PREVIOUS([Profit]) | OFFSET(-1) |
| RANGE | Fa riferimento a uno spezzone di righe di un asse. | AverageSales = AVERAGEX(RANGE(1), [Importo Vendite]) | WINDOW |
| RUNNINGSUM | Aggiunge una somma cumulativa su un asse. | RunningSumSales = RUNNINGSUM([Importo delle Vendite]) | WINDOW |
Parametri che controllano il flusso di calcolo
Alcune funzioni di calcolo visivo accettano parametri facoltativi che controllano il modo in cui il calcolo attraversa la matrice visiva:
- Axis e Reset sono specifici per i calcoli visivi. Fanno riferimento alla struttura visiva anziché a campi specifici.
- OrderBy e PartitionBy funzionano anche in colonne e misure calcolate. Fanno riferimento direttamente ai campi.
Le sezioni seguenti descrivono ogni parametro e quando usarli uno rispetto all'altro.
Axis
Molte funzioni hanno un parametro facoltativo Axis , che è possibile usare solo nei calcoli visivi. Il Axis parametro influenza il modo in cui il calcolo visivo attraversa la matrice visiva. Il parametro Axis è impostato per impostazione predefinita sul primo asse del visual. Per molti oggetti visivi, il primo asse è ROWS, il che significa che il calcolo visivo viene valutato riga per riga nella matrice visiva, dall'alto verso il basso. La tabella seguente mostra i valori validi per il parametro Axis:
| Icona Axis | Axis Nome | Descrizione |
|---|---|---|
|
ROWS | Calcola tra le righe. |
|
COLUMNS | Calcola nelle colonne. |
|
ROWS COLUMNS | Calcola le righe e quindi le colonne. |
|
COLUMNS ROWS | Calcola le colonne e quindi le righe. |
| ROWPAGES | Calcola i multipli di piccole dimensioni. | |
| ROWS ROWPAGES | Calcola prima lungo le righe e poi nei piccoli multipli. | |
| COLUMNS ROWPAGES | Calcola le colonne e quindi i multipli di piccole dimensioni. | |
| ROWPAGES ROWS | Calcola i multipli di piccole dimensioni e quindi le righe. | |
| ROWPAGES COLUMNS | Calcola i multipli di piccole dimensioni e quindi le colonne. | |
| ROWS COLUMNS ROWPAGES | Calcola tra le righe, tra le colonne e quindi nei multipli piccoli. | |
| ROWS ROWPAGES COLUMNS | Calcola le righe, i multipli di piccole dimensioni e quindi le colonne. | |
| COLUMNS ROWS ROWPAGES | Calcola le colonne, le righe e quindi i multipli di piccole dimensioni. | |
| COLUMNS ROWPAGES ROWS | Calcola le colonne, i multipli di piccole dimensioni e quindi le righe. | |
| ROWPAGES ROWS COLUMNS | Calcola sui multipli piccoli, quindi sulle righe e infine sulle colonne. | |
| ROWPAGES COLUMNS ROWS | Calcola tra multipli piccoli, colonne e quindi righe. |
I calcoli visivi supportano le visualizzazioni che usano i piccoli multipli. Nella matrice visiva, il campo nel riquadro Multipli piccoli compare sull'asse ROWPAGES. Usare ROWPAGES per calcolare i multipli di piccole dimensioni o combinarli con ROWS e COLUMNS per controllare l'ordine di attraversamento.
Nota
Se si specifica un asse che non è presente nell'oggetto visivo, il calcolo ignora l'asse.
Reset
Molte funzioni includono un parametro facoltativo Reset che è possibile usare solo nei calcoli visivi. Questo parametro partiziona la colonna di destinazione per determinare quando la funzione viene reimpostata su 0 o cambia contesto di valutazione durante l'attraversamento della matrice visiva.
Il valore predefinito è NONE, il che significa che il calcolo non viene reimpostato.
Il Reset parametro accetta questi valori:
- Un numero intero.
- Riferimento di colonna.
- Sinonimo: HIGHESTPARENT, LOWESTPARENTo NONE.
Ogni valore specifica un livello di destinazione nella gerarchia di calcolo visiva. Il calcolo interpreta questo livello in modalità assoluta o relativa .
Il segno di un numero intero determina il modo. I valori positivi usano la modalità assoluta, i valori negativi usano la modalità relativa e 0 non reimposta il calcolo. I sinonimi forniscono valori equivalenti.
Un riferimento a una colonna usa la modalità assoluta.
Modalità di reset assoluto
La modalità assoluta partiziona in base alla colonna di destinazione e a tutte le colonne al di sopra di essa. Se la colonna di destinazione non è presente a un livello, il calcolo viene partizionato in base alle colonne rimanenti disponibili.
Un numero intero positivo identifica la colonna di destinazione partendo dall'alto della gerarchia. La colonna superiore è 1, la colonna successiva è 2 e il valore massimo è N, il numero di colonne nella gerarchia. Per i valori maggiori di N, viene usato N. È anche possibile specificare direttamente la colonna.
Si consideri ad esempio un calcolo visivo con questi livelli di gerarchia: Anno, Trimestre, Mese e Giorno. Nella tabella seguente viene illustrato il modo in cui le partizioni di calcolo a ogni livello dipendono dal valore di Reset:
| Livello/valore | Reset = 1 o anno | Reset = 2 o trimestre | Reset = 3 oppure mese | Reset = 4 oppure giorno |
|---|---|---|---|---|
| Livello giornaliero | Anno | Trimestre e anno | Mese, Trimestre e Anno | Giorno, Mese, Trimestre e Anno |
| Livello mensile | Anno | Trimestre e anno | Mese, Trimestre e Anno | Mese, Trimestre e Anno |
| Livello trimestre | Anno | Trimestre e anno | Trimestre e anno | Trimestre e anno |
| Livello anno | Anno | Anno | Anno | Anno |
| Livello totale complessivo | Nessuno | Nessuno | Nessuno | Nessuno |
Modalità di ripristino relativo
Per un numero intero negativo -X, la modalità relativa partiziona per colonne che si trovano X o più livelli al di sopra del livello corrente. Se nessuna colonna soddisfa tale condizione, il calcolo non si partiziona. I valori validi vanno da -1 a -N+1, dove N è il numero di colonne nella gerarchia. I valori al di sotto di quell'intervallo usano -N+1.
La tabella seguente illustra la modalità relativa per una gerarchia con Anno, Trimestre, Mese e Giorno:
| Livello/valore | Reset = -1 | Reset = -2 | Reset = -3 |
|---|---|---|---|
| Livello giornaliero | Mese, Trimestre e Anno | Trimestre e anno | Anno |
| Livello mensile | Trimestre e anno | Anno | Nessuno |
| Livello trimestre | Anno | Nessuno | Nessuno |
| Livello anno | Nessuno | Nessuno | Nessuno |
| Livello totale complessivo | Nessuno | Nessuno | Nessuno |
Reimpostare i sinonimi dei parametri
Il Reset parametro fornisce anche i sinonimi seguenti:
- NONE è il valore predefinito. Non reimposta il calcolo ed è equivalente a 0.
- HIGHESTPARENT esegue una reimpostazione assoluta del livello più alto ed è equivalente a 1.
- LOWESTPARENT esegue una reimpostazione relativa dall'elemento padre immediato ed è equivalente a -1.
Esempi di utilizzo del parametro Reset
Per una gerarchia con Anno, Trimestre, Mese e Giorno, i calcoli seguenti sono equivalenti. Restituiscono la somma di Sales Amount e ripartono ogni anno a ogni livello di valutazione:
RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])
I calcoli seguenti riavviano la somma di Sales Amount a 0 per ogni elemento padre immediato. L'elemento padre dipende dal livello di valutazione:
RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], -1)
Il calcolo seguente non viene reimpostato. Aggiunge l'importo vendite di ogni giorno ai valori precedenti:
RUNNINGSUM([Sales Amount])
OrderBy e PartitionBy
Il OrderBy parametro accetta ORDERBYe il PartitionBy parametro accetta PARTITIONBY. A differenza di Axis e Reset, è possibile usare questi parametri in colonne calcolate, misure e calcoli visivi e fanno riferimento direttamente ai campi.
Non tutte le funzioni forniscono questi parametri. Le funzioni esclusive per il calcolo visivo non forniscono un PartitionBy parametro. Le funzioni window forniscono un Reset parametro solo se vengono usate in un calcolo visivo. Il Relation parametro sulle funzioni finestra è disponibile indipendentemente dal fatto che venga usato in un calcolo visivo, ma accetta solo un oggetto Axis se viene usato in un calcolo visivo.
Scegliere tra questi parametri
Non è necessario specificare tutti questi parametri ed è possibile combinarli. Per decidere quale parametro usare:
- Preferisce Axis e Reset quando si desidera un comportamento indipendente dal campo che segue la struttura visiva. Fare riferimento alla struttura visiva è più flessibile che fare esplicito riferimento ai campi.
- Usare OrderBy e PartitionBy quando si desidera aggiungere il calcolo a campi specifici indipendentemente dal layout visivo.
- Usare PartitionBy invece di Reset quando l'asse ha un solo livello. Reset richiede più livelli, quindi non funziona con un campo o con più campi in un singolo livello.
Selettori di parametri
Usare i selettori di parametri per selezionare i valori per i parametri della funzione di calcolo visuale. L'immagine seguente mostra il modello Cerca un valore con totali :
Per attivare i selettori di parametri, premere Ctrl+Space.
Modelli di calcolo visivi
I calcoli visivi includono modelli per semplificare la scrittura di calcoli comuni. Il pulsante modello in modalità di modifica dei calcoli visivi apre un menu dei modelli disponibili.
Sono disponibili i modelli seguenti:
- Somma cumulativa. Calcola la somma dei valori, aggiungendo il valore corrente ai valori precedenti. Usa la funzione RUNNINGSUM.
- Media mobile. Calcola una media di un set di valori in una determinata finestra dividendo la somma dei valori in base alle dimensioni della finestra. Usa la funzione MOVINGAVERAGE.
- Percentuale del genitore. Calcola la percentuale di un valore rispetto al suo genitore. Usa la funzione COLLAPSE.
- Percentuale del totale complessivo. Calcola la percentuale di un valore rispetto a tutti i valori, usando la funzione COLLAPSEALL.
- Media dei figli. Calcola il valore medio del set di valori figlio. Usa la funzione EXPAND.
- Rispetto al precedente. Confronta un valore con un valore precedente, usando la funzione PREVIOUS.
- Rispetto al prossimo. Confronta un valore con un valore successivo, usando la funzione NEXT.
- Contro il primo. Confronta un valore con il primo valore, usando la funzione FIRST.
- Rispetto all'ultimo. Confronta un valore con l'ultimo valore, usando la funzione LAST.
- Cercare un valore nel contesto. Trova un valore o valuta un'espressione nella matrice visiva all'interno del contesto corrente. Usa la funzione LOOKUP.
- Ricercare un valore nei totali. Trova un valore o valuta un'espressione nella matrice visiva con totali. Usa la funzione LOOKUPWITHTOTALS.
Nascondi i campi nell'oggetto visivo
Nella modalità di modifica dei calcoli visivi è possibile nascondere i campi dall'oggetto visivo esattamente come si nascondono colonne e tabelle nella visualizzazione di modellazione. Ad esempio, per visualizzare solo il calcolo visivo Profit , nascondere Sales Amount e Total Product Cost dalla visualizzazione.
I campi nascosti rimangono nella matrice visiva, in modo che i calcoli visivi possano comunque farvi riferimento. Non vengono visualizzati nella visualizzazione risultante. Includi i campi nascosti solo quando i calcoli visivi li richiedono.
Formattare un calcolo visivo
Formattare un calcolo visivo con tipi di dati, opzioni di formattazione o una stringa di formato personalizzata a livello di elemento visivo. Le opzioni Formato dati nella sezione Generale del riquadro di formattazione controllano il formato.
Considerazioni e limitazioni
Tipi di oggetti visivi non supportati
I calcoli visivi e i campi nascosti non funzionano con gli oggetti visivi seguenti:
- Slicer, visualizzazione R, visualizzazione Python
- Fattori di influenza chiave, albero di scomposizione, Q&A, narrazione intelligente
- Metriche, Report Impaginato, Power Apps, Power Automate
- Oggetti visivi personalizzati
Funzionalità non supportate
Le funzionalità seguenti non sono disponibili con i calcoli visivi:
- Applicazione di filtri, ordinamento o modifica delle aggregazioni
- Riferimento automatico (un calcolo non può fare riferimento a se stesso)
- Copiare/incollare o riutilizzare tra i contenuti visivi
- Categorie di dati, limiti dei dati o visualizzazione di elementi senza dati
- Stringhe di formato dinamico (non è possibile impostare o usare come stringa di formato)
- Personalizzazione dei calcoli visivi o dei campi nascosti
- È possibile impostare avvisi per i calcoli visivi, ma le modifiche apportate ai valori di calcolo visivo non attivano gli avvisi.
- Visualizza il drill-through dei record
- IntelliSense in Power BI incorporato
Limitazioni relative alla pubblicazione e alla condivisione
- Non è possibile aggiungere ai dashboard
- Non è possibile usare Pubblica sul Web
- Le esportazioni di dati escludono i risultati del calcolo visivo; I campi nascosti vengono visualizzati solo nelle esportazioni di dati sottostanti
Altre limitazioni
- I parametri di campo funzionano con i calcoli visivi, ma presentano alcune limitazioni.
- Le connessioni dinamiche a SQL Server Analysis Services richiedono la versione 2025 o successiva.
Contenuti correlati
- Creare calcoli visivi
- Modulo di training: Creare calcoli visivi in Power BI Desktop
- Usare le opzioni di calcolo in Power BI Desktop
- Creare misure per l'analisi dei dati in Power BI Desktop
- Creare e formattare visualizzazioni di tabella in Power BI - include anche totali personalizzati, basati sui calcoli visivi.