XML for Analysis (XMLA) ist ein Industriestandard für den Datenzugriff in Analysesystemen wie Online Analytical Processing (OLAP) und Data Mining. XMLA basiert auf anderen Industriestandards wie XML, SOAP und HTTP. XMLA iwird vom XMLA Council gepflegt, wobei Microsoft, Hyperion und SAS Institute die Gründungsmitglieder des XMLA Council sind.

Geschichte

Bearbeiten

Die XMLA-Spezifikation wurde erstmals im April 2000 von Microsoft als Nachfolger von OLE DB für OLAP vorgeschlagen. Im Januar 2001 schloss sich Hyperion ihr an und unterstützte XMLA. Die Version 1.0 des Standards wurde im April 2001 veröffentlicht und im September 2001 wurde der XMLA Council gegründet. Im April 2002 schloss sich SAS Microsoft und Hyperion als Gründungsmitglied des XMLA Council an.[1] Mit der Zeit schlossen sich mehr als 25 Unternehmen an und unterstützten den Standard.

XMLA besteht nur aus zwei SOAP-Methoden: Ausführen und Entdecken.[2] Es wurde so gestaltet, dass die Einfachheit erhalten bleibt.

Execute (Ausführen)

Bearbeiten

Die Execute-Methode hat zwei Parameter:

  • Command - der ausgeführt werden soll. Es kann MDX, DMX oder SQL sein.
  • Properties - XML-Liste von Befehlseigenschaften wie Timeout, Katalogname usw.

Das Ergebnis des Befehls „Ausführen“ könnte ein Multidimensional Dataset oder ein tTabular Rowset. sein.

Discover (Entdecken)

Bearbeiten

Die Discover-Methode wurde entwickelt, um alle in OLEDB möglichen Erkennungsmethoden zu modellieren, einschließlich verschiedener Schema-Rowsets, Eigenschaften, Schlüsselwörter usw. Mit der Discover-Methode können Benutzer sowohl angeben, was erkannt werden muss, als auch die möglichen Einschränkungen oder Eigenschaften. Das Ergebnis der Discover-Methode ist ein Rowset.

Abfragesprache

Bearbeiten

XMLA gibt MDXML als Abfragesprache an. In der XMLA 1.1-Version ist das einzige Konstrukt in MDXML eine MDX-Anweisung, die im <Statement>-Tag eingeschlossen ist.[3]

Unten befindet sich ein Beispiel für eine XMLA-Ausführungsanforderung mit MDX-Abfrage im Befehl.

<soap:Envelope>
 <soap:Body>
  <Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
   <Command>
    <Statement>SELECT Measures.MEMBERS ON COLUMNS FROM Sales</Statement>
   </Command>
   <Properties>
    <PropertyList>
     <DataSourceInfo/>
     <Catalog>FoodMart</Catalog>
     <Format>Multidimensional</Format>
     <AxisFormat>TupleFormat</AxisFormat>
    </PropertyList>
   </Properties>
  </Execute>
 </soap:Body>
</soap:Envelope>

Sitzungsverwaltung

Bearbeiten

XMLA hat eine Vorstellung vom Sitzungsstatus. Die Verwaltung erfolgt über vordefinierte SOAP-Header

  • BeginSession - um eine neue Sitzung zu beginnen
  • EndSession - um die bestehende Sitzung zu beenden
  • UseSession - um eine vorhandene Sitzung zu verwenden. Das zuvor für BeginSession zurückgegebene SessionId-Attribut sollte verwendet werden.
Bearbeiten

Einzelnachweise

Bearbeiten
  1. XML for Analysis gathers steam. Archiviert vom Original am 28. Mai 2008; (englisch).
  2. XML for Analysis Specification. 30. Juni 2006; (englisch).
  3. MDX / mdXML. Archiviert vom Original am 7. September 2008; (englisch).