Aggregation

Class Aggregation

Aggregates data by the given aggregation methods. The aggregate is a partial-blocking transformation - only the aggregation values are stored in separate memory objects. When all rows have been processed by the aggregation, the aggregated values are written into the output.

Inherited Members
Namespace: ETLBox.DataFlow
Assembly: ETLBox.dll
Syntax
    public class Aggregation : Aggregation<ExpandoObject, ExpandoObject>, IDataFlowTransformation<ExpandoObject, ExpandoObject>, IDataFlowSource<ExpandoObject>, IDataFlowSource, IDataFlowDestination<ExpandoObject>, IDataFlowDestination, IDataFlowComponent, ILoggableTask
Examples
  public class MyDetailValue
                       {
                           public int DetailValue { get; set; }
                       }
                       public class MyAggRow
                       {
                           [AggregateColumn(nameof(MyDetailValue.DetailValue), AggregationMethod.Sum)]
                           public int AggValue { get; set; }
                       }
                       var source = new DbSource<MyDetailValue>("DetailValues");
                       var agg = new Aggregation<MyDetailValue, MyAggRow>();
                       var dest = new MemoryDestination<MyAggRow>();
                       source.LinkTo<MyAggRow>(agg).LinkTo(dest);

Constructors

Aggregation()

Declaration
    public Aggregation()

Aggregation(Action<ExpandoObject, ExpandoObject>)

Declaration
    public Aggregation(Action<ExpandoObject, ExpandoObject> aggregationAction)
Parameters
TypeNameDescription
Action<ExpandoObject, ExpandoObject>aggregationAction

Aggregation(Action<ExpandoObject, ExpandoObject>, Func<ExpandoObject, object>)

Declaration
    public Aggregation(Action<ExpandoObject, ExpandoObject> aggregationAction, Func<ExpandoObject, object> groupingFunc)
Parameters
TypeNameDescription
Action<ExpandoObject, ExpandoObject>aggregationAction
Func<ExpandoObject, object>groupingFunc

Aggregation(Action<ExpandoObject, ExpandoObject>, Func<ExpandoObject, object>, Action<object, ExpandoObject>)

Declaration
    public Aggregation(Action<ExpandoObject, ExpandoObject> aggregationAction, Func<ExpandoObject, object> groupingFunc, Action<object, ExpandoObject> storeKeyAction)
Parameters
TypeNameDescription
Action<ExpandoObject, ExpandoObject>aggregationAction
Func<ExpandoObject, object>groupingFunc
Action<object, ExpandoObject>storeKeyAction

Implements