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])

Screenshot di DAX per i calcoli visivi.

Un calcolo può fare riferimento a qualsiasi dato nell'oggetto visivo, incluse colonne, 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 colonne 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 precedenti, con i calcoli visivi.

Abilitare i calcoli visivi

Per usare i calcoli visivi, è 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.

Aggiunta di un calcolo visivo

Per aggiungere un calcolo visivo, selezionare un oggetto visivo e quindi il pulsante Nuovo calcolo nella barra multifunzione:

Screenshot della selezione del nuovo pulsante di calcolo nella barra multifunzione.

La finestra 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.

Screenshot che mostra le aree della schermata di modifica dei calcoli visivi.

Per aggiungere un calcolo visivo, digitare l'espressione nella barra della formula. Ad esempio, in un oggetto visivo che contiene Sales Amount e Total Product Cost per Fiscal Year, è possibile aggiungere un calcolo visivo che calcola il profitto per ogni anno semplicemente digitando *:::no-loc text="Profit = [Sales Amount] – [Total Product Cost]":::*.

Screenshot dell'immissione di un calcolo visivo.

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 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:

Screenshot dei calcoli visivi visualizzati nell'elenco dei campi dell'oggetto visivo.

Inoltre, il calcolo visivo viene visualizzato nell'oggetto visivo:

Screenshot dei calcoli visivi visualizzati 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 vista di modellazione. Ad esempio, per visualizzare solo il calcolo visivo Profit, è possibile nascondere il valore Sales Amount e Total Profit dalla vista:

Screenshot degli elementi nascosti dalla visualizzazione di un oggetto visivo.

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:

Screenshot dell'uso di modelli per i calcoli visivi.

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 successivo. Confronta un valore con un valore successivo, usando la funzione NEXT.
  • Rispetto al 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.

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 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. Il parametro Reset è impostato su Nessuno 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. L'elenco seguente descrive gli unici valori validi per il parametro Reset:

  • 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.

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, un calcolo visivo definito come RUNNINGSUM([Sales Amount], :::no-loc text="HIGHESTPARENT":::) o RUNNINGSUM([Sales Amount], 1) restituisce una somma in esecuzione di Sales Amount che inizia da 0 per ogni anno. Calcolo visivo definito come RUNNINGSUM([Sales Amount], :::no-loc text="LOWESTPARENT":::) o RUNNINGSUM([Sales Amount], 2) restituisce una somma in esecuzione di Sales Amount che inizia da 0 per ogni trimestre. Infine, un calcolo visivo definito come RUNNINGSUM([Sales Amount]) non viene reimpostato e continuerà ad aggiungere il valore Sales Amount per ogni mese ai valori precedenti, senza riavviare.

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 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 più facili da usare per le funzioni della finestra 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 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)
MOVINGAVERAGE Aggiunge una media mobile su un asse. MovingAverageSales = MOVINGAVERAGE([Sales Amount], 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 una sezione di righe 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 una stringa di formato a livello di oggetto visivo. Usare le opzioni Formato dati nella sezione Proprietà del riquadro di formattazione per l'oggetto visivo per impostare il formato:

Screenshot della modalità di modifica dei calcoli visivi che mostra un calcolo visivo che restituisce una percentuale formattata come percentuale usando il codice di 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:
    • Grafico a linee e istogramma a colonne in pila
    • 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.
  • Non è possibile esportare dati sottostanti da oggetti visivi che usano calcoli visivi o campi nascosti.
  • 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.
  • Non è possibile usare parametri di campo con calcoli visivi.
  • 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.

Passaggi successivi

Gli articoli seguenti possono essere utili durante l'apprendimento e l'uso di calcoli visivi: