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