DAX | |
---|---|
Sémantika | formulový, funkční , doménově specifický |
Jazyková třída | dotazovací jazyk |
Objevil se v | 2010 |
Autor | Jeffrey Wang vývojový tým |
Vývojář | Microsoft |
Uvolnění | září 2018 (měsíční vydání) (2018) |
Typový systém | Dynamický |
Hlavní implementace | Microsoft Power BI Desktop , Microsoft Analysis Services , Microsoft Excel |
Byl ovlivněn | Microsoft Excel |
ovlivnil | Microsoft Power BI , Microsoft Analysis Services , Microsoft Excel |
Licence | n/a |
Plošina | x86-64, x86-32 |
OS | Microsoft Windows |
DAX ( anglicky Data Analysis eXpressions - výrazy pro analýzu dat ) je formulický funkční dotazovací jazyk vyvinutý a spravovaný společností Microsoft pro konstrukci výrazů a extrahování dat, která jsou umístěna v tabulkovém modelu - model reprezentace dat ideologicky podobný vícerozměrnému modelu OLAP . Dotaz nebo výraz jazyka DAX se podobá syntaxi vzorců aplikace Excel , ve kterých jsou volány určité jazykové funkce, ale na rozdíl od aplikace Excel pracuje buď s celými sloupci datové tabulky najednou, nebo s částí těchto sloupců. Na rozdíl od Excelu je adresování dat v jakékoli buňce datové tabulky pomocí DAX nemožné, což jazyk přibližuje SQL nebo MDX .
Je to jeden ze tří klíčových prvků konceptu budování BI systémů podle Microsoftu spolu s ETL nástroji Power Query a vizualizačním subsystémem Power View . Používání jazyka DAX je bezplatné.
Protože se tvůrci jazyka DAX inspirovali syntaxí vzorce Excel [1] , lze jakýkoli dotaz jazyka DAX reprezentovat jako řetězec. Návraty vozíku, mezery, tabulátory mezi prvky dotazu jsou ignorovány a víceřádkové dotazy se používají pouze pro usnadnění čtení kódu.
Příklad vytvoření nové míry (analogické s novou funkcí z hlediska programovacích jazyků), která vrací včerejší datum:
Вчерашняя дата = TODAY () - 1Implementace PowerPivot for Excel jazyka DAX používá ":=" jako infix přiřazení namísto "=" v definicích míry; Zbytek syntaxe zůstává nezměněn. Dotazu DAX pro SSAS předchází znak EVALUATE. V jiných implementacích (například PowerPivot pro Excel, Power BI) se klíčové slovo EVALUATE, stejně jako řada dalších klíčových slov ( DEFINE, MEASURE, GROUP BYa ORDERpodobně) v uživatelském rozhraní nepoužívají a používají se automaticky.
Výsledkem dotazu nebo výrazu může být tabulka nebo jediná skalární hodnota. Více než dvě stě vestavěných jazykových funkcí je rozděleno do následujících skupin:
Syntaxe jazyka je částečně lokalizována: názvy funkcí jazyka jsou vždy psány v angličtině ( ABS, AVERAGE, BLANK, NOW, TODAY, SUMa tak dále) a oddělovač desetinných míst a oddělovač funkcí závisí na národním prostředí operačního systému, například v anglické verzi a tečka se používá jako oddělovač desetinných míst a čárka jako oddělovač funkcí (pokud je v požadavku více než jedna funkce) a v ruské lokalizaci se jako oddělovač desetinných míst standardně používá čárka a středník („; ”) se používá k oddělení funkcí v rámci stejného požadavku nebo parametrů funkce.
Charakteristickým rysem jazyka je zajištění vysokého výkonu datových dotazů a zaměření na rezidentní výpočty ( angl. in-memory computing ), díky čemuž je dosaženo zrychlení provádění dotazů a je možné interaktivně interagovat s prvky BI reportů . postavená na těchto datech, budování dashboardů s funkcemi interaktivního načítání detailů ( drill-down ), rozhraní otázka-odpověď a řada dalších podobných nástrojů.
DAX není programovací jazyk. DAX je především jazyk vzorců a také dotazovací jazyk. Pomocí jazyka DAX můžete definovat vlastní výpočty pro vypočítané sloupce, míry, vypočítané tabulky, skupiny výpočtů, řetězce vlastního formátu a výrazy filtrů v zabezpečení na základě rolí v tabulkových modelech. Stejný modul Analysis Services pro tabulkové modely se používá také v Power BI a Power Pivot pro Excel. Power BI také používá jazyk DAX pro výrazy podmíněného formátu a další dynamické vlastnosti vizuálních komponent. [3]
Při implementaci technologie sloupcového ukládání dat do paměti, která se používá v „motorech“ xVelocity (vertiPaq), byl vyžadován dotazovací jazyk, který by umožňoval manipulaci s daty uloženými ve sloupcích tabulkových dat (jako v dimenzích MDX). Na druhou stranu by jazyk musel být syntakticky podobný vzorcovému jazyku Excel, který v letech 2008-2009 znala velká většina podnikových uživatelů zabývajících se analýzou dat. Podobnost jazyka DAX s nelokalizovaným jazykem vzorců Excel založeným na angličtině je však spíše marketingovým trikem než skutečnou potřebou jednořádkových dotazů.
Vzhledem k tomu, že dotazy byly prováděny na data v paměti a nebylo vyžadováno žádné I/O , mohl nový jazyk ignorovat řadu přístupů optimalizace dotazů používaných v MDX/SQL [4] , což vedlo ke kompaktním dotazům, rychlejšímu vývoji a potenciálně lepšímu výkonu než MDX/SQL.
V roce 2010 byl DAX spolu s tabulkovým datovým modelem integrován do SSAS verze 2012 [5] a byl vydán doplněk pro Microsoft Excel 2010 Professional, jehož verze se stala Professional Plus.
Experiment byl uznán jako úspěšný, protože Microsoft později zabudoval podporu DAX do všech svých produktů řady Microsoft Analysis Services edic Enterprise a Business Intelligence (SQL Server 2014, SQL Server 2016, SQL Server 2017) [6] a rozšířených verzí Microsoft Excel pro platformu Windows (Excel 2013, Excel 2016), stejně jako cloudové implementace na platformě Azure [7] [8] .
Začátkem roku 2015 byl vydán první produkt z řady Power BI – Power BI Designer, který integroval všechny „Power“ technologie, které byly zahrnuty ve formě doplňků nebo jinak integrovány s Excelem – PowerPivot, Power Query, Power View a Power Maps. Na konci roku 2015 se tento integrovaný produkt přejmenoval na Power BI Desktop, od té doby je pro osobní použití zdarma.
Dotazovací jazyky | |
---|---|