機能

データエンジンサービス(データエンジン)

データエンジンサービス(データエンジン)

PivotEngineコンポーネントをDataEngine Web APIとDataEngineデータに連結します。

機能

設定

説明

このサンプルでは、PivotEngineコンポーネントをサービスに連結します。現在、DataEngine Web APIだけがサポートされています。
このモードでは、service-url属性を設定する必要があります。
DataEngineサービスの展開方法の詳細については、DataEngine Web APIドキュメントを参照してください。

このサンプルでは、PivotEngineコンポーネントをDataEngineデータに接続します。
PivotPanelコントロール、PivotGridコントロール、およびPivotChartコントロールはPivotEngineに連結されます。
PivotPanelコントロールでビュー定義を変更できます。
集計データは、サービスから取得されます。
その結果、PivotGridコントロールとPivotChartコントロールに集計データが表示されます。
PivotGridコントロール内のセルをダブルクリックすると、詳細な生データがグリッドに表示されます。

データ行数が10,000を超える場合は、パフォーマンスを向上させるために、タグのservice-url属性を設定することをお勧めします。
それ以外の場合は、IndexページとRemoteBindページで使用されるタグのsource-collection属性またはread-action-url属性を設定してください。

using C1.Web.Mvc.Olap;
using Microsoft.AspNetCore.Mvc;
using OlapExplorer.Models;
using System.Collections.Generic;

namespace OlapExplorer.Controllers.Olap
{
    partial class OlapController : Controller
    {
        private static Dictionary<string, object[]> ChartSettings = new Dictionary<string, object[]>
        {
            {"ChartType", new object[] { PivotChartType.Column, PivotChartType.Area, PivotChartType.Bar, PivotChartType.Line, PivotChartType.Pie, PivotChartType.Scatter} }
        };

        // GET: PivotGrid
        public ActionResult DataEngine()
        {
            var engineModel = new ClientSettingsModel { Settings = new Dictionary<string, object[]>() };
            foreach (var item in OlapModel.Settings)
            {
                engineModel.Settings.Add(item);
            }
            foreach (var chartItem in ChartSettings)
            {
                engineModel.Settings.Add(chartItem);
            }
            engineModel.ControlId = "chart";
            ViewBag.DemoOptions = engineModel;
            return View();
        }
    }
}
@{
    ClientSettingsModel optionsModel = ViewBag.DemoOptions;
}

<c1-pivot-engine id="dataEngine" service-url="~/api/dataengine/complex10" show-row-totals="Subtotals" show-column-totals="Subtotals">
    <c1-view-field-collection c1-property="RowFields" items="Country"></c1-view-field-collection>
    <c1-view-field-collection c1-property="ColumnFields" items="Product"></c1-view-field-collection>
    <c1-view-field-collection c1-property="ValueFields" items="Sales"></c1-view-field-collection>
</c1-pivot-engine>

<div class="row">
    <div class="col-sm-4 col-md-4">
        <c1-pivot-panel items-source-id="dataEngine"></c1-pivot-panel>
    </div>
    <div class="col-sm-8 col-md-8">
        <c1-pivot-grid id="indexGrid" items-source-id="dataEngine"></c1-pivot-grid>
    </div>
</div>
<c1-pivot-chart id="@(optionsModel.ControlId)" items-source-id="dataEngine"></c1-pivot-chart>

@section Settings{
    @Html.Partial("_OptionsMenu", optionsModel)
}

@section Description{
<p>@Html.Raw(OlapRes.DataEngine_Text0)</p>

<p>@Html.Raw(OlapRes.DataEngine_Text1)</p>

<p>@Html.Raw(OlapRes.DataEngine_Text2)</p>

}
@section Summary{
<p>@Html.Raw(OlapRes.DataEngine_Text3)</p>

}