IP Library Granted Patent US 8,255,368
Granted Patent B2
US 8,255,368 · App. 12/032,602 · Granted Aug 28, 2012

Apparatus and method for positioning user-created data in OLAP data sources

Assignee: SAP France S.A.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,255,368
App. No.
12/032,602
Granted
Aug 28, 2012
Kind
B2
Abstract

A computer readable storage medium comprises executable instructions to receive user-created data for user-specified positions in an OLAP hierarchy. The OLAP hierarchy is reorganized according to the user-created data. Data manipulation statements are generated to evaluate a set of members of the OLAP hierarchy according to the user-specified positions.

Claims (40)

1. A non-transitory computer readable storage medium, comprising executable instructions to:

receive user-created data with user-specified positions in a pre-existing OLAP hierarchy, wherein the OLAP hierarchy comprises members arranged in position specified by an OLAP server, wherein the user-created data with user-specified positions in the OLAP hierarchy is expressed as a multidimensional expression listing the user-created data relative to user-created data siblings to the left and right of the user created data, the user-specified positions differing from positions that would have been specified by the OLAP server absent the user-created data, wherein the user-created data is received via a graphical user interface displayed to a user for defining user-created data at the user-specified positions in the OLAP hierarchy and adding the user-created data to the OLAP hierarchy at server-specified positions;

generate data manipulation statements to insert the user-created data in user-specified positions of the OLAP hierarchy, wherein the user-specified positions specify lineage of the user-created data and order of the user-created data relative to the user-created data siblings; and

rearrange the OLAP hierarchy to reposition the user-created data from the server-specified positions into the user-specified positions.

2. The computer readable storage medium of claim 1 , wherein the user-created data comprises one or more calculations.

3. The computer readable storage medium of claim 1 , wherein the executable instructions to generate data manipulation statements comprise executable instructions to create a calculation chain as an ordered list of calculations with one non-calculated member of the OLAP hierarchy.

4. The computer readable storage medium of claim 3 , further comprising executable instructions to consolidate calculation chains having common siblings.

5. The computer readable storage medium of claim 4 , further comprising executable instructions to anchor each calculation chain with a non-calculated member from the OLAP hierarchy.

6. The computer readable storage medium of claim 5 , wherein the executable instructions to anchor each calculation chain comprises executable instructions to position the non-calculated member in the first or last position in the calculation chain.

7. The computer readable storage medium of claim 6 , further comprising executable instructions to create one or more last sibling lists keyed by a non-calculated member and comprising last sibling calculations from the user-created data set.

8. The computer readable storage medium of claim 7 , further comprising executable instructions to create a calculation chain starting with the key non-calculated member in each last sibling list followed by calculation chains keyed by the non-calculated member in ascending order.

9. The computer readable storage medium of claim 8 , wherein the executable instructions to generate data manipulation statements comprise executable instructions to generate a query to remove all calculations from the user-created data set.

10. The computer readable storage medium of claim 9 , further comprising executable instructions to generate a query to insert server-created calculations back into the user-created data set.

11. The computer readable storage medium of claim 10 , further comprising executable instructions to:

insert non-calculated members from the calculation chains into the user-created data set; and

remove the non-calculated members from the calculation chains from the user-created data set.

12. The computer readable storage medium of claim 11 , further comprising executable instructions to remove duplicate members from the user-created data set.

13. The computer readable storage medium of claim 12 , further comprising executable instructions to order the user-created data set in hierarchical order.

14. The computer readable storage medium of claim 13 , further comprising executable instructions to insert the calculation chains into the user-created data set.

15. A method for positioning user-created data in a pre-existing OLAP hierarchy, comprising:

receiving user-created data with user-specified positions in the OLAP hierarchy, wherein the OLAP hierarchy comprises members arranged in positions specified by an OLAP server, wherein receiving the user-created data with user-specified positions in the OLAP hierarchy includes receiving a multidimensional expression listing the user-created data relative to user-created data siblings to the left and right of the user created data, wherein the user-created data is received via a graphical user interface displayed to a user for defining user-created data at the user-specified positions in the OLAP hierarchy and adding the user-created data to the OLAP hierarchy at server-specified positions;

generating data manipulation statements to insert the user-created data at the user-specified positions in the OLAP hierarchy, wherein the user-specified positions specify lineage of the user-created data and order of the user-created data relative to the user-created data siblings;

evaluating a set of members of the OLAP hierarchy according to the user-specified positions; and

reorganizing the OLAP hierarchy to reposition the user-created data from the server-specified positions into the user-specified positions.

16. The method of claim 15 , wherein reorganizing the OLAP hierarchy comprises:

forming a list of calculation chains from the user-created data;

consolidating calculation chains in the list of calculation chains that have common siblings;

anchoring each calculation chain in the list of calculation chains with a non-calculated member from the OLAP hierarchy; and

processing calculation chains from the list of calculation chains having last sibling calculations in the OLAP hierarchy.

17. The method of claim 16 , wherein generating data manipulation statements comprises:

generating a query to remove all calculations from the set;

inserting server-created calculations back into the set;

inserting non-calculated members that are siblings of the server-created calculations back into the set;

removing duplicate members from the set;

ordering the set in hierarchical order; and

inserting the calculation chains from the list of calculation chains into the set.

18. A non-transitory computer readable storage medium, comprising executable instructions to:

receive user-created data with user-specified positions in a pre-existing OLAP hierarchy defining a set, wherein the OLAP hierarchy comprises members arranged in position specified by an OLAP server, wherein the user-created data with user-specified positions in the OLAP hierarchy is expressed as a multidimensional expression listing the user-created data relative to user-created data siblings to the left and right of the user created data, wherein a portion of the members are calculated members, the user-specified positions differing from positions that would have been specified by the OLAP server absent the user-created data, wherein the user-created data is received via a graphical user interface displayed to a user for defining user-created data at the user-specified positions in the OLAP hierarchy and adding the user-created data to the OLAP hierarchy at server-specified positions;

generate data manipulation statements to insert the user-created data in user-specified positions of the OLAP hierarchy by recursively splitting the set into two parts, a first part including members that should appear before a corresponding non-calculated member and a second part including members that should appear after a corresponding non-calculated member, wherein calculated members situated at a position in the hierarchy indicated by the split are inserted into the split and user-specified positions specify lineage of the user-created data and order of the user-created data relative to the user-created data siblings; and

rearrange the OLAP hierarchy to reposition the user-created data from the server-specified positions into the user-specified positions.

Assignments (2)
CHANGE OF NAME Recorded Jul 12, 2011
From: BUSINESS OBJECTS, S.A.
To: SAP FRANCE S.A.
Reel/Frame 026581/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2008
From: COX, REUBEN MICHAEL ARTHUR
To: BUSINESS OBJECTS, S.A.
Reel/Frame 020535/0925 →
Continuity (1)
Related Publication 20090210438A1 · Aug 20, 2009