Patent attributes
Data allocation is performed by translating a rule set to a query list. An allocation engine receives the rule set and the data and generates a query list. The query list may be in MDX or SQL syntax. After modifying the queries in the list into a list of physical queries that match the specific characteristic of the data store, a modeling abstraction layer provides the physical queries to the data store engine to perform the queries and provide the results to the allocation engine. The allocation engine allocates the data among existing or new hierarchical levels based on the query results. The allocated data may be stored in the same data store as the original data.