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, re ...
(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 used ...
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 Web, ...
. XMLA is maintained by XMLA Council with
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
,
Hyperion
Hyperion may refer to:
Greek mythology
* Hyperion (Titan), one of the twelve Titans
* ''Hyperion'', a byname of the Sun, Helios
* Hyperion of Troy or Yperion, son of King Priam
Science
* Hyperion (moon), a moon of the planet Saturn
* ''Hyp ...
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, anal ...
being the XMLA Council founder members.
History
The XMLA specification was first proposed by
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
as a successor for
OLE DB for OLAP in April 2000. By January 2001 it was joined by
Hyperion
Hyperion may refer to:
Greek mythology
* Hyperion (Titan), one of the twelve Titans
* ''Hyperion'', a byname of the Sun, Helios
* Hyperion of Troy or Yperion, son of King Priam
Science
* Hyperion (moon), a moon of the planet Saturn
* ''Hyp ...
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 used ...
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 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 used ...
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