System, method, and data structure for automatically generating database queries which are data model independent and cardinality independent
First Claim
1. A system, comprising:
- a processor configured to perform operations that includereceiving an identification of data item components and an identification of associations between the data item components, wherein the data item components include measures and a category, and wherein the identified associations include at least two different associations from the associations comprising an indication that one measure is independent of other measures, an indication that one measure is dependent on another measure, and an indication that two or more measures are correlated;
creating a database query for retrieving data item components, wherein the database query includes a first Uquery, wherein the first Uquery includes a Mx segment subquery and a U0 segment subquery, wherein the Mx segment subquery is operable to gather measures and is associated with an Mx segment table that contains the measures included in the data item components, columns for a calculated measure, or correlated measures, and wherein the U0 segment subquery is associated with a table that contains the category, a table that contains columns for a calculated category, a dependent measure table, or a dependent filter table, and wherein the U0 segment subquery further facilitates selecting a set of categories and join keys, the join keys of the set including join keys that join directly to the Mx segment subquery;
executing each Mx segment subquery to generate Mx segment subquery results;
executing each U0 segment subquery to generate U0 segment subquery results;
joining Mx segment subquery results from each Uquery with the U0 segment subquery results from the same Uquery to generate Uquery results;
generating a virtual results table by aggregating the Uquery results from one Uquery with Uquery results from another Uquery; and
reporting the virtual results table.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided for performing a query in a distributed system. In one example, a query generation system receives an identification of data item components and associations between the data item components, wherein the data item components include a measure and a category, and wherein the identified association indicates that the measure is independent of another data item component, indicates that the measure is dependent on another data item component, or indicates that two or more data item components are correlated. The query generation system creates and executes a database query for retrieving data item components, wherein the database query includes a first Uquery, wherein the first Uquery includes a Mx segment subquery and a U0 segment subquery, wherein the Mx segment subquery is associated with a table that contains the measure, a table that contains columns for a calculated measure, or a correlated table, and wherein the U0 segment subquery is associated with a table that contains the category, a table that contains columns for a calculated category, a dependent measure table, or a dependent filter table. In another example, the query generation system generates a virtual results table by aggregating the Uquery results from one Uquery with Uquery results from another Uquery and reports the virtual results table.
-
Citations
32 Claims
-
1. A system, comprising:
-
a processor configured to perform operations that include receiving an identification of data item components and an identification of associations between the data item components, wherein the data item components include measures and a category, and wherein the identified associations include at least two different associations from the associations comprising an indication that one measure is independent of other measures, an indication that one measure is dependent on another measure, and an indication that two or more measures are correlated; creating a database query for retrieving data item components, wherein the database query includes a first Uquery, wherein the first Uquery includes a Mx segment subquery and a U0 segment subquery, wherein the Mx segment subquery is operable to gather measures and is associated with an Mx segment table that contains the measures included in the data item components, columns for a calculated measure, or correlated measures, and wherein the U0 segment subquery is associated with a table that contains the category, a table that contains columns for a calculated category, a dependent measure table, or a dependent filter table, and wherein the U0 segment subquery further facilitates selecting a set of categories and join keys, the join keys of the set including join keys that join directly to the Mx segment subquery; executing each Mx segment subquery to generate Mx segment subquery results; executing each U0 segment subquery to generate U0 segment subquery results; joining Mx segment subquery results from each Uquery with the U0 segment subquery results from the same Uquery to generate Uquery results; generating a virtual results table by aggregating the Uquery results from one Uquery with Uquery results from another Uquery; and reporting the virtual results table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-program product comprising a non-transitory machine-readable storage medium operable to cause a data processing apparatus to perform operations including:
-
receiving an identification of data item components and an identification of associations between the data item components, wherein the data item components include measures and a category, and wherein the identified associations include at least two different associations from the associations comprising an indication that one measure is independent of other measures, an indication that one measure is dependent on another measure, and an indication that two or more measures are correlated; creating a database query for retrieving data item components, wherein the database query includes a first Uquery, wherein the first Uquery includes a Mx segment subquery and a U0 segment subquery, wherein the Mx segment subquery is operable to gather measures and is associated with an Mx segment table that contains the measures included in the data item components, columns for a calculated measure, or correlated measures, and wherein the U0 segment subquery is associated with a table that contains the category, a table that contains columns for a calculated category, a dependent measure table, or a dependent filter table, and wherein the U0 segment subquery further facilitates selecting a set of categories and join keys, the join keys of the set including join keys that join directly to the Mx segment subquery; executing each Mx segment subquery to generate Mx segment subquery results; executing each U0 segment subquery to generate U0 segment subquery results; joining Mx segment subquery results from each Uquery with the U0 segment subquery results from the same Uquery to generate Uquery results; generating a virtual results table by aggregating the Uquery results from one Uquery with Uquery results from another Uquery; and reporting the virtual results table. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-program product comprising:
-
a non-transitory machine-readable storage medium that stores instructions operable to cause a data processing apparatus to perform operations including; receiving an identification of data item components and an identification of an association between the data item components, wherein the data item components include a measure and a category, and wherein the identified association indicates that the measure is independent of another data item component, indicates that the measure is dependent on another data item component, or indicates that two or more data item components are correlated; creating a database query for retrieving data item components, wherein the database query includes a first Uquery, wherein the first Uquery includes a Mx segment subquery and a U0 segment subquery, wherein the Mx segment subquery is operable to gather measures and is associated with an Mx segment table that contains the measure included in the data item components, columns for a calculated measure, or correlated measures, and wherein the U0 segment subquery is associated with a table that contains the category, a table that contains columns for a calculated category, a dependent measure table, or a dependent filter table, and wherein the U0 segment subquery further facilitates selecting a set of categories and join keys, the join keys of the set including join keys that join directly to the Mx segment subquery; executing the Mx segment subquery to generate Mx segment subquery results; executing the U0 segment subquery to generate U0 segment subquery results; and joining the Mx segment subquery results with the U0 segment subquery results to generate Uquery results. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification