Data Analysis Expressions

Data Analysis Expressions (abbreviato DAX) è il linguaggio utilizzato per comporre formule e query in ambiente Power Pivot, Power BI e SSAS (SQL Server Analysis Services). DAX include alcune delle funzioni che sono usate nelle formule Excel con caratteristiche aggiuntive ideate appositamente per lavorare con dati relazionali ed eseguirne aggregazioni dinamiche. In parte, rappresenta un'evoluzione del linguaggio MDX (Multidimensional Expression), sviluppato da Microsoft per i modelli multimensionali di Analysis Services in combinazione con le formule di Excel. È progettato per essere semplice e facile da usare, mantenendo allo stesso tempo la potenza e la flessibilità dei modelli tabellari di Power Pivot e SSAS.

Background modifica

Il linguaggio DAX è caratterizzato da una sintassi specializzata per richiamare le query tabulari sul modello di Analysis Services. DAX non è un linguaggio di programmazione: è un linguaggio formula e allo stesso tempo un linguaggio query, che può essere usato per definire calcoli personalizzati per colonne calcolate, tabelle calcolate, misure, gruppi di calcolo, format string personalizzate, ed espressioni filtro. In ambiente Power BI, DAX è usato anche per espressioni di formattazione condizionale ed altre proprietà dinamiche dei componenti visivi.

Storia modifica

DAX è stato sviluppato dal team SQL Server Analysis Services di Microsoft come parte del Progetto Gemini e rilasciato nel 2009 con una prima versione dell'add-in Power Pivot per Excel 2010. Sia DAX che MDX possono essere usati per richiamare query in Power Pivot e modelli Tabular, mentre solo MDX può essere impiegato per richiamare query multidimensionali nei modelli SSAS fino alla versione SQL Server 2012 RTM. Le versioni future del SSAS (sia multidimensionali che tabulari) supportano DAX nativamente. Il 2016 apporta un significativo miglioramento con la rapida adozione in Power BI e SQL Server 2016. Altre aggiunte al linguaggio DAX dopo il 2015 includono il supporto per tabelle calcolate, generazione automatica di tabelle data, variabili e più di 340 funzioni.

Tipi di dati in DAX modifica

DAX può gestire i dati in sette tipi di valori:

  • Integer (numeri interi)
  • Decimal (numeri decimali)
  • Currency (valuta - questo tipo corrisponde ai numeri decimali troncati alla quarta cifra significativa)
  • DateTime (date e ora)
  • Boolean (vero/falso)
  • String (testo)
  • Variant (variabile - il dato può essere di tipi diversi a seconda delle condizioni impartite)

Il tipo di dato BLOB (binary large object) può essere gestito nei modelli Tabular, ma non può essere impiegato nel linguaggio DAX.

Bibliografia modifica