|
| 1 | +--- |
| 2 | +title: OLAP Cube Setup |
| 3 | +page_title: OLAP Cube Setup | Telerik UI PivotGrid HtmlHelper for ASP.NET Core |
| 4 | +description: "Get started with the Telerik UI PivotGrid HtmlHelper for ASP.NET Core and learn how to set up the OLAP cube when working with the Telerik UI PivotGrid HtmlHelper for ASP.NET Core." |
| 5 | +slug: htmlhelpers_pivotgrid_aspnetcore_olap_cube_setup |
| 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](http://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](http://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 `http://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](http://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 which are required to be used in the actual request. The values have to be separated with commas.</p> |
| 64 | + <ul> |
| 65 | + <li><code>Origin</code> - This field provides information about the location from which the cross-origin or pre-flight request originates. This setting indicates to the server that the origin which performs the request is known.</li> |
| 66 | + <li><code>Content-Type</code> – This field indicates the content (MIME) type of the entity body that is sent to the recipient. The actual content type which is used in the communication between the OLAP service and the <code>PivotDataSource</code> is text or 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 have to be separated with a 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 that will 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 the supply of credentials with the request.</li> |
| 95 | + <li><code>false</code> – Disables the supply 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](http://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`](http://docs.telerik.com/kendo-ui/api/javascript/data/datasource/configuration/transport.read) object because they will be passed to the `$.ajax` method. |
| 130 | + |
| 131 | +## See Also |
| 132 | + |
| 133 | +* [OLAP Cube Fundamentals]({% slug htmlhelpers_pivotgrid_aspnetcore_fundamentals %}) |
| 134 | +* [PivotConfigurator Overview]({% slug htmlhelpers_pivotgrid_aspnetcore_configurator %}) |
0 commit comments