function aggregate(oAggregation, aGroupBy, aAggregate, bGrandTotalLike184, sAlias, i, aAliases) {
		var oDetails = oAggregation.aggregate[sAlias],
			sAggregate = oDetails.name || sAlias,
			sUnit = oDetails.unit,
			sWith = oDetails.with;

		if (bGrandTotalLike184) {
			if (sWith === "average" || sWith === "countdistinct") {
				throw new Error("Cannot aggregate totals with '" + sWith + "'");
			}
			sAggregate = sAlias;
			sAlias = "UI5grand__" + sAlias;
		}
		if (sWith) {
			sAggregate += " with " + sWith + " as " + sAlias;
		} else if (oDetails.name) {
			sAggregate += " as " + sAlias;
		}
		aAggregate.push(sAggregate);

		if (sUnit && aAggregate.indexOf(sUnit) < 0 && aAliases.indexOf(sUnit, i + 1) < 0
				&& aGroupBy.indexOf(sUnit) < 0) {
			aAggregate.push(sUnit);
		}
	}
/*
	 * Process an aggregatable property including its optional unit.
	 *
	 * @param {object} oAggregation - An object holding the information needed for data aggregation
	 * @param {string[]} aGroupBy - groupby((???),...) content
	 * @param {string[]} aAggregate - aggregate(???) content
	 * @param {boolean} bGrandTotalLike184 - Handle grand totals like 1.84?
	 * @param {string} sAlias - An aggregatable property name/alias
	 * @param {number} i - Index of sAlias in aAliases
	 * @param {string[]} aAliases - Array of all applicable aggregatable property names/aliases
	 * @throws {Error} If "average" or "countdistinct" are used together with grand totals like 1.84
	 */
Process an aggregatable property including its optional unit.
Process an aggregatable property including its optional unit .
function aggregate(oAggregation, aGroupBy, aAggregate, bGrandTotalLike184, sAlias, i, aAliases) {
		var oDetails = oAggregation.aggregate[sAlias],
			sAggregate = oDetails.name || sAlias,
			sUnit = oDetails.unit,
			sWith = oDetails.with;
		if (bGrandTotalLike184) {
			if (sWith === "average" || sWith === "countdistinct") {
				throw new Error("Cannot aggregate totals with '" + sWith + "'");
			}
			sAggregate = sAlias;
			sAlias = "UI5grand__" + sAlias;
		}
		if (sWith) {
			sAggregate += " with " + sWith + " as " + sAlias;
		} else if (oDetails.name) {
			sAggregate += " as " + sAlias;
		}
		aAggregate.push(sAggregate);
		if (sUnit && aAggregate.indexOf(sUnit) < 0 && aAliases.indexOf(sUnit, i + 1) < 0
				&& aGroupBy.indexOf(sUnit) < 0) {
			aAggregate.push(sUnit);
		}
	}
function aggregate ( oAggregation , aGroupBy , aAggregate , bGrandTotalLike184 , sAlias , i , aAliases ) { var oDetails = oAggregation . aggregate [ sAlias ] , sAggregate = oDetails . name || sAlias , sUnit = oDetails . unit , sWith = oDetails . with ; if ( bGrandTotalLike184 ) { if ( sWith === "average" || sWith === "countdistinct" ) { throw new Error ( "Cannot aggregate totals with '" + sWith + "'" ) ; } sAggregate = sAlias ; sAlias = "UI5grand__" + sAlias ; } if ( sWith ) { sAggregate += " with " + sWith + " as " + sAlias ; } else if ( oDetails . name ) { sAggregate += " as " + sAlias ; } aAggregate . push ( sAggregate ) ; if ( sUnit && aAggregate . indexOf ( sUnit ) < 0 && aAliases . indexOf ( sUnit , i + 1 ) < 0 && aGroupBy . indexOf ( sUnit ) < 0 ) { aAggregate . push ( sUnit ) ; } }
Process an aggregatable property including its optional unit.
Process an aggregatable property including its optional unit .