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.
Namespace: ETLBox.DataFlow
Assembly: ETLBox.dll
Syntax
public class Aggregation : Aggregation<ExpandoObject, ExpandoObject>, IDataFlowLogging, 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
Aggregation(Action<ExpandoObject, ExpandoObject>)
Declaration
public Aggregation(Action<ExpandoObject, ExpandoObject> aggregationAction)
Parameters
Aggregation(Action<ExpandoObject, ExpandoObject>, Func<ExpandoObject, object>)
Declaration
public Aggregation(Action<ExpandoObject, ExpandoObject> aggregationAction, Func<ExpandoObject, object> groupingFunc)
Parameters
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
Implements