Data Analysis Expressions (DAX) all'inizio sembra un po' intimidatorio, ma non lasciarti ingannare dal nome. Le nozioni di base su DAX sono molto facili da comprendere. Prima di tutto: DAX NON è un linguaggio di programmazione. DAX è un linguaggio di formule. È possibile usare DAX per definire calcoli personalizzati per le colonne calcolate e per le misure (note anche come campi calcolati). DAX include alcune delle funzioni usate nelle formule Excel e altre funzioni progettate per l'uso con i dati relazionali e l'aggregazione dinamica.

Informazioni sulle formule DAX

Le formule DAX sono molto simili Excel formule. Per crearne uno, digitare un segno di uguale, seguito da un nome di funzione o un'espressione e da eventuali valori o argomenti obbligatori. Come Excel, DAX offre un'ampia gamma di funzioni che è possibile usare per usare le stringhe, eseguire calcoli usando date e ore o creare valori condizionali.

Tuttavia, le formule DAX sono diverse nei modi importanti seguenti:

  • Se si vogliono personalizzare i calcoli riga per riga, DAX include funzioni che consentono di usare il valore di riga corrente o un valore correlato per eseguire calcoli che variano in base al contesto.

  • DAX include un tipo di funzione che restituisce una tabella come risultato, anziché un singolo valore. Queste funzioni possono essere usate per fornire input ad altre funzioni.

  • Funzioni di Business Intelligence per le gerarchie temporali in DAX è possibile eseguire calcoli usando intervalli di date e confrontare i risultati in periodi paralleli.

Dove usare le formule DAX

È possibile creare formule in Power Pivotinolumns calcolati o in fields calcolati.

Colonne calcolate

Una colonna calcolata è una colonna aggiunta a una tabella Power Pivot tabella. Invece di incollare o importare valori nella colonna, creare una formula DAX che definisce i valori delle colonne. Se si include la Power Pivot tabella in una tabella pivot (o grafico pivot), la colonna calcolata può essere usata come qualsiasi altra colonna di dati.

Le formule nelle colonne calcolate sono molto simili alle formule create in Excel. A differenza di Excel, tuttavia, non è possibile creare una formula diversa per le diverse righe di una tabella. la formula DAX viene invece applicata automaticamente all'intera colonna.

Quando 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 delle colonne vengono ricalcolati solo se i dati sottostanti vengono aggiornati o se viene usato il ricalcolo manuale.

È possibile creare colonne calcolate basate su misure e altre colonne calcolate. Tuttavia, evitare di usare lo stesso nome per una colonna calcolata e una misura, in quanto ciò può generare risultati confusi. Quando si fa riferimento a una colonna, è meglio usare un riferimento di colonna completo, per evitare di richiamare accidentalmente una misura.

Per informazioni più dettagliate, vedere Colonne calcolate in Power Pivot.

Misure

Una misura è una formula creata appositamente per l'uso in una tabella pivot (o grafico pivot) che usa Power Pivot dati. Le misure possono essere basate su funzioni di aggregazione standard, ad esempio CONTA.VALORI o SOMMA, oppure è possibile definire una formula personalizzata usando DAX. Nell'area Valori di una tabella pivot viene usata una misura. Se si vogliono inserire i risultati calcolati in un'area diversa di una tabella pivot, usare una colonna calcolata.

Quando si definisce una formula per una misura esplicita, non accade nulla finché non si aggiunge 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 colonna, il risultato della misura può essere diverso in ogni cella.

La definizione della misura creata viene salvata con la relativa tabella dati di origine. Viene visualizzato nell'elenco Campi tabella pivot ed è disponibile per tutti gli utenti della cartella di lavoro.

Per altre informazioni dettagliate sui campi calcolati, vedere Misure in Power Pivot.

Creazione di formule tramite la barra della formula

Power Pivot, come Excel, fornisce una barra della formula per semplificare la creazione e la modifica delle formule e la funzionalità Completamento automatico, per ridurre al minimo gli errori di digitazione e di sintassi.

Per immettere il nome di una tabella   Iniziare a digitare il nome della tabella. Completamento automatico formule include un elenco a discesa contenente nomi validi che iniziano con tali lettere.

Per immettere il nome di una colonna   Digitare una parentesi quadra e quindi scegliere la colonna nell'elenco delle colonne della tabella corrente. Per una colonna di un'altra tabella, iniziare a digitare le prime lettere del nome della tabella e quindi scegliere la colonna nell'elenco a discesa Completamento automatico.

Per altre informazioni e una procedura dettagliata su come creare formule, vedere Creare formule per i calcoli in Power Pivot.

Suggerimenti per l'uso di Completamento automatico

È possibile usare Completamento automatico formule al centro di una formula esistente con funzioni annidate. Il testo immediatamente prima del punto di inserimento viene usato per visualizzare i valori nell'elenco a discesa e tutto il testo dopo il punto di inserimento rimane invariato.

I nomi definiti creati per le costanti non vengono visualizzati nell'elenco a discesa Completamento automatico, ma è comunque possibile digitarli.

Power Pivot non aggiunge la parentesi di chiusura delle funzioni o non corrisponde automaticamente alle parentesi. Assicurarsi che ogni funzione sia sintatticamente corretta o che non sia possibile salvare o usare la formula. 

Uso di più funzioni in una formula

È possibile annidare le funzioni, ovvero usare i risultati di una funzione come argomento di un'altra funzione. È possibile annidare fino a 64 livelli di funzioni in colonne calcolate. Tuttavia, l'annidamento può rendere difficile la creazione o la risoluzione dei problemi relativi alle formule.

Molte funzioni DAX sono progettate per essere usate esclusivamente come funzioni annidate. Queste funzioni restituiscono una tabella, che non può essere salvata direttamente come risultato. deve essere fornito come input per una funzione di tabella. Ad esempio, le funzioni SUMX, MEDIAX e MINX richiedono una tabella come primo argomento.

Nota: All'interno delle misure esistono alcuni limiti per l'annidamento delle funzioni, per garantire che le prestazioni non siano interessate dai numerosi calcoli necessari per le dipendenze tra le colonne.

Confronto tra funzioni DAX e Excel funzioni

La libreria di funzioni DAX si basa sulla Excel di funzioni, ma le librerie hanno molte differenze. Questa sezione riepiloga le differenze e le analogie tra le Excel e le funzioni DAX.

  • Molte funzioni DAX hanno lo stesso nome e lo stesso comportamento generale delle funzioni Excel, ma sono state modificate per assumere tipi diversi di input e in alcuni casi potrebbero restituire un tipo di dati diverso. In genere, non è possibile usare le funzioni DAX in una formula Excel o usare formule Excel in Power Pivot senza alcuna modifica.

  • Le funzioni DAX non accettano mai un riferimento di cella o un intervallo come riferimento, ma le funzioni DAX accettano invece una colonna o una tabella come riferimento.

  • Le funzioni di data e ora DAX restituiscono un tipo di dati datetime. Al contrario, Excel di data e ora restituiscono un numero intero che rappresenta una data come numero seriale.

  • Molte delle nuove funzioni DAX restituiscono una tabella di valori o effettuano calcoli basati su una tabella di valori come input. Al contrario, Excel non ha funzioni che restituiscono una tabella, ma alcune funzioni possono funzionare con le matrici. La possibilità di fare riferimento facilmente a tabelle e colonne complete è una nuova funzionalità di Power Pivot.

  • DAX fornisce nuove funzioni di ricerca simili alle funzioni di ricerca di matrice e vettore in Excel. Tuttavia, le funzioni DAX richiedono che tra le tabelle sia stabilita una relazione.

  • Si prevede che i dati in una colonna siano sempre dello stesso tipo di dati. Se i dati non sono dello stesso tipo, DAX modifica l'intera colonna nel tipo di dati più adatto a tutti i valori.

Tipi di dati DAX

È possibile importare dati in un modello Power Pivot dati da molte origini dati diverse che potrebbero supportare tipi di dati diversi. Quando si importano o si caricano i dati e quindi si usano i dati nei calcoli o nelle tabelle pivot, i dati vengono convertiti in uno dei Power Pivot dati. Per un elenco dei tipi di dati, vedere Tipi di dati nei modelli di dati.

Il tipo di dati tabella è un nuovo tipo di dati in DAX usato come input o output per molte nuove funzioni. Ad esempio, la funzione FILTRO accetta una tabella come input e restituisce un'altra tabella che contiene solo le righe che soddisfano le condizioni di filtro. Combinando le funzioni di tabella con le funzioni di aggregazione, è possibile eseguire calcoli complessi su set di dati definiti dinamicamente. Per altre informazioni, vedere Aggregazioni in Power Pivot.

Formule e modello relazionale

La Power Pivot è un'area in cui è possibile usare più tabelle di dati e connettere le tabelle in un modello relazionale. All'interno di questo modello di dati le tabelle sono connesse tra loro tramite relazioni, che consentono di creare correlazioni con le colonne di altre tabelle e di creare calcoli più interessanti. Ad esempio, è possibile creare formule che sommano i valori per una tabella correlata e quindi salvare il valore in una singola cella. Oppure, per controllare le righe della tabella correlata, è possibile applicare filtri a tabelle e colonne. Per altre informazioni, vedere Relazioni tra tabelle in un modello di dati.

Poiché è possibile collegare tabelle tramite relazioni, le tabelle pivot possono includere anche i dati di più colonne provenienti da tabelle diverse.

Tuttavia, poiché le formule possono funzionare con intere tabelle e colonne, è necessario progettare i calcoli in modo diverso rispetto a quanto si fa in Excel.

  • In generale, una formula DAX in una colonna viene sempre applicata all'intero set di valori nella colonna (mai a poche righe o celle).

  • Le tabelle Power Pivot devono avere sempre lo stesso numero di colonne in ogni riga e tutte le righe di una colonna devono contenere lo stesso tipo di dati.

  • Quando le tabelle sono connesse da una relazione, è previsto che le due colonne usate come chiavi presentino valori corrispondenti, per la maggior parte. Poiché Power Pivot non applica l'integrità referenziale, è possibile avere valori non corrispondenti in una colonna chiave e creare comunque una relazione. Tuttavia, la presenza di valori vuoti o non corrispondenti potrebbe influire sui risultati delle formule e sull'aspetto delle tabelle pivot. Per altre informazioni, vedere Ricerche nelle formule di Power Pivot.

  • Quando si collegano tabelle usando relazioni, si ingrandisce l'ambito o context in cui vengono valutate le formule. Ad esempio, le formule in una tabella pivot possono essere interessate da eventuali filtri o intestazioni di colonna e di riga nella tabella pivot. È possibile scrivere formule che modificano il contesto, ma il contesto può anche causare la modifica dei risultati in modi che potrebbero non essere previsti. Per altre informazioni, vedere Contesto nelle formule DAX.

Aggiornamento dei risultati delle formule

Data refresh and recalculation sono due operazioni distinte ma correlate che è consigliabile comprendere quando si progetta un modello di dati che contiene 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 da un'origine dati esterna. È possibile aggiornare i dati manualmente a intervalli specificati. In caso contrario, se la cartella di lavoro è stata pubblicata in un sito SharePoint, è possibile pianificare un aggiornamento automatico da origini esterne.

Il ricalcolo è il processo di aggiornamento dei risultati delle formule per riflettere le eventuali modifiche apportate alle formule stesse e per riflettere tali modifiche nei dati sottostanti. Il ricalcolo può influire sulle prestazioni nei modi seguenti:

  • Per una colonna calcolata, il risultato della formula deve sempre essere ricalcolato per l'intera colonna, ogni volta che si modifica la formula.

  • Per una misura, i risultati di una formula non vengono calcolati finché la misura non viene inserita nel contesto della tabella pivot o grafico pivot. La formula verrà ricalcolata anche quando si modifica un'intestazione di riga o di colonna che influisce sui filtri sui dati o quando si aggiorna manualmente la tabella pivot.

Risoluzione dei problemi relativi alle formule

Errori durante la scrittura di formule

Se viene visualizzato un errore durante la definizione di una formula, la formula potrebbe contenere un errore sintattico,un errore semanticoo un errore di calcolo.

Gli errori sintattici sono i più semplici da risolvere. In genere implicano una parentesi o una virgola mancante. Per informazioni sulla sintassi delle singole funzioni, vedere la Guida di riferimento alle funzioni DAX.

L'altro tipo di errore si verifica quando la sintassi è corretta, ma il valore o la colonna a cui si fa riferimento non ha senso nel contesto della formula. Questi errori semantici e di calcolo potrebbero essere causati da uno dei problemi seguenti:

  • La formula fa riferimento a una colonna, una tabella o una funzione non esistente.

  • La formula sembra corretta, ma quando il motore dati recupera i dati trova una mancata corrispondenza di tipo e genera un errore.

  • La formula passa un numero o un tipo di parametri non corretto a una funzione.

  • La formula fa riferimento a una colonna diversa che contiene un errore e quindi i relativi valori non sono validi.

  • La formula fa riferimento a una colonna che non è stata elaborata, ovvero contiene metadati ma non dati effettivi da usare per i calcoli.

Nei primi quattro casi, DAX contrassegna l'intera colonna che contiene la formula non valida. Nell'ultimo caso, DAX grigio la colonna per indicare che la colonna è in uno stato non elaborato.

Risultati non corretti o insoliti durante la classificazione o l'ordinamento dei valori delle colonne

Durante la classificazione o l'ordinamento di una colonna che contiene il valore NaN (Not a Number), è possibile che si otterrà un risultato errato o imprevisto. Ad esempio, quando un calcolo divide 0 per 0, viene restituito un risultato NaN.

Questo perché il motore della formula esegue l'ordinamento e la classificazione confrontando i valori numerici. Tuttavia, Non è possibile confrontare NaN con altri numeri nella colonna.

Per garantire risultati corretti, è possibile usare istruzioni condizionali con la funzione SE per verificare la ricerca di valori NaN e restituire un valore numerico 0.

Compatibilità con i modelli tabulari di Analysis Services e la modalità DirectQuery

In generale, le formule DAX compilate in Power Pivot sono completamente compatibili con i modelli tabulari di Analysis Services. Tuttavia, se si esegue la migrazione del modello Power Pivot a un'istanza di Analysis Services e quindi si distribuisce il modello in modalità DirectQuery, esistono alcune limitazioni.

  • Alcune formule DAX possono restituire risultati diversi se si distribuisce il modello in modalità DirectQuery.

  • Alcune formule potrebbero causare errori di convalida quando si distribuisce il modello in modalità DirectQuery, perché la formula contiene una funzione DAX non supportata in un'origine dati relazionale.

Per altre informazioni, vedere la documentazione relativa alla modellazione tabulare di Analysis Services in SQL Server 2012 BooksOnline.

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Quanto ti soddisfa la qualità della traduzione?
Cosa ha influito sulla tua esperienza?

Grazie per il feedback!

×