У меня есть DevExpress MVC PivotGrid. У него есть заголовок, который на самом высоком уровне — «Квартал», затем «Месяцы», затем «Недели». Данные, которые передаются в сетку, должны суммировать данные за неделю, но усреднять данные за неделю за месяц и усреднять данные (неделю или месяц) за квартал.
Вот скриншот сетки:
Я хочу, чтобы недели 201632, 201633, 201634, 201635 были 0,1, но июль 2016 также должен быть 0,1 (так как это среднее значение) и то же самое для сентября. Тогда 2016 Q2, 2016 Q4 также должны иметь 0,1 (так как это среднее значение).
Вот код для полей сетки
settings.Fields.Add(field =>
{
field.Area = PivotArea.ColumnArea;
field.AreaIndex = 0;
field.TotalsVisibility = PivotTotalsVisibility.None;
field.CellStyle.Wrap = DefaultBoolean.False;
field.Width = 150;
field.Caption = "Quarter Year";
field.FieldName = "YYYYQ";
field.CellStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
field.Options.AllowSort = DefaultBoolean.False;
field.Options.AllowFilter = DefaultBoolean.False;
});
settings.Fields.Add(field =>
{
field.Area = PivotArea.ColumnArea;
field.AreaIndex = 1;
field.TotalsVisibility = PivotTotalsVisibility.None;
field.CellStyle.Wrap = DefaultBoolean.False;
field.Width = 150;
field.Caption = "Month Year";
field.FieldName = "YYYYMM";
field.CellStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
field.Options.AllowSort = DefaultBoolean.False;
field.Options.AllowFilter = DefaultBoolean.False;
});
settings.Fields.Add(field =>
{
field.Area = PivotArea.ColumnArea;
field.AreaIndex = 2;
field.CellStyle.Wrap = DefaultBoolean.False;
field.Width = 150;
field.Caption = "Work Week";
field.FieldName = "YYYYWW";
field.Options.AllowSort = DefaultBoolean.False;
field.Options.AllowFilter = DefaultBoolean.False;
});
settings.Fields.Add(field =>
{
field.Area = PivotArea.DataArea;
field.FieldName = summaryField;
field.Caption = summaryField;
field.CellFormat.FormatType = FormatType.Numeric;
field.CellFormat.FormatString = format;
});
я пытался использовать
field.SummaryType = DevExpress.Data.PivotGrid.PivotSummaryType.Average;
в квартал и месяц, но это не имело никакого эффекта. Я пробовал кучу других вещей, но ничего не меняет расчеты.
Какие-либо предложения?