US9547646B2ActiveUtilityA1

User-created members positioning for OLAP databases

Assignee: GHAEMI HOUMANPriority: May 19, 2014Filed: May 19, 2014Granted: Jan 17, 2017
Est. expiryMay 19, 2034(~7.8 yrs left)· nominal 20-yr term from priority
Inventors:Houman Ghaemi
G06F 17/30563G06F 17/30G06F 17/30592G06F 17/30589G06F 17/3053G06F 16/282G06F 16/24578G06F 16/2457G06F 16/283G06F 16/254G06F 16/00
47
PatentIndex Score
1
Cited by
8
References
20
Claims

Abstract

The present disclosure describes methods, systems, and computer program products for positioning user-created data in an Online Analytical Processing (OLAP) database. A method may comprise receiving, at a server and from a client computing device, a query specifying one or more anchor members in a first hierarchy of the database and one or more user-created members to be positioned in the first hierarchy in relation to the anchor members according to a user-specified order, the first hierarchy of the database including members arranged in positions specified by the server; positioning, by the server, the user-created members in the first hierarchy of the database in relation to the anchor members according to the user-specified order, wherein the positioning comprises: determining a rank position for each of the anchor members; creating, for each of the user-created members, an auxiliary calculated member on an ancillary hierarchy, the auxiliary calculated member indicating the respective user-created member and the rank position of the associated anchor member.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method for positioning user-created data in an Online Analytical Processing (OLAP) database, the method comprising:
 receiving, at a server and from a client computing device, a query specifying one or more anchor members in a first hierarchy of the database and one or more user-created members to be positioned in the first hierarchy in relation to the anchor members according to a user-specified order, the first hierarchy of the database including members arranged in positions specified by the server; 
 positioning, by the server, the user-created members in the first hierarchy of the database in relation to the anchor members according to the user-specified order, wherein the positioning comprises:
 determining a rank position for each of the anchor members; 
 creating, for each of the user-created members to be positioned in the first hierarchy, an auxiliary calculated member on an ancillary hierarchy different than the first hierarchy, the auxiliary calculated member indicating the respective user-created member and the rank position of the associated anchor member; 
 generating one or more query expressions in a query language of the database, the expressions specifying the anchor members and the one or more auxiliary calculated members; and 
 executing the query expressions; and 
 
 outputting, by the server to the client device, the first hierarchy of the database including the user-created members according to the user-specified order. 
 
     
     
       2. The method of  claim 1 , wherein each user-created member is a data structure that contains information about at least one of: a definition for the user-defined member as an OLAP language expression, an identifier for the user-created member, an identifier for the anchor member, or an identifier for a parent of each user-created member. 
     
     
       3. The method of  claim 1 , wherein the anchor member is a native member of the first hierarchy or another user-created member, on the first hierarchy, included in the query. 
     
     
       4. The method of  claim 1 , further comprising:
 determining, at the server, the ancillary hierarchy in a pre-processing operation after the receiving of the query from the client computing device, wherein the ancillary hierarchy is mathematically orthogonal to the first hierarchy. 
 
     
     
       5. The method of  claim 1 , wherein the one or more user-created members are positioned after their associated anchor member and not before their associated anchor member. 
     
     
       6. The method of  claim 1 , wherein the query expressions include sorting the auxiliary calculated members according to the ranks of the anchor members. 
     
     
       7. The method of  claim 1 , wherein the positioning of the user-created members does not require prescience of the state of the anchor member within the result of the query before execution of query expressions. 
     
     
       8. The method of  claim 1 , wherein the positioning further comprises:
 positioning the user-created members that are anchored to the same anchor member in the same order that they appear in the query. 
 
     
     
       9. The method of  claim 1 , wherein the user-specified order specifies for each user-created member, before or after which other member the user-created member is to be positioned, wherein the user-specified order differs from positions that would have been specified by the server absent the user-specified order. 
     
     
       10. The method of  claim 1 , wherein the query further specifying one or more query expressions for each hierarchy on each axes of the query with the one or more anchor members in the first hierarchy of the database, the first hierarchy being placed on one of the query axes. 
     
     
       11. A computer program product encoded on a non-transitory storage medium, the product comprising computer readable instructions for causing one or more computers to perform operations for positioning user-created data in an Online Analytical Processing (OLAP) database, the operations comprising:
 receiving, at a server and from a client computing device, a query specifying one or more anchor members in a first hierarchy of the database and one or more user-created members to be positioned in the first hierarchy in relation to the anchor members according to a user-specified order, the first hierarchy of the database including members arranged in positions specified by the server; 
 positioning, by the server, the user-created members in the first hierarchy of the database in relation to the anchor members according to the user-specified order, wherein the positioning comprises:
 determining a rank position for each of the anchor members; 
 creating, for each of the user-created members to be positioned in the first hierarchy, an auxiliary calculated member on an ancillary hierarchy different than the first hierarchy, the auxiliary calculated member indicating the respective user-created member and the rank position of the associated anchor member; 
 generating one or more query expressions in a query language of the database, the expressions specifying the anchor members and the one or more auxiliary calculated members; and 
 executing the query expressions; and 
 
 outputting, by the server to the client device, the first hierarchy of the database including the user-created members according to the user-specified order. 
 
     
     
       12. The computer program product of  claim 11 , wherein each user-created member is a data structure that contains information about at least one of: a definition of the user-defined members as one or more OLAP language expressions, an identifier for the user-created members, an identifier for the anchor member, or an identifier for a parent of each user-created member. 
     
     
       13. The computer program product of  claim 11 , further comprising:
 determining, at the server, the ancillary hierarchy in a pre-processing operation after the receiving of the query from the client computing device, wherein the ancillary hierarchy is mathematically orthogonal to the first hierarchy. 
 
     
     
       14. The computer program product of  claim 11 , wherein the one or more user-created members are positioned after their associated anchor member and not before their associated anchor member. 
     
     
       15. The computer program product of  claim 11 , wherein the query expressions include sorting the auxiliary calculated members according to the ranks of the anchor members. 
     
     
       16. The computer program product of  claim 11 , wherein the auxiliary calculated member takes into account cases where the anchor member is not present in the query result set. 
     
     
       17. The computer program product of  claim 11 , wherein the user-specified order specifies for each user-created member, before or after which other member the user-created member is to be positioned, wherein the user-specified order differs from positions that would have been specified by the server absent the user-specified order. 
     
     
       18. A system for positioning user-created data in an Online Analytical Processing (OLAP) database, the system comprising:
 an OLAP database; 
 an OLAP server; 
 a client device configured to receive a query specifying one or more anchor members in a first hierarchy of the database and one or more user-created members to be positioned in the first hierarchy in relation to the anchor members according to a user-specified order, the first hierarchy of the database including members arranged in positions specified by the server; 
 the OLAP server including one or more processors, the one or more processors configured to:
 position the user-created members in the first hierarchy of the database in relation to the anchor members according to the user-specified order, wherein the positioning comprises:
 determining a rank position for each of the anchor members; 
 creating, for each of the user-created members to be positioned in the first hierarchy, an auxiliary calculated member on an ancillary hierarchy different than the first hierarchy, the auxiliary calculated member indicating the respective user-created member and the rank position of the associated anchor member; 
 generating one or more query expressions in a query language of the database, the expressions specifying the anchor members and the one or more auxiliary calculated members; and 
 executing the query expressions; and 
 
 
 the client device configured to output the first hierarchy of the database including the user-created members according to the user-specified order. 
 
     
     
       19. The system of  claim 18 , wherein the user-specified order specifies for each user-created member, to the before or after of which other member the user-created member is to be positioned, wherein the user-specified order differs from positions that would have been specified by the server absent the user-specified order. 
     
     
       20. A system for positioning user-created data in an Online Analytical Processing (OLAP) database, the system comprising:
 an OLAP database; 
 an OLAP server; 
 a client device configured to receive a query specifying one or more anchor members in a first hierarchy of the database and one or more user-created members to be positioned in the first hierarchy in relation to the anchor members according to a user-specified order, the first hierarchy of the database including members arranged in positions specified by the server; 
 the OLAP server including one or more processors, the one or more processors configured to:
 position the user-created members in the first hierarchy of the database in relation to the anchor members according to the user-specified order, wherein the positioning comprises:
 determining a rank position for each of the anchor members; 
 determining an ancillary hierarchy that is mathematically orthogonal to the first hierarchy; 
 creating, for each of the user-created members, an auxiliary calculated member on the ancillary hierarchy, the auxiliary calculated member indicating the respective user-created member and the rank position of the associated anchor member; 
 generating one or more query expressions in a query language of the database, the expressions specifying the anchor members and the one or more auxiliary calculated members, wherein the expressions cause sorting the auxiliary calculated members according to the ranks of the anchor members; and 
 executing the query expressions; and 
 
 
 the client device configured to output the first hierarchy of the database including the user-created members according to the user-specified order.

Join the waitlist — get patent alerts

Track US9547646B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.