XML for Analysis (XMLA) is an industry standard for data access in analytical systems, such as online analytical processing (OLAP) and data mining. XMLA is based on other industry standards such as XML, SOAP and HTTP. XMLA is maintained by XMLA Council with Microsoft, Hyperion and SAS Institute being the XMLA Council founder members.
The XMLA specification was first proposed by Microsoft as a successor for OLE DB for OLAP in April 2000. By January 2001 it was joined by Hyperion endorsing XMLA. The 1.0 version of the standard was released in April 2001, and in September 2001 the XMLA Council was formed. In April 2002 SAS joined Microsoft and Hyperion as founding member of XMLA Council. With time, more than 25 companies joined with their support for the standard.
Execute method has two parameters:
The result of Execute command could be Multidimensional Dataset or Tabular Rowset.
Discover method was designed to model all the discovery methods possible in OLEDB including various schema rowset, properties, keywords, etc. Discover method allows users to specify both what needs to be discovered and the possible restrictions or properties. The result of Discover method is a rowset.
Below is an example of XMLA Execute request with MDX query in command.
<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>
XMLA has a notion of session state. It is maintained through predefined SOAP headers