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/impl/aggregation/AggregateCalculator.java
AggregateCalculator( List aggrExprInfoList, IResultIterator odiResult )
	{
		assert aggrExprInfoList != null;
		assert odiResult != null;
		
		this.aggrExprInfoList = aggrExprInfoList;
		this.odiResult = odiResult;
		aggrCount = aggrExprInfoList.size( );
		
		if ( aggrCount > 0 )
		{
			aggrValues = new List[aggrCount];
			aggrArgs = new Object[aggrCount][];
			for ( int i = 0; i < aggrCount; i++ )
			{
				aggrValues[i] = new ArrayList( );
				AggrExprInfo aggrInfo = getAggrInfo( i );
			
				
				aggrArgs[i] = new Object[aggrInfo.aggregation.getParameterDefn( ).length];
			}
			accumulatorManagers = new AccumulatorManager[aggrCount];
		}
	}
	
	/**
	 * Makes one pass over the odiResult and calculates values for all aggregate
	 * expressions. odiResult must be open, and cursor placed at first row. Upon
	 * return, odiResult is rewinded to first row. Before calling this method, a
	 * Javascript "row" object must be set up in the passed-in JS context and