public void AddColumnHeader() { var newColumns = GetSelectedProperties() .Select(pd => new PivotSpec.Column(ColumnId.GetColumnId(pd)).ChangeVisible(false)); PivotSpec = PivotSpec.ChangeColumnHeaders(PivotSpec.ColumnHeaders.Concat(newColumns)); }
public void AddValue() { var aggregateOperation = comboAggregateOp.SelectedItem as AggregateOperation; if (aggregateOperation == null) { return; } var newColumns = GetSelectedProperties() .Select(pd => new PivotSpec.AggregateColumn(ColumnId.GetColumnId(pd), aggregateOperation)); PivotSpec = PivotSpec.ChangeValues(PivotSpec.Values.Concat(newColumns)); }
public static PivotedRows GroupAndTotal(CancellationToken cancellationToken, DataSchema dataSchema, PivotSpec pivotSpec, PivotedRows input) { if (pivotSpec.IsEmpty) { return(input); } var groupAndTotaller = new GroupAndTotaler(cancellationToken, dataSchema, pivotSpec, input.ItemProperties); var newProperties = new List <DataPropertyDescriptor>(); var newRows = ImmutableList.ValueOf(groupAndTotaller.GroupAndTotal(input.RowItems, newProperties)); return(new PivotedRows(newRows, newProperties)); }
private void RowHeadersOnColumnsMoved(IList <int> ints) { PivotSpec = PivotSpec.ChangeRowHeaders(ints.Select(i => PivotSpec.RowHeaders[i])); }
private void ColumnHeadersListOnColumnsMoved(IList <int> ints) { PivotSpec = PivotSpec.ChangeColumnHeaders(ints.Select(i => PivotSpec.ColumnHeaders[i])); }
private void ValuesListOnColumnsMoved(IList <int> ints) { PivotSpec = PivotSpec.ChangeValues(ints.Select(i => PivotSpec.Values[i])); }
public void AddRowHeader() { var newColumns = GetSelectedProperties().Select(pd => new PivotSpec.Column(ColumnId.GetColumnId(pd))); PivotSpec = PivotSpec.ChangeRowHeaders(PivotSpec.RowHeaders.Concat(newColumns)); }
public GroupAndTotaler(CancellationToken cancellationToken, DataSchema dataSchema, PivotSpec pivotSpec, IEnumerable <DataPropertyDescriptor> itemProperties) { CancellationToken = cancellationToken; DataSchema = dataSchema; var columnsByDisplayName = itemProperties.ToLookup(ColumnId.GetColumnId); RowHeaders = ImmutableList.ValueOf(pivotSpec.RowHeaders.SelectMany( col => columnsByDisplayName[col.SourceColumn] .Select(pd => Tuple.Create(pd, ColumnCaption.ExplicitCaption(col.Caption) ?? ColumnCaption.GetColumnCaption(pd))))); ColumnHeaders = ImmutableList.ValueOf(pivotSpec.ColumnHeaders.SelectMany( col => columnsByDisplayName[col.SourceColumn])); AggregateColumns = ImmutableList.ValueOf(pivotSpec.Values.SelectMany( col => columnsByDisplayName[col.SourceColumn] .Select(pd => Tuple.Create(pd, ColumnCaption.ExplicitCaption(col.Caption) ?? col.AggregateOperation.QualifyColumnCaption(ColumnCaption.GetColumnCaption(pd)), col.AggregateOperation)))); }