ASP.NET MVC コントロールヘルプ
Pivotフィールドの定義
コントロールの使用 > OLAP > OLAPの使用 > Pivotフィールドの定義

OLAPアプリケーションの主な長所の1つは、対話的操作です。ユーザーは、ビューを簡単に作成および変更して、その出力を直ちにWebブラウザで確認できる必要があります。OLAPでは、Excel形式のユーザーインタフェースとユーザーフレンドリなダイアログを使用して、これが可能になります。ただし、コードからビューを構成したりピボットフィールドを追加したい場合もあります。これは、PivotFieldクラスとPivotEngineクラスを使用して実現することができます。

メモ:フィールド名に複数の大文字が含まれる(例:ProductName)場合、大文字が出現するたびにフィールド名の間に1つのスペースが追加され、例外が生成されます。これは、ピボットフィールドのheaderプロパティをフィールド名と同じ値に設定することで解決することができます。

このトピックは、OLAPコントロールでコードを使用してピボットフィールドを定義する方法の理解に役立ちます。次の図は、ピボットフィールドを定義した後にOLAPコントロールがどのように表示されるかを示します。

フィールドを自動生成しない場合は、次のコード例を使用して、OLAPコントロールにピボットフィールドを定義します。この例では、「クイックスタート:OLAPへのデータの追加」トピックで追加されたProductData.csモデルを使用します。

Razor
コードのコピー
@using <ApplicationName>.Models;
@model IEnumerable<ProductData>

@(Html.C1().PivotEngine().Id("indexEngine").Bind(Model)
    .Fields(fld =>
    {
        fld.Items(it => it.AddPivotField(pf => pf.Binding("Country"))
        .AddPivotField(pf => pf.Binding("Product"))
        .AddPivotField(pf => pf.Binding("Sales").Aggregate(C1.Web.Mvc.Grid.Aggregate.Avg)));
    })
    .RowFields(pfcb => pfcb.Items("Country"))
    .ColumnFields(cfcb => cfcb.Items("Product"))
    .ValueFields(vfcb => vfcb.Items("Sales")))

@(Html.C1().PivotGrid().ItemsSourceId("indexEngine"))