Features

DataEngine Service(DataSource)

DataEngine Service(DataSource)

The PivotEngine component binds to a DataEngine Web API and an in-memory data.

Features

Settings

Description

In this sample, the PivotEngine component binds to a service. Here only the DataEngine Web API is supported,
where the data engine is responsibe for data aggregation.
The service url should be provided in this mode.
You can get the details about how to deploy the DataEngine service, in the DataEngine Web API documentation.

In this sample, the PivotEngine component connects to the DataEngine data.
The PivotPanel control and the PivotGrid control are bound to 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 shows the aggregated data.
You can find the detailed raw data shown in a grid by double-clicking a cell in the PivotGrid control.

When the data row count is greater than 10,000, in order to get good performance, we recommend you deploy a DataEngine Web API and use BindService(url) mode.
Otherwise, please use Bind(data) or Bind(url).

using System.Web.Mvc;

namespace OlapExplorer.Controllers.Olap
{
    partial class OlapController : Controller
    {
        // GET: PivotGrid
        public ActionResult DataSource()
        {
            OlapModel.ControlId = "dataSourcePanel";
            ViewBag.DemoSettingsModel = OlapModel;
            return View();
        }
    }
}
@{
    ClientSettingsModel optionsModel = ViewBag.DemoSettingsModel;
}
@(Html.C1().PivotEngine().Id("dataSourceEngine")
        .BindService("~/api/dataengine/dataset10")
        .RowFields(pfcb => pfcb.Items("Country"))
        .ColumnFields(cfcb => cfcb.Items("Product"))
        .ValueFields(vfcb => vfcb.Items("Sales")))

<div class="row">
    <div class="col-sm-4 col-md-4">
        @Html.C1().PivotPanel().Id(optionsModel.ControlId).ItemsSourceId("dataSourceEngine")
    </div>
    <div class="col-sm-8 col-md-8">
        @Html.C1().PivotGrid().Id("indexGrid").ItemsSourceId("dataSourceEngine")
    </div>
</div>

@section Description{
<p>@Html.Raw(Resources.Olap.DataSource_Text0)</p>

<p>@Html.Raw(Resources.Olap.DataSource_Text1)</p>

<p>@Html.Raw(Resources.Olap.DataSource_Text2)</p>

}
@section Summary{
<p>@Html.Raw(Resources.Olap.DataSource_Text3)</p>

}