DAX (limbaj de interogare)

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 14 iulie 2021; verificările necesită 2 modificări .
DAX
Semantică formulă, funcțională , specifică domeniului
Clasa de limba limbajul de interogare
Aparut in 2010
Autor Jeffrey Wang echipa de dezvoltare
Dezvoltator Microsoft
Eliberare Septembrie 2018 (lansări lunare) (2018)
Tip sistem Dinamic
Implementări majore Microsoft Power BI Desktop , Microsoft Analysis Services , Microsoft Excel
A fost influențat Microsoft Excel
influențat Microsoft Power BI , Microsoft Analysis Services , Microsoft Excel
Licență N / A
Platformă x86-64, x86-32
OS Microsoft Windows

DAX ( English  Data Analysis eXpressions  - expressions for data analysis ) este un limbaj de interogare funcțional formulaic dezvoltat și întreținut de Microsoft pentru construirea de expresii și extragerea datelor care sunt situate într-un model tabelar  - un model de reprezentare a datelor similar ideologic cu un model OLAP multidimensional . O interogare sau expresie DAX seamănă cu sintaxa formulelor Excel , în care sunt apelate anumite funcții ale limbajului, dar, spre deosebire de Excel, funcționează fie cu coloane întregi dintr-un tabel de date simultan, fie cu o parte din aceste coloane. Spre deosebire de Excel, adresarea datelor din orice celulă a unui tabel de date folosind DAX este imposibilă, ceea ce aduce limbajul mai aproape de SQL sau MDX .

Este unul dintre cele trei elemente cheie ale conceptului de construire a sistemelor BI conform Microsoft, împreună cu instrumentele ETL Power Query și  subsistemul de vizualizare Power View . Utilizarea DAX este fără drepturi de autor.

Sintaxă

Deoarece creatorii DAX s-au inspirat din sintaxa formulei Excel [1] , orice interogare DAX poate fi reprezentată ca șir. Retururile de transport, spațiile, tabulatorii dintre elementele de interogare sunt ignorate, iar interogările pe mai multe linii sunt folosite doar pentru a face codul mai ușor de citit.

Un exemplu de creare a unei noi măsuri (analog unei noi funcții în ceea ce privește limbajele de programare), care returnează data de ieri:

Вчерашняя дата = TODAY () - 1

Implementarea DAX PowerPivot pentru Excel folosește „:=" ca infix de atribuire în loc de „=" în definițiile măsurilor; Restul sintaxei rămâne neschimbată. Interogarea DAX pentru SSAS este precedată de un EVALUATE. În alte implementări (de exemplu, PowerPivot pentru Excel, Power BI), cuvântul cheie EVALUATE, precum și o serie de alte cuvinte cheie ( DEFINE, MEASURE, GROUP BY, ORDERși altele asemenea) nu sunt utilizate în interfața cu utilizatorul și sunt aplicate automat.

Compoziția funcțională

Rezultatul unei interogări sau al unei expresii poate fi un tabel sau o singură valoare scalară. Peste două sute de funcții de limbaj încorporate sunt împărțite în următoarele grupuri:

Localizare

Sintaxa limbii este parțial localizată: numele funcțiilor limbii sunt întotdeauna scrise în engleză ( ABS, AVERAGE, BLANK, NOW, TODAY, SUMși așa mai departe), iar separatorul zecimal și separatorul de funcții depind de localitatea sistemului de operare, de exemplu, în versiunea în limba engleză, un punctul este folosit ca separator zecimal și virgula ca separator de funcții (dacă există mai multe funcții în cerere), iar în localizarea rusă, virgula este utilizată implicit pentru separatorul zecimal și punct și virgulă („; ”) este utilizat pentru a separa funcții în cadrul aceleiași solicitări sau parametri ai funcției.

Performanță

O caracteristică a limbajului este asigurarea unei performanțe ridicate a interogărilor de date și concentrarea pe calculul rezident ( de exemplu, calculul  in-memory ), datorită căruia se realizează accelerarea execuției interogărilor și devine posibilă interacțiunea interactivă cu elementele rapoartelor BI construit pe aceste date, construind tablouri de bord cu funcțiile de încărcare interactivă a detaliilor ( drill-down ), interfețe întrebare-răspuns și o serie de alte instrumente similare.

Istorie

DAX nu este un limbaj de programare. DAX este în primul rând un limbaj de formule, precum și un limbaj de interogare. Puteți utiliza DAX pentru a defini calcule personalizate pentru coloanele calculate, măsuri, tabele calculate, grupuri de calcul, șiruri de format personalizate și expresii de filtrare în securitatea bazată pe roluri în modelele tabulare. Același motor Analysis Services pentru modelele tabulare este folosit și în Power BI și Power Pivot pentru Excel. Power BI folosește și DAX pentru expresii în format condiționat și alte proprietăți dinamice ale componentelor vizuale. [3]

La implementarea tehnologiei de stocare a datelor în coloană în memorie, care este folosită în „motoarele” xVelocity (vertiPaq), a fost necesar un limbaj de interogare care să asigure manipularea datelor stocate în coloane de date tabulare (ca în dimensiunile MDX). Pe de altă parte, limbajul ar trebui să fie similar din punct de vedere sintactic cu limbajul formulei Excel, care până în 2008-2009 era familiar marei majorități a utilizatorilor de afaceri implicați în analiza datelor. Cu toate acestea, asemănarea DAX cu limbajul de formule Excel nelocalizat, bazat pe engleză, este mai mult un truc de marketing decât o nevoie reală de interogări pe un singur rând.

Deoarece interogările au fost făcute pe date în memorie și nu a fost necesară nicio intrare/ieșire , noul limbaj ar putea ignora o serie de abordări de optimizare a interogărilor utilizate în MDX/SQL [4] , rezultând interogări compacte, dezvoltare mai rapidă și performanță potențial mai bună decât MDX/SQL.

În 2010, DAX, împreună cu modelul de date tabelar, a fost integrat în SSAS versiunea 2012 [5] și a fost lansat un add- on pentru Microsoft Excel 2010 Professional, a cărui versiune a devenit Professional Plus.

Experimentul a fost recunoscut ca fiind de succes, deoarece mai târziu Microsoft a inclus suport DAX în toate produsele sale ale liniei Microsoft Analysis Services de ediții Enterprise și Business Intelligence (SQL Server 2014, SQL Server 2016, SQL Server 2017) [6] și versiuni extinse ale Microsoft . Excel pentru platforma Windows (Excel 2013, Excel 2016), precum și implementări cloud pe platforma Azure [7] [8] .

La începutul lui 2015, a fost lansat primul produs al liniei Power BI - Power BI Designer, care a integrat toate tehnologiile „Power” care au fost incluse sub formă de suplimente sau integrate în alt mod cu Excel - PowerPivot, Power Query, Power View și Power Maps. La sfârșitul anului 2015, acest produs integrat și-a schimbat numele în Power BI Desktop, de atunci a fost liber de drepturi de autor pentru uz personal.

Note

  1. Interviu cu dezvoltatorul DAX (Jeffrey Wang) . Preluat la 24 august 2018. Arhivat din original la 24 august 2018. (germană/engleză)
  2. Tipuri de funcții DAX . Consultat la 13 octombrie 2013. Arhivat din original la 15 august 2018.
  3. Alberto Ferrari. Modele Dax: cea mai cuprinzătoare colecție de soluții gata de utilizare din DAX pentru Power BI, Anaysis Services și Power Pivot . — Ed. a II-a. - Las Vegas (NV), drepturi de autor 2020. - 1 vol. (xviii-396 p.) p. - ISBN 978-1-7353652-0-6 , 1-7353652-0-3.
  4. Explorare SQL. Serviciul de analiză extremă (downlink) . Preluat la 15 august 2018. Arhivat din original la 15 august 2018. 
  5. Cărți online SQL Server 2012 . Microsoft . Preluat la 14 august 2018. Arhivat din original la 14 august 2018.
  6. Funcții acceptate de diferite ediții ale SQL Server 2014 (link nu este disponibil) . Preluat la 14 august 2018. Arhivat din original la 14 august 2018. 
  7. Creați un model în portalul Azure . Microsoft . Preluat la 3 iunie 2018. Arhivat din original la 15 august 2018.
  8. Cum se configurează un model de date tabelar în Azure SSAS . Preluat la 1 mai 2017. Arhivat din original la 14 august 2018.

Literatură

Link -uri