フィールドは、PivotEngineが生データを集計するために使用する情報を含みます。フィールドはPivotFieldクラスによって表され、データを取得する場所やデータを集計および表示する方法をカスタマイズするためのプロパティを持ちます。
PivotFieldクラスの主なプロパティは次のとおりです。
PivotField.formatプロパティは、未加工の値を書式設定して表示する方法を決定したり(測定値フィールド)、値をグループに分割します(次元フィールド)。
この例は、次元フィールドの書式設定プロパティの変更がデータのグループ化にどのように影響するかを示します。フィールドの書式設定が四半期を示す場合、データは四半期ごとにグループ化されます。月を示す場合、データは月ごとにグループ化されます。
// 「期間」フィールドをカスタマイズします
let fld = ng.fields.getField('期間');
fld.format = 'yyyy';
PivotField.showAsプロパティを使用して、フィールド値を表示する前にフィールド値に対して実行する共通の計算を指定できます。
このプロパティのオプションはShowAs列挙によって定義され、値と直前の行/列の値の差、行/列/総計に対するパーセント、累計などがあります。
// 「期間」フィールドをカスタマイズします
let fld = ng.fields.getField('期間');
fld.showAs = wjOlap.ShowAs.PctCol;
ShowAs列挙は、APIのこちらで説明されています [wijmo.olap.ShowAs列挙へのリンク]
PivotEngineは、データサマリーの生成時に次元(行および列)フィールドを自動的にソートします。デフォルトでは、測定値(値)フィールドはソートしません。
ソートの詳細については、フィールドのソートトピックを参照してください。
PivotFieldのisContentHtmlプロパティを使用して、プレーンテキストの代わりにHTMLを含むフィールドをレンダリングします。
ng.fields.getField('担当者').isContentHtml = true;
ng.fields.getField('分類').isContentHtml = true;
// 1つのデータオブジェクト
...
{
date: new Date(2019, 0, 1),
buyer: '<span class="initial">N</span>成宮 真紀',
type: '<span class="initial">V</span>ビデオ',
amount: 74
},
...
BuyerフィールドとTypeフィールドは文字列ですが、HTMLタグを含むので、PivotGridでHTMLとしてレンダリングされます。
未加工の値ではなく、計算値を集計することもできます。
それには、生データ項目に計算値を追加したり、生項目に対して値を計算する関数をgetValueプロパティに設定したカスタムフィールドを追加します。
この例では、2番目の方法を説明します。PivotEngineに2つの計算フィールドを追加します。