XML for Analysis (XMLA) is an industry standard for data access in analytical systems, such as
online analytical processing
Online analytical processing, or OLAP (), is an approach to answer multi-dimensional analytical (MDA) queries swiftly in computing. OLAP is part of the broader category of business intelligence, which also encompasses relational databases, repor ...
(OLAP) and
data mining. XMLA is based on other industry standards such as
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
,
SOAP
Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
and
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
. XMLA is maintained by XMLA Council with
Microsoft
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washin ...
,
Hyperion and
SAS Institute
SAS Institute (or SAS, pronounced "sass") is an American multinational developer of analytics software based in Cary, North Carolina. SAS develops and markets a suite of analytics software ( also called SAS), which helps access, manage, ana ...
being the XMLA Council founder members.
History
The XMLA specification was first proposed by
Microsoft
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washin ...
as a successor for
OLE DB for OLAP
OLE DB for OLAP (Object Linking and Embedding Database for Online Analytical Processing abbreviated ODBO) is a Microsoft published specification and an industry standard for multi-dimensional data processing. ODBO is the standard application prog ...
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.
API
XMLA consists of only two
SOAP
Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
methods.: execute and discover. It was designed in such a way to preserve simplicity.
Execute
Execute method has two parameters:
* Command - command to be executed. It can be
MDX,
DMX or
SQL.
* Properties -
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
list of command properties such as Timeout, Catalog name, etc.
The result of Execute command could be ''Multidimensional Dataset'' or ''Tabular Rowset''.
Discover
Discover method was designed to model all the discovery methods possible in
OLEDB
OLE DB (''Object Linking and Embedding, Database'', sometimes written as OLEDB or OLE-DB), an API designed by Microsoft, allows accessing data from a variety of sources in a uniform manner. The API provides a set of interfaces implemented using ...
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.
Query language
XMLA specifies MDXML as the query language. In the XMLA 1.1 version, the only construct in MDXML is an
MDX statement enclosed in the
tag.
Example
Below is an example of XMLA Execute request with MDX query in command.
SELECT Measures.MEMBERS ON COLUMNS FROM Sales
FoodMart
Multidimensional
TupleFormat
Session management
XMLA has a notion of ''session state''. It is maintained through predefined ''SOAP
Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
headers''
* BeginSession - to begin a new session
* EndSession - to end existing session
* UseSession - to use existing session. SessionId attribute previously returned for BeginSession should be used.
References
External links
XMLA resources and links
{{Data warehouse
XML-based standards
Online analytical processing
Application programming interfaces