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

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

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

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

  • Data Analysis Expressions (DAX) (for SQL Server 2012) Overview, in MSDN Library, Microsoft. URL consultato il 28 novembre 2012.
  • Data Analysis Expressions (DAX) Reference, in MSDN Library, Microsoft. URL consultato il 22 dicembre 2020.
  • Marco Russo e Alberto Ferrari, DAX Patterns: Second Edition, SQLBI, 2020, pp. 418, ISBN 978-1-73536-520-6.
  • Marco Russo e Alberto Ferrari, The Definitive Guide to DAX: Business Intelligence for Microsoft Power Bi, SQL Server Analysis Services, and Excel, second, Microsoft Press, 2019, pp. 768, ISBN 978-1-5093-0697-8.
  • Alberto Ferrari e Marco Russo, The Definitive Guide to DAX: Business intelligence with Microsoft Excel, SQL Server Analysis Services, and Power BI, Microsoft Press, 2015, pp. 586, ISBN 978-0-7356-9835-2.
  • Marco Russo, Alberto Ferrari e Chris Webb, Microsoft SQL Server 2012 Analysis Services: The BISM Tabular Model, Microsoft, 2012, ISBN 978-0-7356-5818-9.
  • Art Tennick, Practical PowerPivot & DAX Formulas for Excel 2010, McGraw Hill Professional, 2012, ISBN 978-0-07-174685-4.
  • Comprehensive DAX Formula Reference Guide, in Enterprise DNA Knowledge Base, Enterprise DNA, 16 gennaio 2020. URL consultato il 5 luglio 2021.
  Portale Informatica
  Portale Microsoft