Bug 146967 Total fuction with result of the aggregate on group-Level should be enhanced
Description: Now if we want to do total fuction with the Aggregate result on the group level, it cant be fulfilled. For example, we set a total.sum() aggregate on a group level first, and then we sum the result of total.sum() again. The expected result should simply equal to sum over all rows. But the actual result is not as our requirement. I attached the design file as the example. Expected result: The aggregation on the group total should be enhanced, or we cant get expected result such as the requirement that total.rank() with the average result on the group level and so on.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/i18n/ResourceConstants.java
public static final String CANNOT_INSTANTIATE_AGGREGATION_FACTORY = "data.engine.CannotInstantiateAggregationFactory";
	public static final String DUPLICATE_AGGREGATION_NAME = "date.engine.DuplicateAggregationName";
	public static final String INCORRECT_GROUP_KEY_VALUES = "data.engine.incorrectGroupKeyValues";
	public static final String NO_EXPRESSION_PROCESSOR_AVAILABLE = "data.engine.NoExpressionProcessorAvailable";
	public static final String INCONVERTIBLE_DATATYPE="data.engine.InconvertibleDatatype";
	public static final String CONVERT_TO_DATATYPE_ERROR="data.engine.ConvertToDataTypeError";
	public static final String NO_ROW_UPDATE="data.engine.NoRowUpdate";
	public static final String BAD_DATA_TYPE= "data.engine.BadDataType";
	public static final String BAD_DATA_EXPRESSION="data.engine.BadDataExpression";
	
	public static final String CACHE_FUNCTION_WRONG_MODE="data.engine.cacheFunctionWrongMode";
	public static final String INDEX_ARRAY_INVALID="data.engine.document.invalidIndexArray";
	public static final String GROUP_ITEM_INCORRECT="data.engine.document.invalidGroupItem";
	public static final String RESULTITERATOR_NOT_OPEN="data.engine.resultIteratorNotOpen";
	public static final String RESULTITERATOR_CLOSED="data.engine.resultIteratorClosed";
	public static final String INVALID_OUTPUT_PARAMETER_INDEX="data.engine.invalidOutputParameterIndex";
	public static final String OUTPUT_PARAMETER_OUT_OF_BOUND="data.engine.outputParameterOutOfBound";
	public static final String INVALID_OUTPUT_PARAMETER_NAME="data.engine.invalidOutputParameterName";
	public static final String NOT_SUPPORT_IN_PRESENTATION="data.engine.document.notSupportInPresentation";
	public static final String WRONG_STATUS="data.engine.wrongStatus";
	public static final String WRONG_VERSION="data.engine.wrongVersion";
	public static final String UNSUPPORT_OPERATION_EXCEPTION="data.engine.unsupportOperationException";
	
	public final static String COLUMN_NAME_CANNOT_BE_EMPTY_OR_NULL = "odaconsumer.ColumnNameCannotBeEmptyOrNull";
	public final static String COLUMN_POSITION_CANNOT_BE_LESS_THAN_ONE = "odaconsumer.ColumnPositionIsOneBased";
	public final static String COLUMN_ALIAS_CANNOT_BE_EMPTY = "odaconsumer.ColumnAliasCannotBeEmpty";
	public final static String CANNOT_PROCESS_DRIVER_CONFIG = "odaconsumer.CannotProcessDriverConfig";
	public final static String INIT_ENTRY_CANNOT_BE_FOUND = "odaconsumer.OdaInitEntryNotFound";
	public final static String ODA_DRIVER_ON_UNSUPPORTED_PLATFORM = "odaconsumer.OdaDriverOnUnsupportedPlatform";
	public final static String CANNOT_GENERATE_URL = "odaconsumer.CannotGenerateUrls";