OLAP Cube Setup

This article demonstrates the required steps to set up the OLAP Cube by using Microsoft SQL Server Analysis Services SSAS.

Install SSAS

For detailed information on how to install the SQL Server Analysis Services, refer to the MSDN tutorial.

Define OLAP Cube

For detailed information on how to create, define, and deploy the OLAP multidimensional cube, refer to the MSDN multidimensional modelling tutorial.

Configure HTTP Access

To enable the HTTP access to SQL Server Analysis Services, use an MSMDPUMP.ddl ISAPI extension.

For detailed information on how to set up the MSMDPUMP.ddl extension, refer to the MSDN HTTP access tutorial.

For an online accessible OLAP service for test purposes, use http://demos.telerik.com/olap/msmdpump.dll. Note that the URL does not open directly in the browser.

Enable Cross-Domain Access


If the cube is not intended to be requested from different domains, skip this step.

For detailed information on Cross-Origin Resource Sharing (CORS), refer to this link.

To allow cross-domain requests to the OLAP service, enable the CORS behavior of your server. The following sections demonstrate how to enable CORS on an Internet Information Services (IIS) server. Cross-domain access requires you to configure the HTTP Response Headers and the OPTIONS method server response.

Configuring HTTP Response Headers

To configure HTTP Response Headers, specify:

  • The domains that will perform the data requests.
  • An HTTP method through which the data will be transferred.
  • The HTTP Headers that can be used in the requests.
  • The user credentials that are going to be required if an authenticated access is used.

The following example demonstrates the list of the HTTP Response Headers that show the settings required to enable the IIS CORS behavior.


Header Name



Access-Control-Allow-Headers Origin, Content-Type, Accept

These are the names of the fields required to be used in the actual request. Values should be comma-separated.

  • Origin – this field indicates where the cross-origin or preflight request originates from. This setting tells the server that the origin, which performs the request is a known one.
  • Content-Type – this field indicates the content (MIME) type of the entity body sent to the recipient. The actual content type used in the communication between OLAP service and Kendo UI PivotDataSource is text/xml.
  • Accept – this field specifies the media types which are acceptable for the response.

The URI names that may access the resource. When an asterisk (*) is defined, all domains are allowed.

The names of the allowed domains should be separated by comma (,).

Access-Control-Request-Method POST

The name of the HTTP method to be used in the actual request.

The XMLA protocol specifies an HTTP POST method.

Access-Control-Allow-Credentials (authenticated access only) true

The allowed values are:

  • true – allows suppliying of credentials with the request.
  • false – disable supplying of credentials with the request. Equal to an altogether missing header.

Configuring the OPTIONS Method Server Response

To configure the OPTIONS method server response, specify the server response to the OPTIONS method requests. In IIS, configure the behavior of the OPTIONS method through the OPTIONSVerbHandler mapping settings.

The following example demonstrates the list of settings that you have to apply.

HTTP Handler Name Required Access Level Details
OPTIONSVerbHandler Read

Specifies that the handler requires READ access to the requests.

Accessing the Cube Securely

To implement a secured access to the OLAP instance, use either of the following approaches:

  • Use a proxy service which communicates with the cube on a secured protocol. This proxy should support the XMLA protocol. In the Microsoft world, the solution is to use ADOMD.NET. For detailed information on this, refer to this forum thread.
  • Send the credentials with a request header, even though thus the Username and Password will be visible on the client side (browser). For details on how to pass credentials with request headers, refer to this StackOverflow discussion. You can define the required callbacks and settings directly in the transport.read object, as they will be passed to the $.ajax method.

See Also

Other article on the Kendo UI PivotGrid:

In this article
Not finding the help you need? Improve this article