Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Multidimensional Expressions (MDX)

Ähnliche Präsentationen


Präsentation zum Thema: "Multidimensional Expressions (MDX)"—  Präsentation transkript:

1 Multidimensional Expressions (MDX)
Microsoft® SQL Server™ OLAP Services

2 Einleitung Was ist MDX? Microsoft® Terminologie im OLAP Bereich
MDX – Basisabfragen Beispiele am „FoodMart Sales Cube“ MDX – DDL- und DML-Konstrukte Fazit 27. Januar 2000 Rolf Eichenberger

3 MultiDimensional EXpressions
Ist SQL für OLAP genügend? JA ... aber ... nicht bequem und nicht schnell genug! [Übung: MDX-Beispiele  in SQL umschreiben] NEIN  was gibt es besseres?  Microsoft® entwickelte MDX 27. Januar 2000 Rolf Eichenberger

4 MultiDimensional EXpressions
DDL und DML für multidimensionale Daten [ Definieren, Ändern und Abfragen] Standard im OLAP Bereich? OLAP Systeme mit integrierter „OLE DB for OLAP“ Schnittstelle sind in der Lage „MDX“ zu verarbeiten. „OLE DB for OLAP“ und „MDX“ nicht-proprietäre Systemkonzepte Hersteller, die bereits heute diesem Konzept folgen: BAAN, Business Objects, Cognos, MIS AG, SAS Institute, ... [ 27. Januar 2000 Rolf Eichenberger

5 Konzepte - Microsoft® Terminologie
„Cubes“ Grundkonzept in OLAP multidimensionale Strukturen [maximal 64 Dimensionen] „Dimensions“ Beschreibung der Kategorien in (multiplen) Hierarchiestufen „private“ oder „shared“ „Measures“ ist eine spezielle „Dimension“ Werte für die Analyse 27. Januar 2000 Rolf Eichenberger

6 MDX – Basisabfragen Achsen_Spezifizierung = Selektieren der „Members“ für die entsprechende Achse ON COLUMNS ¦ ROWS ¦ PAGES ¦ CHAPTERS ¦ SECTIONS ON AXIS(0) ... AXIS(63) 27. Januar 2000 Rolf Eichenberger

7 „FoodMart Sales Cube“ – „Dimensions“
VERGLEICHE PAPIER! 27. Januar 2000 Rolf Eichenberger

8 „FoodMart Sales Cube“ – „Measures“
VERGLEICHE PAPIER! 27. Januar 2000 Rolf Eichenberger

9 Beispiel [alle Messwerte der Städte in „CA“ und „WA“]
„MEMBERS“ = alle Elemente der „Dimension“ „CHILDREN“ ... mit der entsprechenden Bedeutung [Store].[Store State].[WA] ist kein „fully qualified name“ (nicht alle Stufen der Hierarchie)  „unique name“ WHERE Slicer-Spezifizierung weggelassen = Filterung bezüglich des Standardelements 27. Januar 2000 Rolf Eichenberger

10 Beispiel [alle Messwerte der Geschäfte in „CA“]
„DESCENDANTS“: DESCENDANTS (member, level[, flag]) „drill down“ zu einer tieferen Stufe in der Hierarchie flag ::= [SELF] ¦ BEFORE ¦ AFTER ¦ BEFORE_AND_AFTER 27. Januar 2000 Rolf Eichenberger

11 Beispiel - Spezifizierung der Messwerte [„Sales Average“ für alle Geschäftstypen in allen Staaten]
Slicer_Spezifizierung = Selektieren des entsprechenden „Slice“ des „Cube“ ... weiteres Beispiel: WHERE (Measures.[Sales Average], [Time].[Year].[1997]) (entspricht einer AND-Verknüpfung) 27. Januar 2000 Rolf Eichenberger

12 MDX – DDL- und DML-Konstrukte  „eine mächtige Abfragesprache“
„Calculated Members“ und „Named Sets“ Hierarchisches Navigieren Zeitserien „Tuples“ und „CROSSJOIN“ Filtern und Sortieren „Top“ und „Bottom“ Analysen Numerische und bedingte Abfragen 27. Januar 2000 Rolf Eichenberger

13 „Calculated Members“ und „Named Sets“
„Calculated Members“ = mit MDX berechnete Elemente WITH MEMBER parent.name AS 'expression' WITH MEMBER Measures.ProfitPercent AS '(Measures.[Store Sales] – Measures.[Store Cost]) / (Measures.[Store Cost])', FORMAT_STRING = '#.00%' SELECT ... FORMAT_STRING = Anzeigeformat „Named Sets“ = mit MDX berechnete Sammlungen WITH SET set.name AS 'expression' 27. Januar 2000 Rolf Eichenberger

14 Hierarchisches Navigieren
PREVMEMBER | CURRENTMEMBER | NEXTMEMBER | PARENT | FIRSTCHILD | LASTCHILD WITH MEMBER Measures.PercentSale AS '([Product].CURRENTMEMBER, Measures.[Unit Sales]) / ([Product].CURRENTMEMBER.PARENT, Measures.[Unit Sales])', FORMAT_STRING = '#.00%' SELECT ... LEAD(-1) | LEAD(0) | LEAD(1) | LAG(1) | LAG(0) | LAG(-1) | ... MEMBER.LEAD(number) 27. Januar 2000 Rolf Eichenberger

15 Zeitserien PARALLELPERIOD = Element an gleicher Stelle in vorheriger Periode (bspw. gleiches Quartal im vorherigen Jahr) OPENINGPERIOD = Element an erster Stelle in der Periode (bspw. erstes Quartal im Jahr) CLOSINGPERIOD = Element an letzter Stelle in der Periode (bspw. letztes Quartal im Jahr) PERIODSTODATE = alle Elemente bis an eine spezifierte Stelle (bspw. alle Quartale bis heute) YTD | QTD | MTD | WTD 27. Januar 2000 Rolf Eichenberger

16 „Tuples“ und „CROSSJOIN“
„Tuples“ = (in Klammern) kombinierte Elemente verschiedener „Dimensions“  Darstellung in der gleichen Achse (bspw. in einem 2D-Diagramm) (member_of_dim_1, member_of_dim_2, ...) „CROSSJOIN“ = Kreuzprodukt zweier Elementmengen CROSSJOIN([Customers].[City].MEMBERS, [Time].[Quarter].MEMBERS) 27. Januar 2000 Rolf Eichenberger

17 Filtern und Sortieren Filtern  „Slicing“  Selektieren der Elemente in einer Achse NON EMPTY | FILTER(set, search_condition) FILTER({[Store].[Store City].MEMBERS}, (Measures.[Unit Sales], [Time].[1997])>25000) Sortieren ORDER(set, expression[, ASC | DESC | ...]) 27. Januar 2000 Rolf Eichenberger

18 „Top“ und „Bottom“ Analysen
HEAD = die ersten n Elemente in einem „Set“ TAIL = die letzten n Elemente in einem „Set“ TOPCOUNT | TOPPERCENT | TOPSUM = die n „besten“ Elemente in einem „Set“ BOTTOMCOUNT | BOTTOMPERCENT | BOTTOMSUM = die n „schlechtesten“ Elemente in einem „Set“ 27. Januar 2000 Rolf Eichenberger

19 Numerische und bedingte Abfragen
SUM | COUNT AVG | MEDIAN | MAX | MIN | VAR | STDDEV IIF = Immediate IF ... weitere MDX-Konstrukte sind in der abgegebenen Liste zu finden! 27. Januar 2000 Rolf Eichenberger

20 Fazit MDX ist für „IT-Entwickler“ ein sehr angenehmes und leistungsfähiges Werkzeug. MDX ist für „IT-Anwender“ hingegen kompliziert und schwierig erlernbar. Absicht dieser Sprache ist die Einbettung in Anwendungen, die dem „Business-Entscheider“ vordefinierte Analysen zur Verfügung stellen! 27. Januar 2000 Rolf Eichenberger

21 Literaturempfehlungen
Brosius, Gerhard. Microsoft OLAP Services: Multidimensionale Datenverwaltung im Microsoft SQL Server 7. Addison-Wesley-Longman, Bonn 1999. Nolan, Carl. Introduction to Multidimensional Expressions (MDX). Microsoft Corporation, 27. Januar 2000 Rolf Eichenberger

22 Besten Dank und viel Vergnügen beim Suchen der Schätze, die in den „Cubes“ verborgen sind!
27. Januar 2000 Rolf Eichenberger


Herunterladen ppt "Multidimensional Expressions (MDX)"

Ähnliche Präsentationen


Google-Anzeigen