Users may edit data at any hierarchical intersection. If the data is modified at an aggregate level (a level with one or more lower levels beneath it), the modification is distributed to the lower levels within the hierarchy. This function is called spreading. If data is modified at a level that has a higher level above, the data changes are reflected in those higher levels as well. This is known as aggregation. Each measure that is used in the solution is assigned a default aggregation and spreading behavior.