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.
Nota
I calcoli visivi sono attualmente in anteprima.
Un calcolo visivo è un calcolo DAX definito ed eseguito direttamente in un oggetto visivo. I calcoli visivi semplificano la creazione di calcoli che in precedenza erano difficili da creare, portando a un DAX più semplice e una manutenzione più semplici e a prestazioni migliori.
Ecco un esempio di calcolo visivo che definisce una somma in esecuzione per Sales Amount. Si noti che il DAX necessario è semplice:
Running sum = RUNNINGSUM([Sales Amount])
Un calcolo può fare riferimento a qualsiasi dato nell'elemento visivo, incluse colonne, misure o altri calcoli di visualizzazione. Questa capacità rimuove la complessità del modello semantico e semplifica il processo di scrittura di DAX. È possibile usare calcoli visivi per completare calcoli aziendali comuni, ad esempio l'esecuzione di somme o medie mobili.
I calcoli visivi differiscono dalle altre opzioni di calcolo in DAX:
I calcoli visivi non vengono archiviati nel modello e vengono invece archiviati nell'oggetto visivo. Ciò significa che i calcoli visivi possono fare riferimento solo a ciò che si verifica nell'oggetto visivo. Qualsiasi elemento nel modello deve essere aggiunto all'oggetto visivo prima che il calcolo visivo possa farvi riferimento, liberando i calcoli visivi dalla complessità del contesto di filtro e dal modello.
I calcoli visivi combinano la semplicità del contesto dalle colonne calcolate con la flessibilità di calcolo su richiesta delle misure.
Rispetto alle misure, i calcoli visivi operano sui dati aggregati anziché sul livello di dettaglio, spesso con conseguenti vantaggi in termini di prestazioni. Quando un calcolo può essere ottenuto da una nuova misura o da un calcolo visivo, quest'ultimo spesso porta a prestazioni migliori.
Poiché i calcoli visivi fanno parte dell'oggetto visivo, possono fare riferimento alla struttura visiva, che comporta una maggiore flessibilità.
Per un confronto più approfondito dei modi per aggiungere calcoli in Power BI, vedere Uso delle opzioni di calcolo in Power BI Desktop.
Dopo aver abilitato i calcoli visivi, è possibile:
- aggiungere calcoli visivi ai report;
- nascondere determinati campi;
- creare rapidamente calcoli visivi usando i modelli;
- eseguire calcoli visivi flessibili facendo riferimento agli assi dell'oggetto visivo.
Le sezioni seguenti offrono dettagli su come ciascuno degli elementi descritti nei punti precedenti funzioni con i calcoli visivi.
Abilitare i calcoli visivi
Prima di settembre 2024, per usare i calcoli visivi, è necessario abilitarlo in Opzioni e opzioni Opzioni>>Funzionalità di anteprima. Selezionare Calcoli visivi e selezionare OK. I calcoli visivi vengono abilitati dopo il riavvio di Power BI Desktop.
A partire da settembre 2024, questo passaggio non è più necessario perché i calcoli visivi sono abilitati per impostazione predefinita. Mentre si è ancora in anteprima, è possibile usare le impostazioni precedenti per disabilitare i calcoli visivi, se preferito.
Aggiunta di un calcolo visivo
Per aggiungere un calcolo visivo, selezionare un oggetto visivo e quindi selezionare il pulsante Nuovo calcolo visivo nella barra multifunzione:
Viene visualizzata la finestra Calcoli visivi in modalità Modifica . La schermata Modalità di modifica è costituita da tre sezioni principali, come illustrato dall'alto verso il basso nell'immagine seguente:
- Anteprima visiva che mostra l'oggetto visivo con cui si sta lavorando
- Barra della formula in cui è possibile aggiungere calcoli visivi
- Matrice dei dati visivi che mostra i dati nell'oggetto visivo e visualizza i risultati dei calcoli visivi man mano che li aggiungi. Qualsiasi stile o tema applicato all'oggetto visivo non viene applicato alla matrice visiva.
Per aggiungere un calcolo visivo, digitare l'espressione nella barra della formula. Ad esempio, in un oggetto visivo contenente Sales Amount e Total Product Cost by Fiscal Year, è possibile aggiungere un calcolo visivo che calcola il profitto per ogni anno digitando:
Profit = [Sales Amount] – [Total Product Cost]
Per impostazione predefinita, la maggior parte dei calcoli visivi in un oggetto visivo viene valutata riga per riga, ad esempio una colonna calcolata. Nell'esempio precedente, per ogni riga della matrice visiva vengono sottratti i
Quando si aggiungono calcoli visivi, questi vengono visualizzati nell'elenco dei campi nell'oggetto visivo:
Inoltre, il calcolo visivo viene visualizzato nell'oggetto visivo:
È possibile usare molte funzioni DAX esistenti nei calcoli visivi. Sono disponibili anche funzioni specifiche per i calcoli visivi. Poiché i calcoli visivi funzionano entro i limiti della matrice visiva, le funzioni che si basano sulle relazioni del modello, ad esempio USERELATIONSHIP, RELATED o RELATEDTABLE , non possono essere usate.
Nascondere i campi dall'oggetto visivo
Nella modalità di modifica dei calcoli visivi è possibile nascondere i campi dall'oggetto visivo esattamente come è possibile nascondere colonne e tabelle nella visualizzazione di modellazione. Ad esempio, se vuoi visualizzare solo il calcolo visivo Profit, è possibile nascondere Importo vendite e Profitto Totale dalla vista.
Nascondere i campi non li rimuove dall'oggetto visivo o dalla matrice visiva, in modo che i calcoli visivi possano comunque farvi riferimento e continuare a funzionare. Un campo nascosto viene sempre visualizzato nella matrice visiva, ma non viene visualizzato nell'oggetto visivo risultante. È consigliabile includere campi nascosti solo se sono necessari per il funzionamento dei calcoli visivi.
Utilizzo dei modelli
I calcoli visivi includono modelli per semplificare la scrittura di calcoli comuni. È possibile trovare i modelli selezionando il pulsante modello e scegliendo un modello da usare:
È anche possibile creare un calcolo visivo basato su modelli dalla barra multifunzione facendo clic sulla parte inferiore del pulsante Nuovo calcolo visivo .
Sono disponibili i modelli seguenti:
- Esecuzione di somme. 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 dell'entità principale. Calcola la percentuale di un valore rispetto alla relativa entità principale. Usa la funzione COLLAPSE.
- Percentuale del totale complessivo. Calcola la percentuale di un valore rispetto a tutti i valori, usando la funzione COLLAPSEALL.
- Media degli elementi figlio. 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. Trovare un valore o valutare un'espressione nella matrice visiva all'interno del contesto corrente, usando la LOOKUP funzione .
- Ricercare un valore nei totali. Trovare un valore o valutare un'espressione nella matrice visiva con totali, usando la LOOKUPWITHTOTALS funzione .
Se si seleziona un modello, il modello viene inserito nella barra della formula. È possibile usare questi modelli come punti di partenza. È anche possibile aggiungere espressioni personalizzate senza basarsi sui modelli.
Axis
Molte funzioni hanno un parametro facoltativo Axis, che può essere usato solo nei calcoli visivi. Axis influenza il modo in cui il calcolo visivo attraversa la matrice visiva. Il parametro Axis è impostato sul primo asse dell'oggetto visivo per impostazione predefinita. 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 | Nome in Axis | Descrizione |
---|---|---|
![]() |
ROWS | Calcola verticalmente le righe dall'alto verso il basso. |
![]() |
COLUMNS | Calcola orizzontalmente le colonne da sinistra a destra. |
![]() |
ROWS COLUMNS | Calcola verticalmente attraverso le righe dall'alto verso il basso, continuando colonna per colonna da sinistra a destra. |
![]() |
COLUMNS ROWS | Calcola orizzontalmente le colonne da sinistra a destra, continuando riga per riga dall'alto verso il basso. |
Nota
È possibile usare solo i valori dell'asse disponibili nell'oggetto visivo su cui si sta lavorando. Non tutti gli oggetti visivi forniscono tutti gli assi e alcuni oggetti visivi non forniscono assi.
Reset
Molte funzioni hanno un parametro facoltativo Reset disponibile solo nei calcoli visivi. Reset influenza se e quando la funzione reimposta il valore su 0 o passa a un ambito diverso durante l'attraversamento della matrice visiva. Questa operazione viene eseguita partizionando la colonna di destinazione. Quando i calcoli vengono eseguiti all'interno di una partizione, il modo in cui la colonna viene divisa in partizioni decide se viene reimpostato un calcolo. Il parametro Reset è impostato su NONE per impostazione predefinita, il che significa che il calcolo visivo non viene mai riavviato. Il Reset parametro accetta diversi tipi di valori:
- integer
- riferimenti alle colonne
- Sinonimi speciali: HIGHESTPARENT, LOWESTPARENT,NONE
In ogni caso specifica un singolo livello nella gerarchia di calcolo visuale (chiamiamolo il livello di destinazione). Tuttavia, il modo in cui questo livello viene interpretato nel calcolo può variare. Il Reset comportamento opera in due modalità diverse: assoluto e relativo.
Quando si usano valori interi per il parametro o i relativi equivalenti NONE, HIGHESTPARENT e LOWESTPARENT, è possibile scegliere tra queste due modalità tramite il segnale dell'intero: i valori positivi eseguono una reimpostazione in modalità assoluta e i valori negativi eseguono una reimpostazione in modalità relativa (e zero non reimposta affatto, il comportamento predefinito).
Se si specifica un riferimento a una colonna, si opera anche in modalità assoluta. Questi valori determinano il modo in cui la colonna di destinazione viene partizionata e pertanto se viene reimpostata. Queste due modalità sono descritte in dettaglio di seguito:
Modalità assoluta
Questa modalità indica che il calcolo deve essere partizionato dalla colonna di destinazione e da tutti quelli sopra, e questo vale a ogni livello del calcolo. Ai livelli sopra il target (dove la colonna target non è presente e forse anche altre), il calcolo viene suddiviso dalle colonne rimanenti disponibili. Il valore intero positivo identifica la colonna di destinazione a partire dall'inizio (la colonna superiore è 1, la successiva è 2 e così via). Aumenta fino a N (il numero di colonne nella gerarchia) e gli eventuali valori più elevati vengono eliminati. In alternativa, è anche possibile specificare direttamente la colonna.
Si consideri ad esempio un calcolo visivo con questi livelli di gerarchia: Anno, Trimestre, Mese e Giorno. La tabella seguente mostra come il calcolo verrà partizionato a ogni livello a seconda del 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à relativa
Dato un valore intero negativo –X, a ogni livello il calcolo viene partizionato da tutte le colonne X livelli o superiore nella gerarchia (o non partizionato affatto se tale livello non esiste). I valori validi per questa modalità sono compresi tra -1 e -N+1 (dove N è il numero di colonne nella gerarchia) e i valori inferiori vengono eliminati. Anche in questo caso, considerare il calcolo visivo descritto in precedenza. La tabella seguente mostra come il calcolo verrà partizionato a ogni livello a seconda del valore di Reset:
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 |
Sinonimi
Reset fornisce anche i sinonimi seguenti:
- NONE è il valore predefinito. Non reimposta il calcolo ed è equivalente a 0.
- HIGHESTPARENT esegue una reimpostazione assoluta al livello più alto ed è equivalente a 1.
- LOWESTPARENT esegue una reimpostazione relativa dall'elemento padre immediato ed è equivalente a -1.
Esempi di utilizzo Reset
Si consideri ad esempio il calcolo visivo descritto in precedenza. I calcoli visivi sono equivalenti e restituiscono la somma di Importo delle Vendite che si ripristina ogni anno, indipendentemente dal livello a cui viene valutato il calcolo (vedere modalità assoluta):
RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])
Al contrario, i seguenti calcoli visivi restituiscono la somma di Sales Amount che inizia da 0 per ogni genitore immediato, che naturalmente dipende dal livello su cui viene valutato il calcolo (vedere modalità relativa).
RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], -1)
Infine, questo calcolo visivo non viene reimpostato e continua ad aggiungere il valore Sales Amount per ogni giorno ai valori precedenti, senza riavviare.
RUNNINGSUM([Sales Amount])
Axis e Reset vs ORDERBY e PARTITIONBY
Axis, Reset, ORDERBYe PARTITIONBY sono quattro funzioni che possono essere usate in coppie o insieme per influenzare la modalità di valutazione di un calcolo. Formano due coppie che vengono spesso usate insieme:
- Axis e Reset
- ORDERBY e PARTITIONBY
Axis e Reset sono disponibili solo per le funzioni che possono essere usate nei calcoli visivi e possono essere usate solo in un calcolo visivo, perché fanno riferimento alla struttura visiva. ORDERBY e PARTITIONBY sono funzioni che possono essere usate in colonne calcolate, misure e calcoli visivi e fanno riferimento ai campi. Anche se eseguono la stessa funzione, differiscono per il livello di astrazione fornito; fare riferimento alla struttura visiva è una soluzione più flessibile rispetto al riferimento esplicito ai campi tramite ORDERBY o PARTITIONBY.
La reimpostazione prevede che ci siano più livelli sull'asse. Nel caso in cui non si disponga di più livelli sull'asse perché è presente un solo campo oppure vi sono più campi in un singolo livello sull'asse, è possibile usare PARTITIONBY.
La specifica di una coppia funziona correttamente, ma è anche possibile specificare Axis, ORDERBY e/o PARTITIONBY insieme, nel qual caso i valori specificati per ORDERBY e PARTITIONBY sostituiscono i valori dettati da Axis. Reset non può essere combinato con ORDERBY e PARTITIONBY.
È possibile considerare la coppia ORDERBY e PARTITIONBY come i riferimenti al campo di aggiunta verso il basso specificando in modo esplicito i campi, dove Asse e Reimposta sono indipendenti dai campi, che fanno riferimento alla struttura e a qualsiasi campo si trovi nella struttura che viene usata.
Funzioni disponibili
È possibile usare molte delle funzioni DAX esistenti nei calcoli visivi. Poiché i calcoli visivi funzionano entro i limiti della matrice visiva, le funzioni che si basano sulle relazioni del modello, ad esempio USERELATIONSHIP, RELATED o RELATEDTABLE , non sono disponibili.
I calcoli visivi introducono anche un set di funzioni specifiche per i calcoli visivi. Molte di queste funzioni sono scorciatoie più facili da usare per le funzioni finestra DAX.
Funzione | Descrizione | Esempio | Collegamento a |
---|---|---|---|
COLLAPSE | Il calcolo viene valutato a un livello superiore dell'asse. | Percentuale elemento padre = 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 di elementi figlio = EXPAND(AVERAGE([Sales Amount]), ROWS) | N/D |
EXPANDALL | Il calcolo viene valutato a livello foglia dell'asse. | Media del livello foglia = EXPANDALL(MEDIA([Sales Amount]), ROWS) | N/D |
FIRST | Fa riferimento alla prima riga di un asse. | ProfittoContrastoPrimo = [Profitto] – FIRST([Profitto]) | 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 | Valutare l'espressione nella matrice visiva usando il contesto corrente. | LookupSalesFor2025WithContext = LOOKUP(SUM([Sales]) [Year], "2025") | N/D |
LOOKUPWITHTOTALS | Valuta l'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. | ProfitToPrecedente = [Profitto] – PREVIOUS([Profitto]) | OFFSET(-1) |
RANGE | Fa riferimento a uno spezzone di righe di un asse. | AverageSales = AVERAGEX(RANGE(1), [Importo Vendite]) | WINDOW |
RUNNINGSUM | Aggiunge una somma in esecuzione su un asse. | RunningSumSales = RUNNINGSUM([Importo delle Vendite]) | WINDOW |
Formattazione dei calcoli visivi
È possibile formattare un calcolo visivo usando tipi di dati e opzioni di formattazione. È anche possibile impostare una stringa di formato a livello visivo personalizzata. Usare le opzioni Formato dati nella sezione Generale del riquadro di formattazione per l'oggetto visivo per impostare il formato:
Considerazioni e limitazioni
I calcoli visivi sono attualmente in anteprima e durante l'anteprima è necessario tenere presenti le considerazioni e le limitazioni seguenti:
- Non sono supportati tutti i tipi di oggetto visivo. Usare la modalità di modifica dei calcoli visivi per modificare il tipo di oggetto visivo. Inoltre, gli oggetti visivi personalizzati non sono stati testati con calcoli visivi o campi nascosti.
- Sono stati testati i tipi di oggetto visivo e le proprietà visive seguenti e non funzionano con i calcoli visivi o i campi nascosti:
- Mappa ad albero
- Filtro dei dati
- Oggetto visivo R
- Oggetto visivo Python
- Fattori di influenza chiave
- Albero di scomposizione
- Domande e risposte
- Narrazione intelligente
- Metrica
- Report impaginato
- Power Apps (applicazioni potenti)
- Power Automate
- Multipli piccoli
- Asse di riproduzione nel grafico a dispersione
- Le prestazioni di questa funzionalità non sono rappresentative del prodotto finale.
- Il riutilizzo dei calcoli visivi tramite copia/incolla o altri meccanismi non è disponibile.
- Non è possibile filtrare in base ai calcoli visivi.
- Un calcolo visivo non può fare riferimento a se stesso allo stesso livello di dettaglio o in un altro.
- La personalizzazione dei calcoli visivi o dei campi nascosti non è disponibile.
- Non è possibile aggiungere un oggetto visivo che usa calcoli visivi o campi nascosti a un dashboard.
- Non è possibile usare la funzionalità Pubblica sul Web con report che usano calcoli visivi o campi nascosti.
- Quando si esportano dati da oggetti visivi, i risultati del calcolo visivo non vengono inclusi nell'esportazione dei dati sottostanti . I campi nascosti non vengono mai inclusi nell'esportazione, tranne quando si esportano i dati sottostanti.
- Non è possibile usare la funzionalità di drill-through vedi record con elementi visivi che usano calcoli visivi o campi nascosti.
- Non è possibile impostare categorie di dati sui calcoli visivi.
- Non è possibile modificare le aggregazioni nei calcoli visivi.
- Non è possibile modificare l'ordinamento per i calcoli visivi.
- Power BI Embedded non è supportato per i report che usano calcoli visivi o campi nascosti.
- Le connessioni dinamiche a SQL Server Analysis Services non sono supportate.
- Sebbene sia possibile usare parametri di campo con calcoli visivi, presentano alcune limitazioni.
- Mostra gli elementi senza dati non è disponibile con calcoli visivi.
- Non è possibile usare i limiti dei dati con calcoli visivi.
- Non è possibile impostare una stringa di formato dinamico in un calcolo visivo né usare un calcolo visivo come stringa di formato dinamico per un campo o una misura.
Passaggi successivi
Gli articoli seguenti possono essere utili durante l'apprendimento e l'uso di calcoli visivi: