Data Analysis Expressions (DAX) in PowerPivot

Data Analysis Expressions (DAX) in PowerPivot

Nota:  Riteniamo importante fornire il contenuto della Guida più recente non appena possibile, nella lingua dell'utente. Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Nella parte inferiore della pagina è possibile indicare se le informazioni sono risultate utili. Questo è l' articolo in lingua inglese per riferimento.

Espressioni DAX (Data Analysis) lunghe un po' difficile inizialmente, ma non consentire il nome di attacchi fraudolenti. Nozioni fondamentali DAX sono molto più facile comprensione. Innanzitutto prima di tutto - DAX non è un linguaggio di programmazione. DAX è un linguaggio della formula. È possibile utilizzare DAX per definire i calcoli personalizzati per le Colonne calcolate e misure (noto anche come campi calcolati). In DAX sono incluse alcune delle funzioni utilizzate nelle formule di Excel e altre funzioni progettate per gestire i dati relazionali ed eseguire l'aggregazione dinamico.

Informazioni sulle 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 con date e ore o creare valori condizionali.

Tuttavia, le formule DAX presentano le seguenti importanti differenze:

  • Se si desidera personalizzare i calcoli per ogni singola riga, in DAX 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.

  • Ora funzioni di Business Intelligencein DAX consentono di eseguire calcoli utilizzando intervalli di date e confrontare i risultati in periodi paralleli.

Posizione in cui utilizzare le formule DAX

È possibile creare formule in PowerPivotc calcolatocolonne o f calcolatocampi.

Colonne calcolate

Una colonna calcolata è una colonna che si aggiunge a una tabella di PowerPivot esistente. Invece di 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 usata 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 in una colonna è contenuta 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 che si basano sulle misure e le altre colonne calcolate. Tuttavia, evitare di utilizzare lo stesso nome per una colonna calcolata e una misura che può comportare confondere i risultati. Quando si fa riferimento a una colonna, è consigliabile utilizzare un riferimento di colonna completo, per evitare accidentalmente richiamare una misura.

Per informazioni più dettagliate, vedere Colonne calcolate in PowerPivot.

Misure

Una misura è una formula che viene creata in modo specifico per una tabella pivot o grafico pivot, che utilizza dati PowerPivot. Misure possono essere basate sulle funzioni di aggregazione standard, ad esempio numero o una somma, oppure è possibile definire una formula utilizzando DAX. Una misura viene usata nell'area dei valori di una tabella pivot. Se si desidera inserire i risultati calcolati in un'area diversa di una tabella pivot, è possibile utilizzare 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 dei valori della tabella pivot. Poiché viene creato un risultato per ogni combinazione di intestazioni di riga e colonna, il risultato per la misura può essere diverso in ogni cella.

La definizione di misura creati verrà salvata con la tabella di dati di origine. Visualizzato nell'elenco PivotTable Fields ed è disponibile per tutti gli utenti della cartella di lavoro.

Per informazioni più dettagliate, vedere misure in Power Pivot.

Creazione di formule tramite la barra della formula

In PowerPivot, come in Excel, sono disponibili una barra della formula, tramite cui vengono semplificate la creazione e la modifica di formule, e la funzionalità di completamento automatico che consente di ridurre al minimo gli errori di digitazione e sintassi.

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

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

Per ulteriori informazioni e una procedura dettagliata su come creare formule, vedere Creare formule per i calcoli in PowerPivot.

Suggerimenti sull'utilizzo di Completamento automatico

È possibile utilizzare Completamento automatico formule al centro di una formula esistente con funzioni annidate. 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.

PowerPivot non aggiunge la parentesi di chiusura delle funzioni né inserisce automaticamente le parentesi corrispondenti. È necessario assicurarsi che ogni funzione sia sintatticamente corretta, in caso contrario non sarà possibile salvare o usare 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. L'annidamento può tuttavia rendere più complessa la creazione di formule o la relativa risoluzione dei problemi.

Numerose funzioni DAX sono progettate per essere utilizzate esclusivamente come funzioni annidate. Tramite queste funzioni viene restituita una tabella, che non può essere salvata direttamente come risultato, ma deve essere fornita come input per una funzione di tabella. Ad esempio, per le funzioni SUMX, AVERAGEX e MINX è richiesta una tabella come primo argomento.

Nota: All'interno di misure, per garantire che le prestazioni non vengano compromesse dai numerosi calcoli richiesti dalle dipendenze tra le colonne sono presenti alcuni limiti all'annidamento di funzioni.

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, può essere restituito un tipo di dati diverso. In genere, non è possibile utilizzare funzioni DAX in una formula di Excel o utilizzare formule di Excel in PowerPivot senza apportare alcuna modifica.

  • Nelle funzioni DAX come riferimento non viene mai accettato un riferimento di cella o un intervallo, mentre viene accettata una colonna o una tabella.

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

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

  • È previsto che i dati in una colonna siano sempre dello stesso tipo. Se i dati non sono dello stesso tipo, tramite DAX l'intera colonna viene impostata sul tipo di dati che consente di adattare meglio tutti i valori.

Tipi di dati DAX

È possibile importare dati in un modello di dati PowerPivot da varie origini dati che potrebbero supportano diversi tipi di dati. Quando si importa o caricare i dati e quindi utilizzare i dati nei calcoli o nelle tabelle pivot, i dati vengono convertiti in uno dei tipi di dati PowerPivot. Per un elenco dei tipi di dati, vedere tipi di dati nei modelli di dati.

Il tipo di dati di tabella è un nuovo tipo di dati in DAX utilizzato 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 i criteri di filtro. Grazie alla combinazione di funzioni di tabella con le funzioni di aggregazione, è possibile eseguire calcoli complessi su definiti in modo dinamico set di dati. Per ulteriori informazioni, vedere aggregazioni in PowerPivot.

Formule e modello relazionale

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

Dal momento che è possibile collegare tabelle tramite relazioni, nelle tabelle pivot possono essere inclusi 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 PowerPivot devono avere sempre lo stesso numero di colonne in ogni riga e in tutte le righe di una colonna deve essere contenuto lo stesso tipo di dati.

  • Quando si è connessi tabelle in base alla relazione, è prevista per assicurarsi che le due colonne utilizzate come chiavi hanno valori corrispondenti, la maggior parte dei casi. Poiché PowerPivot non applicare l'integrità referenziale, è possibile hanno valori non corrispondenti in una colonna chiave e continuare a creare una relazione. Tuttavia, la presenza di valori vuoti o non corrispondenti può influire i risultati delle formule e l'aspetto delle tabelle pivot. Per ulteriori informazioni, vedere ricerche nelle formule di PowerPivot.

  • Quando si collegano tabelle tramite relazioni, aumentare l'ambito o contesto attività in cui vengono valutate le formule. Ad esempio, è possono applicare le formule in una tabella pivot da eventuali filtri o intestazioni di riga e colonna nella tabella pivot. È possibile scrivere formule che modificano contesto, ma contesto può causare i risultati in modo che non è possibile prevedere. Per ulteriori informazioni, vedere contesto nelle formule DAX.

Aggiornamento dei risultati delle formule

R dati Elabora e ricalcolo sono due operazioni separate ma correlate che è necessario conoscere durante la progettazione di un modello di dati che contiene formule complesse, grandi quantità di dati o dati ottenuto da origini dati esterne.

Aggiornamento dei dati è il processo di aggiornamento dei dati nella cartella di lavoro con i nuovi dati da un'origine dati esterna. È possibile aggiornare manualmente i dati a intervalli specificati. In alternativa, se è stata pubblicata la cartella di lavoro in un sito di SharePoint, è possibile pianificare un aggiornamento automatico da origini esterne.

Il ricalcolo è il processo di aggiornamento dei risultati delle formule in modo da rispecchiare eventuali modifiche alle formule se stessi e per riflettere le modifiche dei dati sottostanti. Il ricalcolo può influire sulle prestazioni nei modi seguenti:

  • Per una colonna calcolata, è consigliabile sempre ricalcolare il risultato della formula per la colonna intera ogni volta che la formula viene modificata.

  • Per una misura, i risultati di una formula non vengono calcolati fino a quando la misura viene inserita nel contesto di tabella pivot o grafico pivot. La formula verrà ricalcolata anche quando si modifica qualsiasi intestazione di riga o colonna che viene applicata a filtri dei dati o quando si aggiornano manualmente la tabella pivot.

Risoluzione dei problemi relativi alle formule

Errori di scrittura delle formule

Se si riceve un errore quando si definisce una formula, questa potrebbe contenere un errore sintattico, un errore semantico o un errore di calcolo.

Gli errori sintattici sono i più facili da risolvere. In genere sono dovuti a una parentesi o una virgola mancante. Per informazioni sulla sintassi delle singole funzioni, vedere 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 è appropriato nel contesto della formula. Tali errori semantici e di calcolo potrebbero essere causati da uno qualsiasi 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 quindi generato un errore.

  • La formula passa a una funzione un numero o un tipo di parametro errato.

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

  • La formula fa riferimento a una colonna che non è stata elaborata, a indicare che contiene metadati ma nessun dato effettivo da usare per i calcoli.

Nei primi quattro casi, tramite DAX viene contrassegnata l'intera colonna in cui è contenuta la formula non valida. Nell'ultimo caso, tramite DAX la colonna che si trova in uno stato non elaborato viene visualizzata in grigio.

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

Quando si classificano o si ordinano colonne contenenti valori NaN (non un numero), potrebbero essere restituiti risultati errati o imprevisti. Ad esempio quando un calcolo divide 0 per 0, viene restituito un risultato NaN.

Ciò è dovuto al fatto che il motore di formule esegue l'ordinamento e la classificazione confrontando i valori numerici, mentre non si può confrontare NaN con altri numeri nella colonna.

Per assicurare risultati corretti, è possibile usare istruzioni condizionali tramite la funzione SE per testare i valori NaN e restituire un valore numerico 0.

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 in un'istanza di Analysis Services e, successivamente, il modello viene distribuito 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 nella formula è contenuta una funzione DAX non supportata in un'origine dati relazionale.

Per ulteriori informazioni, vedere la documentazione relativa alla modellazione tabulare di Analysis Services nella documentazione online di SQL Server 2012.

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.

×