[]
This section describes the steps required to add cube data in the OLAP control using SSAS (SQL Server Analysis Services). In the example below, the PivotEngine component binds to a service. In this the DataEngine Web Api is supported, the data engine is responsible for data aggregation in this example. The PivotPanel control and PivotGrid control binds the PivotEngine. You can change the view definition in the PivotPanel control. The aggregated data will be obtained from the service. Then the PivotGrid control displays the aggregated data.
This topic comprises of the following steps:
Create an ASP.NET MVC Application using Visual Studio template to enable WebAPI configuration.
Install the DataEngine Web API and C1.WebApi packages from the NuGet server.
C1.WebApi.dll
C1.WebApi.DataEngine.dll
C1.DataEngine.4.dll
System.Net.Http.Formatting.dll
System.Web.Http.dll
System.Web.Http.Owin.dll
System.Web.Http.WebHost.dll
After adding the required references, you need to configure the Startup.cs
to fetch the data that is stored on SSAS server.
In Solution Explorer, select your target project.
On the Project menu, click Add New Item option.
In the Add New Item dialog, select Web and then select OWIN Startup class template from the list on right.
In the Startup.cs file, add the following code inside the Startup class.
using C1.DataEngine;
using Microsoft.Owin;
using Owin;
using System.IO;
using System.Linq;
using System.Web.Http;
using OlapSSAS.Models;
[assembly: OwinStartupAttribute(typeof(OlapSSAS.Startup))]
namespace OlapSSAS
{
public partial class Startup
{
private readonly HttpConfiguration config = GlobalConfiguration.Configuration;
public void Configuration(IAppBuilder app)
{
app.UseDataEngineProviders()
.AddCube("cube",
@"Data Source=http://ssrs.componentone.com/OLAP/msmdpump.dll;
Provider=msolap;Initial Catalog=AdventureWorksDW2012Multidimensional",
"Adventure Works");
}
}
}
Create a Controller and View for OLAP control and follow the below steps to initialize an OLAP control.
Add a new Controller
In the Solution Explorer, right click the folder Controllers.
From the context menu, select Add | Controller. The Add Scaffold dialog appears.
Complete the following steps in the Add Scaffold dialog:
OlapController
).Replace the method Index() with the following method.
// GET: SSAS
public ActionResult Index()
{
return View();
}
Add a View for the Controller
From the Solution Explorer, expand the folder Controllers and double click the OlapController.
Place the cursor inside the method Index()
.
Right click and select Add View. The Add View dialog appears.
In the Add View dialog, verify that the view name is Index and View engine is Razor (CSHTML).
Click Add to add a view is for the controller. Copy the following code and paste it inside Index.cshtml.
@using C1.Web.Mvc.Grid
<c1-pivot-engine id="ssasEngine" service-url="~/api/dataengine/cube">
<c1-view-field-collection c1-property="RowFields" items="[Customer].[Country]"></c1-view-field-collection>
<c1-view-field-collection c1-property="ColumnFields" items="[Customer].[Occupation]"></c1-view-field-collection>
<c1-view-field-collection c1-property="ValueFields" items="[Measures].[Customer Count]"></c1-view-field-collection>
</c1-pivot-engine>
Click Build | Build Solution to build the project.
Press F5 to run the project.
type=note
Append the folder name and view name to the generated URL (for example: http://localhost:1234/Olap/Index) in the address bar of the browser to see the view.
The following image shows how OLAP control appears in the browser after completing the above steps: