Uso di calcoli visivi (anteprima)
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'oggetto visivo, incluse columns, misure o altri calcoli visivi. 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 columns calcolate con la flessibilità di calcolo su richiesta dalle 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 forniscono informazioni dettagliate sul funzionamento di ognuno degli elementi, descritti nei punti elenco previous, con i calcoli visivi.
Abilitare i calcoli visivi
Prima di settembre 2024, per usare i calcoli visivi, era necessario abilitarli nelle funzionalità Opzioni e impostazioni>Opzioni>Anteprima. Selezionare Calcoli visivi, quindi 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 il pulsante Nuovo calcolo visivo nella barra multifunzione:
La window Calcoli visivi viene visualizzata in modalità Modifica. La schermata della modalità 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 visiva, che mostra i dati nell'oggetto visivo e visualizza i risultati dei calcoli visivi durante l'aggiunta. 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 previous, per ogni riga della matrice visiva vengono sottratti l'importo Sales Amount corrente e il Total Product Cost e il risultato viene restituito nella colonna Profit. Sebbene possibile, non è necessario aggiungere una funzione di aggregazione come SUM come si farebbe in una misura. In effetti, è preferibile non aggiungere tali aggregazioni quando non sono necessarie, quindi è possibile distinguere più facilmente le misure e le espressioni di calcolo visive.
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 columns e tabelle nella vista di modellazione. Ad esempio, per visualizzare solo il calcolo visivo Profit, è possibile nascondere il valore Sales Amount e Total Profit 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 window dividendo la somma dei valori in base alle dimensioni della window. 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 a previous Confronta un valore con un valore precedente, usando la funzione PREVIOUS.
- Rispetto a next Confronta un valore con un valore successivo, usando la funzione NEXT.
- Rispetto a first Confronta un valore con il valore first, usando la funzione FIRST.
- Rispetto a last Confronta un valore con il valore last, usando la funzione LAST.
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 sull’ asse first dell'oggetto visivo per impostazione predefinita. Per molti oggetti visivi l’asse first è 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 rows dall'alto verso il basso. | |
COLUMNS | Calcola orizzontalmente le columns da sinistra a destra. | |
ROWS COLUMNS | Calcola verticalmente le rows dall'alto verso il basso, continuando colonna per colonna da sinistra a destra. | |
COLUMNS ROWS | Calcola orizzontalmente le columns 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. Il parametro Reset è impostato su None per impostazione predefinita, il che significa che il calcolo visivo non viene mai riavviato. La reimpostazione prevede che ci siano più livelli sull'asse. Se sull'asse è presente un solo livello, è possibile usare PARTITIONBY. Nell'elenco seguente vengono descritti i valori validi per il Reset parametro :
- NONE è il valore predefinito e non reimposta il calcolo.
- HIGHESTPARENT reimposta il calcolo quando cambia il valore dell'elemento padre più alto sull'asse.
- LOWESTPARENT reimposta i calcoli quando cambia il valore dell'elemento padre più basso sull'asse.
- Valore numerico, che fa riferimento ai campi sull'asse, con il campo più alto come uno.
- Riferimento a un campo purché il campo si trova nell'oggetto visivo.
Per comprendere HIGHESTPARENT e LOWESTPARENT, considerare un asse con tre campi su più livelli: Anno, Trimestre e Mese. HIGHESTPARENT è Anno, mentre l'elemento padre più basso è Trimestre. Ad esempio, i calcoli visivi seguenti sono equivalenti e restituiscono la somma di Sales Amount che inizia da 0 per ogni anno:
RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])
Al contrario, i calcoli visivi seguenti restituiscono la somma di Sales Amount che inizia da 0 per ogni trimestre:
RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], 2)
Infine, questo calcolo visivo non viene reimpostato e continua ad aggiungere il valore Sales Amount per ogni mese ai previous valori, senza riavviare.
RUNNINGSUM([Sales Amount])
Axis e Reset vs ORDERBY e PARTITIONBY
Axis, Reset, ORDERBY, e PARTITIONBY sono quattro funzioni che possono essere usate in coppie o insieme per influenzare il modo in cui viene valutato 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 columns 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 più facili da usare per le funzioni della window DAX.
Nota
Usare solo le funzioni specifiche dei calcoli visivi indicate nella tabella seguente. Altre funzioni specifiche per calcoli visivi sono destinate solo all'uso interno in questo momento e non devono essere usate. Fare riferimento alla tabella seguente per eventuali aggiornamenti delle funzioni disponibili per l'uso durante l'avanzamento di questa anteprima.
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 riga first 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 alla riga last di un asse. | ProfitVSLast = [Profit] – LAST([Profit]) | INDEX(-1) |
MOVINGAVERAGE | Aggiunge una media mobile su un asse. | MovingAverageSales = MOVINGAVERAGE([Sales Amount], 2) | WINDOW |
NEXT | Fa riferimento a una riga next di un asse. | ProfitVSNext = [Profit] – NEXT([Profit]) | OFFSET(1) |
PREVIOUS | Fa riferimento a una riga previous di un asse. | ProfitVSPrevious = [Profit] – PREVIOUS([Profit]) | OFFSET(-1) |
RANGE | Fa riferimento a una sezione di rows di un asse. | AverageSales = AVERAGEX(RANGE(1), [Sales Amount]) | WINDOW |
RUNNINGSUM | Aggiunge una somma in esecuzione su un asse. | RunningSumSales = RUNNINGSUM([Sales Amount]) | 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 di oggetto 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
- 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 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 oggetti visivi che usano calcoli visivi o campi nascosti.
- Non è possibile applicare la formattazione condizionale ai calcoli visivi.
- 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 i calcoli visivi.
- Non è possibile usare la soglia 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.
- Non è possibile usare l'opzione Path di Mappe di Azure con calcoli visivi.
Next passaggi
Gli articoli seguenti possono essere utili durante l'apprendimento e l'uso di calcoli visivi: