Panoramica di Data Analysis Expressions (DAX)
Il linguaggio DAX (Data Analysis Expressions) è un linguaggio delle formule che consente agli utenti di definire calcoli personalizzati nelle tabelle di PowerPivot (colonne calcolate) e nelle tabelle pivot di Excel (misure). In DAX sono incluse alcune delle funzioni utilizzate nelle formule di Excel e funzioni aggiuntive progettate per utilizzare dati relazionali ed eseguire aggregazioni dinamiche.
In questa sezione vengono illustrati i concetti seguenti:
Posizione in cui utilizzare le formule DAX
Modalità di creazione di formule DAX
Tipi di operazioni che è possibile eseguire con DAX
Panoramica delle formule DAX
Le formule DAX sono molto simili alle formule di Excel. Per crearne una, si digita un segno di uguale, seguito da un nome di funzione o da un'espressione e dai valori o dagli argomenti necessari. Analogamente a Excel, DAX offre numerose funzioni che è possibile utilizzare per lavorare con le stringhe, eseguire calcoli utilizzando date e ore o creare valori condizionali.
Tuttavia, le formule DAX presentano le seguenti importanti differenze:
Una funzione DAX fa sempre riferimento a una colonna completa o una tabella. Se si desidera utilizzare solo particolari valori di una tabella o colonna, è possibile aggiungere filtri alla formula.
Se si desidera personalizzare i calcoli per ogni singola riga, in PowerPivot sono disponibili funzioni che consentono di utilizzare il valore della riga corrente o un valore correlato per eseguire calcoli che variano in base al contesto.
In DAX è incluso un tipo di funzione che restituisce una tabella come relativo risultato anziché un singolo valore. Queste funzioni possono essere utilizzate per fornire input ad altre funzioni calcolando in tal modo valori per intere tabelle o colonne.
Alcune funzioni DAX forniscono le funzionalità di Business Intelligence per le gerarchie temporali che consentono di creare calcoli utilizzando intervalli significativi di date e di confrontare i risultati in periodi paralleli.
Posizione in cui utilizzare le formule
È possibile utilizzare formule DAX nelle tabelle di PowerPivot o nelle tabelle pivot in Excel:
Per utilizzare formule nelle colonne calcolate, aggiungere una colonna e digitare quindi un'espressione nella barra della formula. Queste formule vengono create nella finestra di PowerPivot. Per ulteriori informazioni, vedere Colonne calcolate.
È possibile utilizzare formule nelle misure. Queste formule vengono create in Excel facendo clic su Aggiungi misura in una tabella pivot o in un grafico pivot di PowerPivot esistente. Per ulteriori informazioni, vedere Misure in PowerPivot.
La stessa formula può avere un comportamento diverso a seconda se viene utilizzata in una colonna calcolata o in una misura. In una colonna calcolata la formula viene sempre applicata a ogni riga della colonna in tutta la tabella. Il valore può cambiare a seconda del contesto di riga. In una misura, tuttavia, il calcolo dei risultati è fortemente dipendente dal contesto, ovvero la progettazione della tabella pivot e la scelta delle intestazioni di riga e di colonna influiscono sui valori utilizzati nei calcoli. Per ulteriori informazioni, vedere Contesto nelle formule DAX.
Creazione di formule tramite la barra della formula
In PowerPivot, come in Excel, sono disponibili una barra della formula, che semplifica la creazione e la modifica di formule, e la funzionalità di completamento automatico che consente di ridurre al minimo gli errori di digitazione e di sintassi.
Per immettere un nome di una tabella Cominciare a digitare il nome della tabella. Completamento automatico formule dispone di un elenco a discesa contenente nomi validi che iniziano con quelle lettere.
Per immettere il nome di una colonna Digitare una parentesi quadra, quindi scegliere la colonna dall'elenco di colonne nella tabella corrente. Per una colonna di un'altra tabella, cominciare a digitare le prime lettere del nome della tabella, quindi scegliere la colonna dall'elenco a discesa di completamento automatico.
Per una procedura dettagliata relativa alla compilazione di formule, vedere Compilare formule per i calcoli.
Suggerimenti sull'utilizzo di Completamento automatico
È possibile utilizzare Completamento automatico formule all'interno di una formula esistente con funzioni nidificate. Il testo immediatamente prima del punto di inserimento viene utilizzato per visualizzare i valori nell'elenco a discesa, mentre tutto il testo dopo il punto di inserimento rimane invariato.
I nomi definiti creati per le costanti non vengono visualizzati nell'elenco a discesa di completamento automatico, ma è comunque possibile digitarli.
In PowerPivot non viene aggiunta la parentesi di chiusura delle funzioni né vengono inserite automaticamente le parentesi corrispondenti. È necessario assicurarsi che ogni funzione sia sintatticamente corretta, altrimenti non sarà possibile salvare o utilizzare la formula.
Utilizzo di più funzioni in una formula
È possibile nidificare funzioni, pertanto è possibile utilizzare i risultati di una funzione come argomento di un'altra funzione. È possibile annidare fino a 64 livelli di funzioni nelle colonne calcolate. La nidificazione può tuttavia rendere più complessa la creazione di formule o la risoluzione dei problemi relativi alle formule.
Numerose funzioni di PowerPivot sono progettate per essere utilizzate esclusivamente come funzioni nidificate. Tramite queste funzioni viene restituita una tabella, che non può essere salvata direttamente come risultato nella cartella di lavoro di PowerPivot, ma deve essere fornita come input per una funzione di tabella. Le funzioni SUMX, AVERAGEX e MINX, ad esempio, richiedono tutte una tabella come primo argomento.
[!NOTA]
Vi sono alcuni limiti alla nidificazione di funzioni all'interno di misure, per garantire che le prestazioni non vengano compromesse dai numerosi calcoli richiesti dalle dipendenze tra colonne.
Confronto tra funzioni DAX e funzioni di Excel
La libreria di funzioni DAX è basata sulla libreria di funzioni di Excel ma le libreria hanno numerose differenze. In questa sezione vengono riepilogate le differenze e le analogie tra funzioni di Excel e funzioni DAX.
Numerose funzioni DAX hanno lo stesso nome e lo stesso comportamento generale delle funzioni di Excel ma sono state modificate per accettare tipi di input diversi e, in alcuni casi, possono restituire un tipo di dati diverso. In genere, non è possibile utilizzare formule DAX in una cartella di lavoro di Excel o utilizzare formule di Excel in una cartella di lavoro di PowerPivot senza apportare alcuna modifica.
Le funzioni DAX non accettano mai un intervallo di celle o un intervallo come riferimento, mentre le funzioni DAX accettano una colonna o una tabella come riferimento.
Le funzioni di data e ora di DAX restituiscono un tipo di dati datetime. Le funzioni di data e ora di Excel restituiscono invece un valore intero che rappresenta una data come numero di serie.
Numerose delle nuove funzioni DAX restituiscono una tabella di valori o consentono di eseguire calcoli basati su una tabella di valori utilizzata come input. In Excel non vi sono invece funzioni che restituiscono una tabella ma alcune funzioni possono essere utilizzate le matrici. La possibilità di fare riferimento in modo semplice a colonne e tabelle complete è una nuova funzionalità di PowerPivot.
In DAX sono disponibili nuove funzioni di ricerca, simili alle funzioni di ricerca di matrici e vettori in Excel. Tuttavia per le funzioni DAX è necessario stabilire una relazione tra le tabelle.
DAX non supporta il tipo di dati variant trovato di Excel. È previsto che i dati in una colonna siano sempre dello stesso tipo. Se i dati non sono dello stesso tipo, DAX imposta l'intera colonna sul tipo di dati che consente di adattare meglio tutti i valori.
Torna all'inizio
Tipi di dati DAX
In un foglio di lavoro di PowerPivot è possibile importare dati provenienti da numerose origini dati diverse in grado di supportare tipi di dati diversi. Quando i dati vengono importati o caricati in una cartella di lavoro e utilizzati in calcoli o in tabelle pivot, tali dati vengono convertiti in uno dei tipi di dati di PowerPivot. Per un elenco dei tipi di dati, vedere Tipi di dati supportati nelle cartelle di lavoro di PowerPivot.
Il tipo di dati table è un nuovo tipo di dati DAX utilizzato come input o output in molte funzioni nuove. Ad esempio, la funzione FILTER utilizza una tabella come input e restituisce un'altra tabella che contiene solo le righe che soddisfano le condizioni di filtro. Combinando le funzioni delle tabelle con le funzioni di aggregazione, è possibile eseguire calcoli complessi su set di dati definiti in modo dinamico. Per ulteriori informazioni, vedere Aggregazioni nelle formule.
Torna all'inizio
Formule e modello relazionale
La finestra di PowerPivot è un'area in cui è possibile utilizzare più tabelle dati e connettere le tabelle in un modello relazionale. All'interno di questo modello, le tabelle sono connesse tra di loro tramite relazioni che consentono di creare correlazioni con le colonne in altre tabelle, nonché di creare calcoli più interessanti. È ad esempio possibile creare formule che sommano valori per una tabella correlata, quindi salvare tale valore in una singola cella. Oppure, per controllare le righe dalla tabella correlata, è possibile applicare filtri a tabelle e colonne. Per ulteriori informazioni, vedere Panoramica sulle relazioni.
Dal momento che è possibile collegare tabelle tramite relazioni, le tabelle pivot possono includere anche dati da più colonne provenienti da tabelle diverse.
Tuttavia, dal momento che le formule possono essere utilizzate con intere tabelle e colonne, è necessario progettare i calcoli in modo diverso rispetto a come vengono progettati in Excel.
In genere, una formula DAX in una colonna viene applicata sempre all'intero set di valori nella colonna (e mai solo ad alcune righe o celle).
Le tabelle in PowerPivot devono disporre sempre dello stesso numero di colonne in ogni riga e tutte le righe in una colonna devono contenere lo stesso tipo di dati.
Quando le tabelle sono connesse tramite una relazione, è necessario assicurarsi che le due colonne utilizzate come chiavi dispongano di valori che siano per la maggior parte corrispondenti. Poiché PowerPivot non applica l'integrità referenziale, è possibile che in una colonna chiave siano presenti valori non corrispondenti e che si possa comunque creare una relazione. Tuttavia, la presenza di valori vuoti o non corrispondenti potrebbe influire sui risultati delle formule e sull'aspetto delle tabelle pivot. Per ulteriori informazioni, vedere Relazioni e ricerche nelle formule.
Quando si collegano tabelle nella cartella di lavoro tramite relazioni, viene ampliato l'ambito o contesto nel quale vengono valutate le formule. Ad esempio, le formule in una tabella pivot possono essere interessate da qualsiasi filtro o intestazione di colonna nella tabella pivot. È possibile scrivere formule che modificano il contesto ma il contesto può fare anche in modo che i risultati vengano modificati in modo non prevedibile. Per ulteriori informazioni, vedere Contesto nelle formule DAX.
Torna all'inizio
Misure e colonne calcolate
In PowerPivot è possibile creare formule colonne calcolate o in misure.
Colonne calcolate
Una colonna calcolata è una colonna che si aggiunge a una tabella di PowerPivot esistente. Anziché incollare o importare i valori nella colonna, viene creata una formula DAX che definisce i valori della colonna. Se si include la tabella di PowerPivot in una tabella pivot o in un grafico pivot, la colonna calcolata può essere utilizzata come qualsiasi altra colonna di dati.
Le formule nelle colonne calcolate sono molto simili a quelle create in Excel. A differenza di Excel tuttavia, non è possibile creare una formula diversa per le diverse righe di una tabella, infatti la formula DAX viene applicata automaticamente a tutta la colonna.
Se una colonna contiene una formula, il valore viene calcolato per ogni riga. I risultati vengono calcolati per la colonna non appena si crea la formula. I valori della colonna vengono ricalcolati solo se vengono aggiornati i dati sottostanti o se viene utilizzato il ricalcolo manuale.
È possibile creare colonne calcolate basate su misure e su altre colonne calcolate. Evitare comunque di utilizzare lo stesso nome per una colonna calcolata e una misura, perché ciò potrebbe produrre risultati confusi. Quando ci si riferisce a una colonna, è meglio utilizzare un riferimento alla colonna completo, per evitare di richiamare accidentalmente una misura.
Misure
Una misura è una formula creata appositamente per l'utilizzo in una tabella pivot o in un grafico pivot in cui vengono utilizzati dati PowerPivot. Le misure possono essere basate sulle funzioni di aggregazione standard, ad esempio COUNT o SUM. In alternativa, è possibile definire formule personalizzate tramite DAX. Una misura viene utilizzata nell'area Valori di una tabella pivot. Se si desidera posizionare i risultati calcolati in un'area diversa di una tabella pivot, è necessario utilizzare una colonna calcolata.
Per creare una misura, è innanzitutto necessario aggiungere una tabella pivot o un grafico pivot alla cartella di lavoro di PowerPivot. Quando si definisce una formula per una misura, non viene eseguita alcuna operazione fino a quando non si inserisce la misura in una tabella pivot. Quando si aggiunge la misura, la formula viene valutata per ogni cella nell'area Valori della tabella pivot. Poiché viene creato un risultato per ogni combinazione di intestazioni di riga e di colonna, il risultato della misura può essere diverso in ogni cella.
La definizione della misura creata viene salvata con la tabella dei dati di origine, che viene visualizzata nell'Elenco di campi di PowerPivot ed è disponibile a tutti gli utenti della cartella di lavoro.
Torna all'inizio
Aggiornamento dei risultati delle formule
L'aggiornamento dei dati e il ricalcolo sono due operazioni distinte ma correlate che è necessario comprendere ai fini della progettazione di un modello di dati contenente formule complesse, grandi quantità di dati o dati ottenuti da origini dati esterne.
L'aggiornamento dei dati è il processo di aggiornamento dei dati nella cartella di lavoro con i nuovi dati provenienti da un'origine dati esterna. È possibile aggiornare i dati manualmente a intervalli specifici. Oppure, se la cartella di lavoro è stata pubblicata in un sito di SharePoint, è possibile pianificare un aggiornamento automatico dalle origini esterne.
Il ricalcolo è il processo di aggiornamento dei risultati delle formule e delle colonne calcolate nella cartella di lavoro in modo che riflettano qualsiasi modifica alle formule e le modifiche nei dati sottostanti. Il ricalcolo può avere effetto sulle prestazioni nei modi seguenti:
Per una colonna calcolata, è necessario sempre ricalcolare il risultato della formula per la colonna intera ogni volta che la formula viene modificata.
Per una misura, tuttavia, i risultati di una formula non vengono calcolati finché la misura non viene posizionata nel contesto della tabella pivot o del grafico pivot. La formula verrà inoltre ricalcolata quando si modifica qualsiasi intestazione di riga o di colonna che influisce sui filtri applicati ai dati oppure quando la tabella pivot viene aggiornata manualmente.
Per ulteriori informazioni, vedere gli argomenti seguenti:
Torna all'inizio
Compatibilità con modelli tabulari di Analysis Services e modalità DirectQuery
In generale, le formule DAX compilate in PowerPivot sono completamente compatibili con i modelli tabulari di Analysis Services. Tuttavia, se si esegue la migrazione del modello PowerPivot in uso a un'istanza di Analysis Services in esecuzione in modalità VertiPaq e viene distribuito il modello in modalità DirectQuery, esistono alcune limitazioni.
È possibile che tramite alcune formule DAX vengano restituiti risultati diversi se si distribuisce il modello in modalità DirectQuery.
Alcune formule possono causare errori di convalida se si distribuisce il modello in modalità DirectQuery, in quanto la formula contiene una funzione DAX non supportata in un'origine dati relazionale.
Per ulteriori informazioni, visitare il sito Web all'indirizzo https://go.microsoft.com/fwlink/?LinkId=219172.
Vedere anche
Concetti
Aggiungere calcoli ai report, ai grafici e alle tabelle pivot
Tipi di dati supportati nelle cartelle di lavoro di PowerPivot
Panoramica di Data Analysis Expressions (DAX)
Altre risorse
Riferimento a Data Analysis Expressions (DAX)