DAX (kyselykieli)

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 14. heinäkuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .
DAX
Semantiikka kaavamainen, toiminnallinen , verkkoaluekohtainen
Kieliluokka kyselyn kieli
Esiintyi 2010
Tekijä Jeffrey Wang kehitystiimi
Kehittäjä Microsoft
Vapauta Syyskuu 2018 (kuukausijulkaisut) (2018)
Tyyppijärjestelmä Dynaaminen
Tärkeimmät toteutukset Microsoft Power BI Desktop , Microsoft Analysis Services , Microsoft Excel
Vaikutettu Microsoft Excel
vaikutti Microsoft Power BI , Microsoft Analysis Services , Microsoft Excel
Lisenssi n/a
Alusta x86-64, x86-32
OS Microsoft Windows

DAX ( englanniksi  Data Analysis eXpressions  - lausekkeet tietojen analysointiin ) on Microsoftin kehittämä ja ylläpitämä kaavamainen toiminnallinen kyselykieli lausekkeiden muodostamiseen ja tietojen poimimiseen, jotka sijaitsevat taulukkomallissa  - datan esitysmallissa, joka on ideologisesti samanlainen kuin moniulotteinen OLAP - malli. DAX-kysely tai lauseke muistuttaa Excel -kaavojen syntaksia , joissa tiettyjä kielifunktioita kutsutaan, mutta toisin kuin Excel, se toimii joko tietotaulukon kokonaisilla sarakkeilla kerralla tai osalla näistä sarakkeista. Toisin kuin Excel, datataulukon missä tahansa solussa olevien tietojen osoittaminen DAX:n avulla on mahdotonta, mikä tuo kielen lähemmäksi SQL :ää tai MDX :ää .

Se on yksi kolmesta Microsoftin BI -järjestelmien rakentamiskonseptin avainelementistä yhdessä ETL - työkalujen Power Query ja Power View  -visualisointialijärjestelmän kanssa . DAX:n käyttö on rojaltivapaata.

Syntaksi

Koska DAX:n luojat saivat inspiraationsa Excelin kaavasyntaksista [1] , mikä tahansa DAX-kysely voidaan esittää merkkijonona. Riippujen palautukset, välilyönnit ja sarkaimet kyselyelementtien välillä ohitetaan, ja monirivisiä kyselyjä käytetään vain koodin lukemisen helpottamiseksi.

Esimerkki uuden suuren luomisesta (analogisesti uuden ohjelmointikielien funktion kanssa), joka palauttaa eilisen päivämäärän:

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

DAX:n PowerPivot for Excel -toteutus käyttää arvoa ":=" määritysinfix -osoitteena "="":n sijaan. Muu osa syntaksista pysyy ennallaan. SSAS : n DAX-kyselyä edeltää EVALUATE. Muissa toteutuksissa (esimerkiksi PowerPivot for Excel, Power BI) avainsanaa EVALUATE, samoin kuin monia muita avainsanoja ( DEFINE, MEASURE, GROUP BY, ORDERja vastaavia) ei käytetä käyttöliittymässä, ja niitä käytetään automaattisesti.

Toiminnallinen koostumus

Kyselyn tai lausekkeen tulos voi olla taulukko tai yksittäinen skalaariarvo. Yli kaksisataa sisäänrakennettua kielitoimintoa on jaettu seuraaviin ryhmiin:

Lokalisointi

Kielen syntaksi on osittain lokalisoitu: kielifunktioiden nimet kirjoitetaan aina englanniksi ( ABS, AVERAGE, BLANK, NOW, TODAY, SUMja niin edelleen), ja desimaalierotin ja funktionerotin riippuvat käyttöjärjestelmän alueesta , esimerkiksi englanninkielisessä versiossa a pistettä käytetään desimaalierottimena ja pilkkua funktion erottimena (jos pyynnössä on useampi kuin yksi funktio), ja venäläisessä lokalisoinnissa desimaalierottimena käytetään oletusarvoisesti pilkkua ja puolipistettä (“; ”) käytetään erottamaan toimintoja saman pyynnön tai toimintoparametrien sisällä.

Suorituskyky

Kielen ominaisuus on varmistaa datakyselyiden korkea suorituskyky ja keskittyä paikalliseen laskentaan ( esim .  in-memory computing ), jonka ansiosta kyselyn suorittaminen nopeutuu ja BI - raporttien elementtien kanssa on mahdollista olla vuorovaikutuksessa. Näiden tietojen pohjalta rakennetaan kojelaudat , joissa on vuorovaikutteisen yksityiskohtien lataamisen ( drill-down ) toiminnot, kysymys-vastaus-rajapinnat ja lukuisia muita vastaavia työkaluja.

Historia

DAX ei ole ohjelmointikieli. DAX on ensisijaisesti kaavakieli sekä kyselykieli. DAX:n avulla voit määrittää mukautettuja laskelmia lasketuille sarakkeille, mitoille, lasketuille taulukoille, laskentaryhmille, mukautetuille muotomerkkijonoille ja suodatinlausekkeille roolipohjaisessa suojauksessa taulukkomalleissa. Samaa Analysis Services -moottoria taulukkomalleille käytetään myös Power BI:ssä ja Power Pivot for Excelissä. Power BI käyttää myös DAX:ia ehdollisen muotolausekkeen ja muiden visuaalisten komponenttien dynaamisten ominaisuuksien luomiseen. [3]

Toteutettaessa saraketietojen muistiin tallennuksen tekniikkaa , jota käytetään "moottoreissa" xVelocity (vertiPaq), vaadittiin kyselykieli, joka mahdollistaisi taulukkotietojen sarakkeisiin tallennettujen tietojen käsittelyn (kuten MDX-mitoissa). Toisaalta kielen tulisi olla syntaktisesti samanlainen kuin Excelin kaavakieltä, joka vuosiin 2008-2009 oli tuttu valtaosalle data-analyysiin osallistuvista yrityskäyttäjistä. DAX:n samankaltaisuus lokalisoimattomaan, englanninkieliseen Excel-kaavakieleen on kuitenkin enemmän markkinointitemppu kuin todellinen tarve yksirivisille kyselyille.

Koska kyselyitä tehtiin muistissa oleville tiedoille eikä I/O :ta tarvittu , uusi kieli saattoi jättää huomioimatta useita MDX/SQL:ssä [4] käytettyjä kyselyn optimointimenetelmiä , mikä johti kompakteihin kyselyihin, nopeampaan kehitykseen ja mahdollisesti parempaan suorituskykyyn kuin MDX/SQL.

Vuonna 2010 DAX integroitiin taulukkotietomallin kanssa SSAS - versioon 2012 [5] ja Microsoft Excel 2010 Professionalille julkaistiin lisäosa , jonka versioksi tuli Professional Plus.

Kokeilu tunnustettiin onnistuneeksi, koska myöhemmin Microsoft rakensi DAX-tuen kaikkiin tuotteisiinsa Microsoft Analysis Services -sarjan Enterprise and Business Intelligence -versioissa (SQL Server 2014, SQL Server 2016, SQL Server 2017) [6] ja Microsoftin laajennettuihin versioihin. Excel Windows- alustalle (Excel 2013, Excel 2016) sekä pilvitoteutukset Azure- alustalle [ 7] [8] .

Alkuvuodesta 2015 julkaistiin Power BI -sarjan ensimmäinen tuote - Power BI Designer, joka integroi kaikki "Power"-tekniikat, jotka sisältyivät lisäosien muodossa tai muuten integroitiin Exceliin - PowerPivot, Power Query, Power View ja Power Maps. Vuoden 2015 lopussa tämä integroitu tuote muutti nimensä Power BI Desktopiksi, ja siitä lähtien se on ollut rojaltivapaa henkilökohtaiseen käyttöön.

Muistiinpanot

  1. Haastattelu DAX-kehittäjän (Jeffrey Wang) kanssa . Haettu 24. elokuuta 2018. Arkistoitu alkuperäisestä 24. elokuuta 2018. (saksa/englanti)
  2. DAX-funktiotyypit . Haettu 13. lokakuuta 2013. Arkistoitu alkuperäisestä 15. elokuuta 2018.
  3. Alberto Ferrari. Dax-mallit: DAX:n kattavin kokoelma käyttövalmiita ratkaisuja Power BI:lle, Anaysis Servicesille ja Power Pivotille . – 2. painos - Las Vegas (NV), tekijänoikeus 2020. - 1 osa. (xviii-396 s.) s. - ISBN 978-1-7353652-0-6 , 1-7353652-0-3.
  4. SQL Explore. Extreme Analysis Service (downlink) . Haettu 15. elokuuta 2018. Arkistoitu alkuperäisestä 15. elokuuta 2018. 
  5. SQL Server 2012 Books Online . Microsoft . Haettu 14. elokuuta 2018. Arkistoitu alkuperäisestä 14. elokuuta 2018.
  6. SQL Server 2014:n eri versioiden tukemat ominaisuudet (linkki ei saatavilla) . Haettu 14. elokuuta 2018. Arkistoitu alkuperäisestä 14. elokuuta 2018. 
  7. Luo malli Azure-portaalissa . Microsoft . Haettu 3. kesäkuuta 2018. Arkistoitu alkuperäisestä 15. elokuuta 2018.
  8. Taulukkotietomallin määrittäminen Azure SSAS:ssa . Haettu 1. toukokuuta 2017. Arkistoitu alkuperäisestä 14. elokuuta 2018.

Kirjallisuus

Linkit