Welche Datenananlysesprache ist Ihr Ding? — SQL vs. MDX vs. DAX

Wenn wir im Bereich BI&A arbeiten, werden wir allmählich Datenanalysesprachen in Kontakt kommen. Weil die Anforderungen der Datenanalyse komplex sind, müssen Anfänger sie schrittweise beherrschen. Welche sind für Sie wichtig momentan im Beruf? Was sind die Anwendungsbereiche, Vor- und Nachteile?


Datenanalysesprachen und Anwendungsbereiche

Derzeit sind die wichtigsten Datenanalysesprachen: SQL, MDX, DAX.

SQL:Structured Query Language, ist eine Sprache zum Abfragen, Bearbeiten und Verwalten von Daten in relationalen Datenbanken (z.B. Oracle, SQL Server, MySQL).

MDX:Multi-dimensional expressions, kann mehrere Dimensionen referenzieren, für SQL Server Analysis Services (SSAS).

DAX:Data Analysis Expressions, ist eine programmgesteuerte Datenanalysesprache für Microsoft Power BI, Microsoft SQL Server Analysis Services (SSAS) und Microsoft Power Pivot für Excel.

Merkmale

Wenn SQL Abfragen verarbeitet sind, nur zwei Dimensionen, die Spalte und die Zeile, beteiligt.

MDX kann mehrere Dimensionen referenzieren. In einer mehrdimensionalen Datenbank werden Daten in Form von Würfeln (Cubes) gespeichert. Mit den Befehlen von MDX können Daten in jeder beliebigen Anzahl von Dimensionen abgefragt werden.

DAX ist eine speicher- und spaltenbasierte Datenbankanalyse-Engine.

Vor-und Nachteile

Das visuelle Bild einer SQL-Ergebnismenge ist intuitiv, die Menge ist eine zweidimensionale Tabelle mit Zeilen und Spalten. SQL ist eine unverzichtbare Datenabfragesprache.

Die visuelle Darstellung des MDX-Ergebnissatzes ist nicht intuitiv. Da mehrdimensionale Ergebnismengen mehr als drei Dimensionen haben können, ist es schwierig, die Struktur zu visualisieren. Aber solange das Modell aufgebaut ist, sind alle Analysen sehr flexibel. MDX ist leistungsfähig in der mehrdimensionalen Analyse, aber mit der Popularität der Self-Service-Analyse wird sein Anwendungsbereich immer eingeschränkter.

Der Dax-Ergebnissatz ist eine intuitive und einzelne Datenspalte, die mit anderen Datenspalten kombiniert werden muss, um Analyseergebnisse zu erhalten.DAX ist für diejenigen, die etwas Erfahrung mit EXCEL haben, einfacher zu verwenden, und es ist auch die Datenanalysesprache von Power BI, die derzeit sehr beliebt ist.

Vergleich der Sprachen mit Beispielen.

Alle Ergebnismengen sind gleich.

  • SQL

select year(a.OrderDate) orderyear, d.EnglishProductCategoryName,sum(a.OrderQuantity) total_orderquantity,sum(a.SalesAmount) total_salesamount
from dbo.FactInternetSales a left join dbo.DimProduct b on a.ProductKey=b.ProductKey left join dbo.DimProductSubcategory c on b.ProductSubcategoryKey=c.ProductSubcategoryKey left join dbo.DimProductCategory d on c.ProductCategoryKey=d.ProductCategoryKey
group by year(a.OrderDate),d.EnglishProductCategoryName
order by year(a.OrderDate), d.EnglishProductCategoryName

  • MDX

SELECT NON EMPTY { [Measures].[total_Order Quantity], [Measures].[total_Sales Amount] } ON COLUMNS,
NON EMPTY { ([Order Date].[Calendar Year].[Calendar Year].ALLMEMBERS * [Dim Product].[English Product Category Name].[English Product Category Name].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM [Adventure Works DW2019]

  • DAX

EVALUATE
SUMMARIZE(‚FactInternetSales‘,dimdate[CalendarYear],DimProductCategory[EnglishProductCategoryName],
„total_orderquentity“,FactInternetSales[total_orderquantity],
„total_salesamount“,[total_salesamount]
)
ORDER BY dimdate[CalendarYear],DimProductCategory[EnglishProductCategoryName]

Fazit

Wie aus den Beispielen ersichtlich ist, gibt es Gemeinsamkeiten zwischen den drei Sprachen, aber sie haben alle ihre eigenen Hauptanwendungsbereiche und leistungsfähige Funktionen. Wie jedes Paar Ihrer Schuhe können Sie zum Gehen verwendet werden, sind jedoch für verschiedene Wetterbedingungen geeignet.

 

Weiterführende Links zum Thema:
Beitrag teilen

Jing Yang

Jing Yang war Verantwortliche für Analytics & Reporting in der OSS Abteilung bei China Mobile und arbeitete auch als Projektleiterin von Softwareprojektens.

Alle Beiträge ansehen von Jing Yang →

Schreibe einen Kommentar