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 final static String INVALID_CALL_AGGR = "data.engine.NoAggrFunc";
	public final static String INVALID_EXPR_HANDLE = "data.engine.InvalidExprHandle";	
	
	public final static String INVALID_KEY_COLUMN = "data.engine.InvalidSortKeyColumn";
	public final static String INVALID_GROUP_LEVEL = "data.engine.InvalidGroupLevel";
	public final static String INVALID_GROUP_KEY_COLUMN = "data.engine.InvalidGroupKeyName";
	public final static String INVALID_CLOSESCRIPT = "data.engine.BadCloseScript";
	public final static String INVALID_CUSTOM_FIELD_INDEX = "data.engine.InvalidCustomFieldIdx";
	public final static String INVALID_GROUP_NAME = "data.engine.InvalidGroupName";
	public final static String DUPLICATE_GROUP_NAME = "data.engine.DuplicateGroupName";
	public final static String INVALID_OPENSCRIPT = "data.engine.BadOpenScript";
	public final static String DS_HAS_OPENED = "data.engine.DataSourceIsOpen";
	public final static String DS_NOT_OPEN = "data.engine.DataSourceNotOpen";
	public final static String CUSTOM_FIELD_EMPTY = "data.engine.EmptyCustomFieldName";
	public final static String DUP_CUSTOM_FIELD_NAME = "data.engine.DupCustomFieldName";
	public final static String NO_RESULT_SET = "data.engine.NoResultSet";
	public final static String METADATA_NOT_AVAILABLE = "data.engine.NoResultMetadata";
	public final static String QUERY_HAS_PREPARED = "data.engine.QueryAlreadyPrepared";
	public final static String QUERY_HAS_NOT_PREPARED = "data.engine.QueryNotPrepared";
	public final static String INAVLID_FIELD_NAME = "data.engine.InvalidFieldName";
	public final static String DUPLICATE_COLUMN_NAME = "data.engine.DupColumnName";
	public final static String DUPLICATE_ALIAS_NAME = "data.engine.DupAlias";
	public final static String INVALID_FIELD_INDEX = "data.engine.InvalidFieldIndex";
	
	public final static String MATCH_ERROR = "data.engine.MatchError";
	public final static String UNSUPPORTED_DATA_TYPE = "data.engine.BadOperandType";
	
	public final static String BAD_PARAM_COUNT = "data.engine.BadParameterCount";
	public final static String BAD_PARAM_TYPE = "data.engine.BadParameterType";
	public final static String NO_SOLUTION_FOUND = "data.engine.NoIrrSolution";