Data Analysis Expressions (DAX) in Power Pivot

Data Analysis Expressions (DAX) in Power Pivot

Le espressioni di analisi dati (DAX) sembrano un po' intimidatorie all'inizio, ma non fatevi ingannare dal nome. Le nozioni di base su DAX sono molto facili da capire. First Things First-DAX non è un linguaggio di programmazione. DAX è un linguaggio delle formule. Puoi 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 di Excel e funzioni aggiuntive progettate per interagire con i dati relazionali ed eseguire l'aggregazione dinamica.

Informazioni sulle formule DAX

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

Le formule DAX, tuttavia, sono diverse nei modi importanti seguenti:

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

  • DAX include un tipo di funzione che restituisce una tabella come risultato, invece di un singolo valore. Queste funzioni possono essere usate per consentire l'input ad altre funzioni.

  • Le funzionidi intelligence temporale in DAX consentono di eseguire calcoli usando intervalli di date e di confrontare i risultati tra i periodi paralleli.

Dove usare le formule DAX

È possibile creare formule in Power Pivot in cColumns o in calcolo fields.

Colonne calcolate

Una colonna calcolata è una colonna che viene aggiunta a una tabella Power Pivot esistente. Invece di incollare o importare valori nella colonna, è possibile creare una formula DAX che definisce i valori di colonna. Se si include la tabella Power Pivot in una tabella pivot o un grafico pivot, è possibile usare la colonna calcolata come si farebbe con qualsiasi altra colonna di dati.

Le formule nelle colonne calcolate sono molto simili alle formule create in Excel. Diversamente da Excel, tuttavia, non è possibile creare una formula diversa per righe diverse in 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 di colonna 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, evita di usare lo stesso nome per una colonna calcolata e una misura, perché questo può portare a risultati confusi. Quando si fa riferimento a una colonna, è preferibile 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 in modo specifico per l'uso in una tabella pivot (o in un grafico pivot) che usa Power Pivot dati. Le misure possono essere basate su funzioni di aggregazione standard, ad esempio COUNT o SUM oppure puoi definire una formula personalizzata usando DAX. Nell'area valori di una tabella pivot viene usata una misura. Se si vogliono inserire risultati calcolati in un'area diversa di una tabella pivot, usare invece una colonna calcolata.

Quando si definisce una formula per una misura esplicita, non succede 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 di 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, ad esempio Excel, fornisce una barra della formula per semplificare la creazione e la modifica delle formule e la funzionalità di completamento automatico, per ridurre al minimo gli errori di digitazione e sintassi.

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

Per immettere il nome di una colonna   Digitare una parentesi, quindi scegliere la colonna nell'elenco di 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 dall'elenco a discesa completamento automatico.

Per altri dettagli e una procedura dettagliata sulla creazione di formule, vedere creare formule per i calcoli in Power Pivot.

Suggerimenti per l'uso di completamento automatico

Puoi usare il 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 corrisponde automaticamente alle parentesi. Devi verificare che ogni funzione sia sintatticamente corretta o che non sia possibile salvare o usare la formula. 

Uso di più funzioni in una formula

Puoi annidare le funzioni, quindi puoi usare i risultati di una funzione come argomento di un'altra funzione. Nelle colonne calcolate è possibile annidare fino a 64 livelli di funzioni. Tuttavia, l'annidamento può rendere difficile la creazione o la risoluzione dei problemi delle formule.

Molte funzioni DAX sono progettate per essere usate solo 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, AVERAGEX e MINX richiedono tutte una tabella come primo argomento.

Nota: Alcuni limiti dell'annidamento delle funzioni sono disponibili all'interno delle misure, per garantire che le prestazioni non vengano influenzate dai numerosi calcoli necessari per le dipendenze tra le colonne.

Confronto tra funzioni DAX e funzioni di Excel

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

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

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

  • Le funzioni di data e ora DAX restituiscono un tipo di dati DateTime. Al contrario, le funzioni di data e ora di Excel restituiscono un valore integer che rappresenta una data come numero seriale.

  • Molte delle nuove funzioni DAX restituiscono una tabella di valori o effettuano calcoli in base a 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 offre nuove funzioni di ricerca che sono simili alle funzioni di ricerca di matrice e vettoriali in Excel. Le funzioni DAX richiedono tuttavia che venga stabilita una relazione tra le tabelle.

  • I dati di una colonna dovrebbero essere sempre dello stesso tipo di dati. Se i dati non sono dello stesso tipo, DAX cambia l'intera colonna nel tipo di dati che meglio ospita tutti i valori.

Tipi di dati DAX

È possibile importare dati in un modello di dati Power Pivot 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 tipi di dati. Per un elenco dei tipi di dati, vedere tipi di dati nei modelli di dati.

Il tipo di dati table è un nuovo tipo di dati in DAX usato come input o output per molte nuove funzioni. Ad esempio, la funzione FILTER 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 in modo dinamico. Per altre informazioni, vedere aggregazioni in Power Pivot.

Formule e modello relazionale

La finestra 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 per le relazioni, che consentono di creare correlazioni con colonne in altre tabelle e di creare calcoli più interessanti. Ad esempio, puoi creare formule che sommano valori per una tabella correlata e quindi Salva il valore in una singola cella. In alternativa, 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 le tabelle tramite le relazioni, è possibile 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 solo poche righe o celle).

  • Le tabelle in Power Pivot devono sempre avere 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, si prevede di verificare che le due colonne usate come chiavi abbiano 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 ancora una relazione. Tuttavia, la presenza di valori vuoti o non corrispondenti può influire sui risultati delle formule e sull'aspetto delle tabelle pivot. Per altre informazioni, Vedi ricerche nelle formule di Power Pivot.

  • Quando si collegano tabelle tramite relazioni, è possibile ingrandire l'ambito o iltesto in cin 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. Puoi scrivere formule che modificano il contesto, ma il contesto può anche causare la modifica dei risultati in modi che potresti non prevedere. Per altre informazioni, Vedi contesto nelle formule DAX.

Aggiornamento dei risultati delle formule

I dati r efresh e ricalcolo sono due operazioni separate ma correlate che è necessario 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 per aggiornare i dati nella cartella di lavoro con nuovi dati provenienti da un'origine dati esterna. È possibile aggiornare manualmente i dati a intervalli specificati. In alternativa, se la cartella di lavoro è stata pubblicata in un sito di 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 essere sempre ricalcolato per l'intera colonna ogni volta che si modifica la formula.

  • Per una misura, i risultati di una formula non vengono calcolati fino a quando la misura non viene inserita nel contesto della tabella pivot o del grafico pivot. La formula verrà ricalcolata anche quando si modifica qualsiasi intestazione di riga o di colonna che influisce sui filtri dei 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 messaggio di 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ù facili da risolvere. In genere coinvolgono una parentesi o una virgola mancante. Per informazioni sulla sintassi delle singole funzioni, vedere la Guida di riferimento alla funzione 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 di semantica e 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 essere corretta, ma quando il motore di dati recupera i dati, viene rilevato un tipo non corrispondente e viene generato 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, quindi contiene metadati, ma non i 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 Disabilita la colonna per indicare che la colonna si trova in uno stato non elaborato.

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

Quando si classifica o si ordina una colonna che contiene un valore NaN (non un numero), è possibile che vengano restituiti risultati sbagliati o imprevisti. Ad esempio, quando un calcolo divide 0 per 0, viene restituito un risultato NaN.

Il motivo è che il motore di formula esegue l'ordinamento e la classificazione confrontando i valori numerici; Tuttavia, NaN non può essere confrontato con altri numeri nella colonna.

Per assicurare risultati corretti, puoi usare le istruzioni condizionali usando la funzione se per testare i 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 di Power Pivot a un'istanza di Analysis Services e quindi si distribuisce il modello in modalità DirectQuery, esistono alcune limitazioni.

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

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

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

Nota:  Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Queste informazioni sono risultate utili' Questo è l'articolo in inglese per riferimento.

Amplia le tue competenze su Office
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×