Start of Content Area

Component documentationXML for Analysis  Locate the document in its SAP Library structure


XML for Analysis is a protocol for exchanging analytical data between client applications and servers, using HTTP and SOAP (Simple Object Access Protocol), as a Web service. Implementing XML for Analysis in SAP NetWeaver Business Intelligence enables third-party reporting tools connected to BW to communicate directly with the OLAP processor.

Unlike OLE DB, XML for Analysis provides universal data access to a particular source over the Internet, without having to set up a special component on the client.

XML for Analysis is optimized for the Internet in various ways:

      Time spent on queries to the server is kept to a minimum.

      Client queries are stateless by default. This means that after the client has obtained the required data, the connection to the Web server is terminated.

Tolerance to errors and the scalability of a source (the maximum permitted number of users) is therefore maximized.


XML for Analysis is available automatically as a Web service after installing a BW system. The URL of a Web service has to be structured according to the following schema:


A description of the Web service can be called using a URL with syntax as follows:



For more information on which values are used for the place holders in the specified URL schema , see ICF Services in SAP BW.


Specification XML for Analysis Version 1.1 from Microsoft forms the basis for the implementation of XML for Analysis in BW.

The following table lists the methods that determine the specification for a stateless data request or data manipulation.

XMLA Methods




This method is used to query metadata and master data. (This corresponds to the BAPI MDDataProviderBW).


Discover (

[in] RequestType As EnumString,

[in] Restrictions As Restrictions,

[in] Properties As Properties,

[out] Result As Rowset)

RequestType determines the structure and contents of the resulting set using return parameters (for example, DISCOVER_DATASOURCES, MDSCHEMA_CUBES, MDSCHEMA_DIMENSIONS).

Restrictions determine constraints for the resulting set column to filter the results row. This is a required parameter, but it can be left empty.

Properties determine XMLA properties, such as return format of the result set, timeout, local properties, with which the data should be formatted.


You can execute MDX commands with this method to receive the corresponding result set. (This corresponds to the BAPI MDDataSetBW).


Execute (

[in] Command As Command,

[in] Properties As Properties,

[out] Result As Resultset)

Command specifies a provider-specific command for execution.

Properties determine XMLA properties, such as return format of the result set, timeout, local properties, with which the data should be formatted.


XML for Analysis is not restricted to a specific platform, application, or development language.


The following graphic illustrates (based on the XMLA specification from Microsoft) a possible implementation of an XMLA Web service:

This graphic is explained in the accompanying text

Once the client has received the URL of a server offering one of the Web services, it sends Discover- and Execute queries to the server using the SOAP-/HTTP protocol.

The server creates an instance of the XMLA provider that processes the Discover- and Execute queries. The XMLA provider loads the required data, embeds it in XML and then sends the data to the client as XML.



End of Content Area