Systems and methods for providing value hierarchies, ragged hierarchies and skip-level hierarchies in a business intelligence server
First Claim
1. A method for providing value hierarchies in a business intelligence server environment, said method comprising:
- receiving, on a user interface of a business intelligence (BI) server, a specification of ancestral relationships among a set of data stored in a data source;
generating, by the BI server, a set of structured query language (SQL) queries and executing said SQL queries on the data source to pre-populate a set of closure tables, wherein each closure table contains one row for every pair of members that have said ancestral relationship of any distance; and
receiving, at the BI server, a request for the ancestral relationship of a particular data member; and
employing the set of closure tables by said BI server to generate a response to said request, said response indicating the ancestral relationship of said data member,wherein the BI server represents a level hierarchy by implementing a separate column for each level of the hierarchy,wherein each level of the hierarchy is represented by a level key;
wherein the BI server determines that a particular level in the level hierarchy is skipped and contains no value at said particular level and represents the skipped level of the hierarchy with a null key, andwherein if the skipped level is discovered by the BI server during retrieval of information while drilling down through the level hierarchy, the BI server determines which next level following the skipped level contains a value and returns said value in the next level.
1 Assignment
0 Petitions
Accused Products
Abstract
A business intelligence (BI) server and repository are described which support a set of hierarchical relationships among the data. The BI server receives user input specifying a set of parent-child or other ancestral relationship among a set of data in a data source. The BI server generates a set of SQL queries and executes the queries to pre-populate a set of tables which specify the parent child relationships among the data in the data source. One such table is a parent-child relationship closure table that defines the inter-member relationships among the data members. Once the tables are populated, the BI server uses the closure tables to answer queries that require knowledge of the ancestral relationships among data.
-
Citations
18 Claims
-
1. A method for providing value hierarchies in a business intelligence server environment, said method comprising:
-
receiving, on a user interface of a business intelligence (BI) server, a specification of ancestral relationships among a set of data stored in a data source; generating, by the BI server, a set of structured query language (SQL) queries and executing said SQL queries on the data source to pre-populate a set of closure tables, wherein each closure table contains one row for every pair of members that have said ancestral relationship of any distance; and receiving, at the BI server, a request for the ancestral relationship of a particular data member; and
employing the set of closure tables by said BI server to generate a response to said request, said response indicating the ancestral relationship of said data member,wherein the BI server represents a level hierarchy by implementing a separate column for each level of the hierarchy, wherein each level of the hierarchy is represented by a level key; wherein the BI server determines that a particular level in the level hierarchy is skipped and contains no value at said particular level and represents the skipped level of the hierarchy with a null key, and wherein if the skipped level is discovered by the BI server during retrieval of information while drilling down through the level hierarchy, the BI server determines which next level following the skipped level contains a value and returns said value in the next level. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for providing value hierarchies, said system comprising:
-
a memory;
at least one processor coupled to the memory;a business intelligence (BI) server including a graphical user interface that is employed to receive a specification of at least one ancestral relationship among a set of data; and a data source storing the set of data;
wherein the BI server generates a set of structured query language (SQL) queries and executes said SQL queries on the data source to pre-populate a set of closure tables, wherein each closure table contains one row for every pair of members that have said ancestral relationship of any distance;
wherein,after pre-populating said closure tables, the BI server receives a request for the ancestral relationship of a particular data member; and
employs the set of closure tables on said BI server to generate a response to said request, said response indicating the ancestral relationship of said data member, wherein the BI server represents a level hierarchy by implementing a separate column for each level of the hierarchy,wherein each level of the hierarchy is represented by a level key; wherein the BI server determines that a particular level in the level hierarchy is skipped and contains no value at said particular level and represents the skipped level of the hierarchy with a null key, and wherein if the skipped level is discovered by the BI server during retrieval of information while drilling down through the level hierarchy, the BI server determines which next level following the skipped level contains a value and returns said value in the next level. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer readable storage medium storing a set of instructions for providing value hierarchies in a business intelligence server, said instructions, when executed by one or more processors, causing the one or more processors to perform the steps of:
-
receiving, on a user interface of a business intelligence (BI) server, a specification of ancestral relationships among a set of data stored in a data source; generating, by the BI server, a set of structured query language (SQL) queries and executing said SQL queries on the data source to pre-populate a set of closure tables, wherein each closure table contains one row for every pair of members that have said ancestral relationship of any distance; receiving, at the BI server, a request for the ancestral relationship of a particular data member; and employing the set of closure tables by said BI server to generate a response to said request, said response indicating the ancestral relationship of said data member, wherein the BI server represents a level hierarchy by implementing a separate column for each level of the hierarchy, wherein each level of the hierarchy is represented by a level key; wherein the BI server determines that a particular level in the level hierarchy is skipped and contains no value at said particular level and represents the skipped level of the hierarchy with a null key, and wherein if the skipped level is discovered by the BI server during retrieval of information while drilling down through the level hierarchy, the BI server determines which next level following the skipped level contains a value and returns said value in the next level.
-
Specification