Patent ID: 7937363

Claim:
A method of developing a plan for an enterprise, comprising: at a calculation engine module in a computer, generating a multi-dimensional sub-cube from a planning data repository system, the planning data repository system including a memory containing multi-dimensional data, the multi-dimensional data having complex relationships, and the planning data repository system residing separately from the calculation engine module; prior to performing any back-solving, creating a parent-child table that is distinct from the multi-dimensional sub-cube, wherein creating the parent-child table comprises parsing one or more formulae relating cells in the multi-dimensional sub-cube, and wherein creating the parent-child table further comprises summarizing, within the parent-child table, dependencies between the cells of the multi-dimensional sub-cube that are based upon the one or more formulae; and at the calculation engine module in the computer, back-solving a plan having the multi-dimensional sub-cube by using data derived from the planning data repository system, in response to a change request from a client computer specifying an output value, the back-solving being performed after creating the parent-child table to determine input values based upon the output value and upon the one or more formulae, and the back-solving including: optimizing the back-solving for the multi-dimensional sub-cube having a plurality of cells based on the previously created parent-child table; receiving the change request for a specified cell within the cells of the multi-dimensional sub-cube; in response to the change request, scanning the dependencies summarized in the previously created went-child table to identify one or more target cells within the multi-dimensional sub-cube whose values require calculation during the optimized back-solving, wherein the previously created parent-child table indicates at least one dependency between the one or more target cells and the specified cell based upon the one or more formulae; in response to the change request, setting the output value of the specified cell of the multi-dimensional sub-cube to meet a requirement in the change request; determining a back-solving calculation that is to be applied to each of the one or more target cells contained in the multi-dimensional sub-cube that have been identified from the previously created parent-child table based upon the at least one dependency between the one or more target cells and the specified cell and upon the one or more formulae; and calculating values for the one or more target cells based upon the determined back-solving calculations, such that the specified cell results in the output value required by the change request in accordance with the one or more formulae.