Search Results for

    Show / Hide Table of Contents

    Interface IGroupByCopyCommand

    Commands for specifying grouping columns for use with several AggregateTransformFactory overloads. Unlike IGroupByCommand, this interface is used when the worker must explicitly copy individual grouping columns to the output rows. Also see the examples in Dataflow Aggregations.

    Inherited Members
    IFluentInterface.GetType()
    IFluentInterface.GetHashCode()
    IFluentInterface.ToString()
    IFluentInterface.Equals(Object)
    Namespace: actionETL
    Assembly: actionETL.dll
    Syntax
    public interface IGroupByCopyCommand : IFluentInterface
    Remarks

    The aggregation functions follow the SQL-92 standard:

    • The aggregation functions always return one row for each grouping in the input set
    • An empty input set produces an empty output set
    • Count aggregations support nullable input column types. Non-Count aggregations support nullable input column value types if both input and output columns are nullable.
    • Null input column values are not included in aggregations (CountRows however doesn't look at input column values at all)
    • If the aggregation result type (usually the same as the input column type), can be cast to the output column type, then they can have different types, e.g. long to double
    • Sum and Average additions are checked for overflow, Count* additions are not

    Methods

    Name(String)

    Column to group by, and where to output the column. Grouping column row value can be null. To group by multiple columns, call the GroupBy methods multiple times.

    string columns use a case sensitive ordinal equality test. To use a different string order, either add a column (i.e. property or field) to the row with the desired content (e.g. all upper case) and group on that, or use an overload where you can specify a custom equality comparer. Also see Create<T, TKey>(Func<T, TKey>).

    Declaration
    IGroupByCopyCommand Name(string columnName)
    Parameters
    Type Name Description
    String columnName

    Name of the input group by and output columns.

    Returns
    Type Description
    IGroupByCopyCommand

    The instance itself, for chaining multiple commands together.

    Exceptions
    Type Condition
    ArgumentException

    columnName - Not a column.

    ArgumentNullException

    columnName

    InvalidOperationException

    Found more than one member match in type.

    Name(String, String)

    Column to group by, and where to output the column. Grouping column row value can be null. To group by multiple columns, call the GroupBy methods multiple times.

    string columns use a case sensitive ordinal equality test. To use a different string order, either add a column (i.e. property or field) to the row with the desired content (e.g. all upper case) and group on that, or use an overload where you can specify a custom equality comparer. Also see Create<T, TKey>(Func<T, TKey>).

    Declaration
    IGroupByCopyCommand Name(string inputColumnName, string outputColumnName)
    Parameters
    Type Name Description
    String inputColumnName

    Name of the input column to group by.

    String outputColumnName

    Name of the output column to store the input value in.

    Set to null to not store the column in the output. This is useful when e.g. the input column is a calculated read only property, and other columns are set so that the grouping column is correctly calculated also in the output row.

    Returns
    Type Description
    IGroupByCopyCommand

    The instance itself, for chaining multiple commands together.

    Exceptions
    Type Condition
    ArgumentException

    inputColumnName, outputColumnName - Not a column.

    ArgumentNullException

    inputColumnName

    InvalidOperationException

    Found more than one member match in type.

    See Also

    AggregateTransformFactory
    IAggregationCommand
    RowAggregationFunction
    IGroupByCommand
    In This Article
    Back to top Copyright © 2023 Envobi Ltd