|
| 1 | +--- |
| 2 | +title: OLAP Cube Setup |
| 3 | +page_title: jQuery PivotGridV2 Documentation | OLAP Cube Setup |
| 4 | +description: "Get started with the jQuery PivotGridV2 by Kendo UI and learn how to set up the OLAP Cube when working with the widget." |
| 5 | +slug: olap_cube_setup_pivotgridv2 |
| 6 | +position: 3 |
| 7 | +--- |
| 8 | + |
| 9 | +# OLAP Cube Setup |
| 10 | + |
| 11 | +You can set up the OLAP cube by using Microsoft SQL Server Analysis Services [SSAS](http://technet.microsoft.com/en-us/library/ms175609(v=sql.90).aspx). |
| 12 | + |
| 13 | +## Installing SSAS |
| 14 | + |
| 15 | +For more information on installing the [SQL Server Analysis Services](http://technet.microsoft.com/en-us/library/ms175609(v=sql.90).aspx), refer to the [MSDN tutorial](https://msdn.microsoft.com/en-us/library/hh403424(v=sql.110).aspx). |
| 16 | + |
| 17 | +## Defining the OLAP Cube |
| 18 | + |
| 19 | +For more information on creating, defining, and deploying the OLAP multidimensional cube, refer to the [MSDN multidimensional modelling tutorial](https://msdn.microsoft.com/en-us/library/ms170208(v=sql.110).aspx). |
| 20 | + |
| 21 | +## Configuring the HTTP Access |
| 22 | + |
| 23 | +To enable the HTTP access to the SQL Server Analysis Services, use an `MSMDPUMP.ddl` ISAPI extension. |
| 24 | + |
| 25 | +* For more information on setting up the `MSMDPUMP.ddl` extension, refer to the [MSDN HTTP access tutorial](http://technet.microsoft.com/en-us/library/gg492140.aspx). |
| 26 | +* For an online accessible OLAP service for testing purposes, use `https://demos.telerik.com/olap/msmdpump.dll`. The URL does not open directly in the browser. |
| 27 | + |
| 28 | +## Enabling the Cross-Domain Access |
| 29 | + |
| 30 | +> If the cube will not be requested from different domains, skip this step. |
| 31 | +
|
| 32 | +To allow cross-domain requests to the OLAP service, enable the CORS behavior of your server. For more information on Cross-Origin Resource Sharing (CORS), refer to [this link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS). |
| 33 | + |
| 34 | +The following sections demonstrate how to enable CORS on an [Internet Information Services (IIS)](http://www.iis.net/) server. Cross-domain access requires you to configure the HTTP Response Headers and the `OPTIONS` method server response. |
| 35 | + |
| 36 | +### Configuring HTTP Response Headers |
| 37 | + |
| 38 | +To configure HTTP Response Headers, specify the following requirements: |
| 39 | +* The domains that will perform the data requests. |
| 40 | +* An [HTTP method](https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html) through which the data will be transferred. |
| 41 | +* The HTTP headers that can be used in the requests. |
| 42 | +* The user credentials that will be required if an authenticated access is used. |
| 43 | + |
| 44 | +The following example demonstrates the list of the HTTP Response Headers that show the settings which are required to enable the IIS CORS behavior. |
| 45 | + |
| 46 | +<table> |
| 47 | + <tbody> |
| 48 | + <tr> |
| 49 | + <th> |
| 50 | + <p>Header Name</p> |
| 51 | + </th> |
| 52 | + <th> |
| 53 | + <p>Value</p> |
| 54 | + </th> |
| 55 | + <th> |
| 56 | + <p>Details</p> |
| 57 | + </th> |
| 58 | + </tr> |
| 59 | + <tr> |
| 60 | + <td><strong>Access-Control-Allow-Headers</strong></td> |
| 61 | + <td><code>Origin, Content-Type, Accept</code></td> |
| 62 | + <td> |
| 63 | + <p>These are the names of the fields required to be used in the actual request. Values should be comma-separated.</p> |
| 64 | + <ul> |
| 65 | + <li><code>Origin</code> – 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.</li> |
| 66 | + <li><code>Content-Type</code> – 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 <code>PivotDataSource</code> is text/xml.</li> |
| 67 | + <li><code>Accept</code> – this field specifies the media types which are acceptable for the response.</li> |
| 68 | + </ul> |
| 69 | + </td> |
| 70 | + </tr> |
| 71 | + <tr> |
| 72 | + <td><strong>Access-Control-Allow-Origin</strong></td> |
| 73 | + <td> |
| 74 | + <p>The URI names that may access the resource. When an asterisk (*) is defined, all domains are allowed.</p> |
| 75 | + </td> |
| 76 | + <td> |
| 77 | + <p>The names of the allowed domains should be separated by comma (,).</p> |
| 78 | + </td> |
| 79 | + </tr> |
| 80 | + <tr> |
| 81 | + <td><strong>Access-Control-Request-Method</strong></td> |
| 82 | + <td><code>POST</code></td> |
| 83 | + <td> |
| 84 | + <p>The name of the HTTP method to be used in the actual request.</p> |
| 85 | + <p>The XMLA protocol specifies an HTTP <code>POST</code> method.</p> |
| 86 | + </td> |
| 87 | + </tr> |
| 88 | + <tr> |
| 89 | + <td><strong>Access-Control-Allow-Credentials</strong> (authenticated access only)</td> |
| 90 | + <td><code>true</code></td> |
| 91 | + <td> |
| 92 | + <p>The allowed values are:</p> |
| 93 | + <ul> |
| 94 | + <li><code>true</code> – allows suppliying of credentials with the request.</li> |
| 95 | + <li><code>false</code> – disable supplying of credentials with the request. Equal to an altogether missing header.</li> |
| 96 | + </ul> |
| 97 | + </td> |
| 98 | + </tr> |
| 99 | + </tbody> |
| 100 | +</table> |
| 101 | + |
| 102 | +### Configuring the OPTIONS Method Server Response |
| 103 | + |
| 104 | +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. |
| 105 | + |
| 106 | +The following example demonstrates the list of settings that you have to apply. |
| 107 | + |
| 108 | +<table> |
| 109 | + <tbody> |
| 110 | + <tr> |
| 111 | + <th>HTTP Handler Name</th> |
| 112 | + <th>Required Access Level</th> |
| 113 | + <th>Details</th> |
| 114 | + </tr> |
| 115 | + <tr> |
| 116 | + <td><code>OPTIONSVerbHandler</code></td> |
| 117 | + <td><code>Read</code></td> |
| 118 | + <td> |
| 119 | + <p>Specifies that the handler requires <code>READ</code> access to the requests.</p> |
| 120 | + </td> |
| 121 | + </tr> |
| 122 | + </tbody> |
| 123 | +</table> |
| 124 | + |
| 125 | +### Accessing the Cube Securely |
| 126 | + |
| 127 | +To implement a secured access to the OLAP instance, use either of the following approaches: |
| 128 | +* Use a proxy service which communicates with the cube on a secured protocol. This proxy has to support the XMLA protocol. In the Microsoft world, the solution is to use [ADOMD.NET](https://technet.microsoft.com/en-us/library/ms123483%28v=sql.110%29.aspx). For more information, refer to [this forum thread](https://www.telerik.com/forums/securing-access-to-msmdpump-dll). |
| 129 | +* Send the credentials with a request header even though the **Username** and **Password** will be visible on the client side (browser). For more information on passing credentials with request headers, refer to [this StackOverflow discussion](http://stackoverflow.com/questions/14579478/how-to-pass-credentials-for-a-webservice-using-jquery-ajax-call). You can define the required callbacks and settings directly in the [`transport.read`](/api/javascript/data/datasource/configuration/transport.read) object because they will be passed to the `$.ajax` method. |
| 130 | + |
| 131 | +## See Also |
| 132 | + |
| 133 | +* [Basic Usage of the PivotGridV2 (Demo)](https://demos.telerik.com/kendo-ui/pivotgridv2/index) |
| 134 | +* [PivotGridV2 JavaScript API Reference](/api/javascript/ui/pivotgridv2) |
0 commit comments