IP Library Granted Patent US 8,386,497
Granted Patent B2
US 8,386,497 · App. 12/879,669 · Granted Feb 26, 2013

Query generation based on hierarchical filters

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,386,497
App. No.
12/879,669
Granted
Feb 26, 2013
Kind
B2
Abstract

A system includes reception of a query filtered on an object of a hierarchical list of values and comprising a first filter value, generation of an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values, and retrieval of a data set associated with the query based on the SQL script. In some aspects, reception of the query includes reception of a command to refresh a document including the query and a prompt on a filter value, presentation of the prompt and the hierarchical list of values, and reception of the first filter value.

Claims (173)

1. A non-transitory computer-readable medium having program code stored thereon, the program code executable by a processor to:

receive a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generate an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieve a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are associated with a same level of the hierarchical list of values; and

determining a key of the first filter value, the key based on the at least one ancestor value of the first filter value,

wherein a WHERE statement of the SQL script comprises the key.

2. A non-transitory computer-readable medium according to claim 1 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are associated with a same level of the hierarchical list of values; and

determining a second key of the second filter value, the second key based on at least one ancestor value of the second filter value;

wherein the WHERE statement of the SQL script further comprises the second key.

3. A non-transitory computer-readable medium according to claim 1 , wherein reception of the query comprises:

receiving a command to refresh a report including the query and a prompt on a filter value;

presenting the prompt and the hierarchical list of values; and

receiving the first filter value.

4. A non-transitory computer-readable medium having program code stored thereon, the program code executable by a processor to:

receive a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generate an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieve a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are associated with a same level of the hierarchical list of values; and

determining the at least one ancestor value of the first filter value in the hierarchical list of values,

wherein a WHERE statement of the SQL script comprises the first filter value and the at least one ancestor value.

5. A non-transitory computer-readable medium according to claim 4 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are associated with a same level of the hierarchical list of values; and

determining at least one ancestor value of the second filter value in the hierarchical list of values,

wherein the WHERE statement of the SQL script further comprises a first OR clause comprising the first filter value and the at least one ancestor value of the first filter value, and a second OR clause comprising the second filter value and the at least one ancestor value of the second filter value.

6. A non-transitory computer-readable medium having program code stored thereon, the program code executable by a processor to:

receive a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generate an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieve a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are not associated with a same level of the hierarchical list of values; and

determining a key of the first filter value, the key based on the at least one ancestor value of the first filter value,

wherein the SQL script comprises a sub-query, and

wherein a WHERE statement of the sub-query comprises the key.

7. A non-transitory computer-readable medium according to claim 6 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are not associated with a same level of the hierarchical list of values; and

determining a second key of the second filter value, the second key based on the at least one ancestor value of the second filter value,

wherein the WHERE statement of the sub-query further comprises the second key.

8. A non-transitory computer-readable medium having program code stored thereon, the program code executable by a processor to:

receive a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generate an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieve a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are not associated with a same level of the hierarchical list of values; and

determining the at least one ancestor value of the first filter value in the hierarchical list of values,

wherein the SQL script comprises a sub-query, and

wherein a WHERE statement of the sub-query comprises the first filter value and the at least one ancestor value.

9. A non-transitory computer-readable medium according to claim 8 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are not associated with a same level of the hierarchical list of values; and

determining at least one ancestor value of the second filter value in the hierarchical list of values,

wherein the WHERE statement of the sub-query comprises a first OR clause comprising the first filter value and the at least one ancestor value of the first filter value, and a second OR clause comprising the second filter value and the at least one ancestor value of the second filter value.

10. A system comprising:

a data storage device storing data;

a repository device storing metadata defining a hierarchical list of values; and

an apparatus comprising a processor, the apparatus to:

receive a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generate an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieve a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are associated with a same level of the hierarchical list of values; and

determining a key of the first filter value, the key based on the at least one ancestor value of the first filter value,

wherein a WHERE statement of the SQL script comprises the key.

11. A system according to claim 10 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are associated with a same level of the hierarchical list of values; and

determining a second key of the second filter value, the second key based on at least one ancestor value of the second filter value

wherein the WHERE statement of the SQL script further comprises the second key.

12. A system according to claim 10 , wherein reception of the query comprises:

receiving a command to refresh a report including the query and a prompt on a filter value;

presenting the prompt and the hierarchical list of values; and

receiving the first filter value.

13. A system comprising:

a data storage device storing data a repository device storing metadata defining a hierarchical list of values; and

an apparatus comprising a processor, the apparatus to:

receive a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generate an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieve a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are associated with a same level of the hierarchical list of values; and

determining the at least one ancestor value of the first filter value in the hierarchical list of values,

wherein a WHERE statement of the SQL script comprises the first filter value and the at least one ancestor value.

14. A system according to claim 13 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are associated with a same level of the hierarchical list of values; and

determining at least one ancestor value of the second filter value in the hierarchical list of values,

wherein the WHERE statement of the SQL script further comprises a first OR clause comprising the first filter value and the at least one ancestor value of the first filter value, and a second OR clause comprising the second filter value and the at least one ancestor value of the second filter value.

15. A system comprising:

a data storage device storing data;

a repository device storing metadata defining a hierarchical list of values; and

an apparatus comprising a processor, the apparatus to:

receive a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generate an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieve a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are not associated with a same level of the hierarchical list of values; and

determining a key of the first filter value, the key based on the at least one ancestor value of the first filter value,

wherein the SQL script comprises a sub-query, and

wherein a WHERE statement of the sub-query comprises the key.

16. A system according to claim 15 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are not associated with a same level of the hierarchical list of values; and

determining a second key of the second filter value, the second key based on the at least one ancestor value of the second filter value,

wherein the WHERE statement of the sub-query further comprises the second key.

17. A system comprising:

a data storage device storing data;

a repository device storing metadata defining a hierarchical list of values; and

an apparatus comprising a processor, the apparatus to:

receive a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generate an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieve a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are not associated with a same level of the hierarchical list of values; and

determining the at least one ancestor value of the first filter value in the hierarchical list of values,

wherein the SQL script comprises a sub-query, and

wherein a WHERE statement of the sub-query comprises the first filter value and the at least one ancestor value.

18. A system according to claim 17 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are not associated with a same level of the hierarchical list of values; and

determining at least one ancestor value of the second filter value in the hierarchical list of values,

wherein the WHERE statement of the sub-query comprises a first OR clause comprising the first filter value and the at least one ancestor value of the first filter value, and a second OR clause comprising the second filter value and the at least one ancestor value of the second filter value.

19. A method comprising:

receiving, by a processor, a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generating, by the processor, an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieving, by the processor, a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are associated with a same level of the hierarchical list of values; and

determining a key of the first filter value, the key based on the at least one ancestor value of the first filter value,

wherein a WHERE statement of the SQL script comprises the key.

20. A method according to claim 19 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are associated with a same level of the hierarchical list of values; and

determining a second key of the second filter value, the second key based on at least one ancestor value of the second filter value;

wherein the WHERE statement of the SQL script further comprises the second key.

21. A method according to claim 19 , wherein reception of the query comprises:

receiving a command to refresh a report including the query and a prompt on a filter value;

presenting the prompt and the hierarchical list of values; and

receiving the first filter value.

22. A method comprising:

receiving, by a processor, a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generating, by the processor, an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieving, by the processor, a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are associated with a same level of the hierarchical list of values; and

determining the at least one ancestor value of the first filter value in the hierarchical list of values,

wherein a WHERE statement of the SQL script comprises the first filter value and the at least one ancestor value.

23. A method according to claim 22 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are associated with a same level of the hierarchical list of values; and

determining at least one ancestor value of the second filter value in the hierarchical list of values,

wherein the WHERE statement of the SQL script further comprises a first OR clause comprising the first filter value and the at least one ancestor value of the first filter value, and a second OR clause comprising the second filter value and the at least one ancestor value of the second filter value.

24. A method comprising:

receiving, by a processor, a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generating, by the processor, an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieving, by the processor, a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are not associated with a same level of the hierarchical list of values; and

determining a key of the first filter value, the key based on the at least one ancestor value of the first filter value,

wherein the SQL script comprises a sub-query, and

wherein a WHERE statement of the sub-query comprises the key.

25. A method according to claim 24 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are not associated with a same level of the hierarchical list of values; and

determining a second key of the second filter value, the second key based on the at least one ancestor value of the second filter value,

wherein the WHERE statement of the sub-query further comprises the second key.

26. A method comprising:

receiving, by a processor, a query filtered on an object of a hierarchical list of values and comprising a first filter value;

generating, by the processor, an SQL script based on the first filter value and at least one ancestor value of the first filter value in the hierarchical list of values; and

retrieving, by the processor, a data set associated with the query based on the SQL script;

wherein generation of the SQL script comprises:

determining that the object and the first filter value are not associated with a same level of the hierarchical list of values; and

determining the at least one ancestor value of the first filter value in the hierarchical list of values,

wherein the SQL script comprises a sub-query, and

wherein a WHERE statement of the sub-query comprises the first filter value and the at least one ancestor value.

27. A method according to claim 26 , wherein the query comprises a second filter value, and wherein generation of the SQL script comprises:

determining that the object, the first filter value and the second filter value are not associated with a same level of the hierarchical list of values; and

determining at least one ancestor value of the second filter value in the hierarchical list of values,

wherein the WHERE statement of the sub-query comprises a first OR clause comprising the first filter value and the at least one ancestor value of the first filter value, and a second OR clause comprising the second filter value and the at least one ancestor value of the second filter value.

Assignments (2)
CHANGE OF NAME Recorded Jan 26, 2026
From: BUSINESS OBJECTS SOFTWARE LIMITED
To: SAP IRELAND LIMITED
Reel/Frame 074510/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2010
From: TSOUNGUI, OLIVIER
To: BUSINESS OBJECTS SOFTWARE LIMITED
Reel/Frame 024970/0471 →