Virtual Aggregation
First Claim
1. A computer-implemented method, using a computing device comprising one or more processors and one or more memories coupled to the one or more processors, the one or more memories storing computer-executable instructions to cause the one or more processors to perform operations for executing a query to generate and return a report attribute aggregation result, the operations comprising:
- receiving a request to generate a report, the report associated with at least one hierarchical report attribute;
evaluating a plurality of target report attributes, the evaluating comprising evaluating a flag indicating whether a respective attribute is associated with a hierarchy;
for report attributes determined to be associated with a hierarchy;
retrieving attributes associated with one or more existing reports;
comparing semantic identifiers of target report attributes with semantic identifiers of attributes of the one or more existing reports;
for target report attributes having a semantic identifier matching a semantic identifier of an existing report attribute, generating a data aggregation request, the data aggregation request comprising a tree of nodes, each node having a semantic identifier, and an aggregation method; and
executing the data aggregation request to generate a target aggregation hierarchy, the executing the data aggregation request comprising;
for each node in the tree of nodes having a corresponding node in the existing aggregation hierarchy, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, creating a node in the target aggregation hierarchy by retrieving a value of the respective corresponding node and storing the value in the respective created node;
for each node in the tree of nodes that does not have a corresponding node in the existing aggregation hierarchy, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, but does have, for each child node of one or more child nodes of the respective node of the tree of nodes, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, a corresponding child node in the existing aggregation hierarchy, creating a node in the target aggregation hierarchy based on applying the aggregation method to the corresponding child nodes by retrieving values from the corresponding child nodes, applying the aggregation method to the retrieved values to provide an aggregation result, and storing the aggregation result in the created node in the target aggregation hierarchy;
for each node in the tree of nodes that does not have a corresponding node in the existing aggregation hierarchy or a corresponding child node for each child node of one or more child nodes of the respective node of the tree of nodes, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, creating a node in the target aggregation hierarchy based on applying the aggregation method to each child node of one or more child nodes of the respective node of the tree of nodes by retrieving values from the corresponding child nodes, applying the aggregation method to the retrieved values to provide an aggregation results, and storing the aggregation result in the created node in the target aggregation hierarchy;
returning the report attribute aggregation result, the report attribute aggregation result comprising a value associated with a root node of the target aggregation hierarchy as a data aggregation result, wherein the value is an aggregated value using the aggregation method for one or more child nodes of the target aggregation hierarchy; and
generating the report, the report comprising the report attribute aggregation result.
1 Assignment
0 Petitions
Accused Products
Abstract
A framework for performing aggregation methods on hierarchical data objects is described herein. A data aggregation request is received, the request including a tree of nodes to aggregate, an aggregation method, and a filter criteria. A configuration table is used to identify previously generated aggregation hierarchies that correspond to the received request, and a mapping of attributes of the received nodes to attributes of the previously generated aggregation hierarchies. For each node in the tree of nodes, when a corresponding node in the previously generated aggregation hierarchy is identified, attribute values from the corresponding node are used to create a node in a target aggregation hierarchy. When a corresponding node does not exist, but corresponding child nodes do exist in the previously generated aggregation hierarchy, the aggregation method is applied to the corresponding child nodes and the result is used to create a node in the target aggregation hierarchy.
-
Citations
20 Claims
-
1. A computer-implemented method, using a computing device comprising one or more processors and one or more memories coupled to the one or more processors, the one or more memories storing computer-executable instructions to cause the one or more processors to perform operations for executing a query to generate and return a report attribute aggregation result, the operations comprising:
-
receiving a request to generate a report, the report associated with at least one hierarchical report attribute; evaluating a plurality of target report attributes, the evaluating comprising evaluating a flag indicating whether a respective attribute is associated with a hierarchy; for report attributes determined to be associated with a hierarchy; retrieving attributes associated with one or more existing reports; comparing semantic identifiers of target report attributes with semantic identifiers of attributes of the one or more existing reports; for target report attributes having a semantic identifier matching a semantic identifier of an existing report attribute, generating a data aggregation request, the data aggregation request comprising a tree of nodes, each node having a semantic identifier, and an aggregation method; and executing the data aggregation request to generate a target aggregation hierarchy, the executing the data aggregation request comprising; for each node in the tree of nodes having a corresponding node in the existing aggregation hierarchy, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, creating a node in the target aggregation hierarchy by retrieving a value of the respective corresponding node and storing the value in the respective created node; for each node in the tree of nodes that does not have a corresponding node in the existing aggregation hierarchy, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, but does have, for each child node of one or more child nodes of the respective node of the tree of nodes, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, a corresponding child node in the existing aggregation hierarchy, creating a node in the target aggregation hierarchy based on applying the aggregation method to the corresponding child nodes by retrieving values from the corresponding child nodes, applying the aggregation method to the retrieved values to provide an aggregation result, and storing the aggregation result in the created node in the target aggregation hierarchy; for each node in the tree of nodes that does not have a corresponding node in the existing aggregation hierarchy or a corresponding child node for each child node of one or more child nodes of the respective node of the tree of nodes, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, creating a node in the target aggregation hierarchy based on applying the aggregation method to each child node of one or more child nodes of the respective node of the tree of nodes by retrieving values from the corresponding child nodes, applying the aggregation method to the retrieved values to provide an aggregation results, and storing the aggregation result in the created node in the target aggregation hierarchy; returning the report attribute aggregation result, the report attribute aggregation result comprising a value associated with a root node of the target aggregation hierarchy as a data aggregation result, wherein the value is an aggregated value using the aggregation method for one or more child nodes of the target aggregation hierarchy; and generating the report, the report comprising the report attribute aggregation result. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing apparatus facilitating generating a predictive analytics user interface, the computing apparatus comprising:
-
a processor; and a memory storing instructions that, when executed by the processor, configures the apparatus to perform operations for executing a query to generate and return an aggregation result to be displayed on the predictive analytics user interface, the operations comprising; evaluating a plurality of target report attributes, the evaluating comprising evaluating a flag indicating whether a respective attribute is associated with a hierarchy; for report attributes determined to be associated with a hierarchy; retrieving attributes associated with one or more existing reports; comparing semantic identifiers of target report attributes with semantic identifiers of attributes of the one or more existing reports; for target report attributes having a semantic identifier matching a semantic identifier of an existing report attribute, generating a data aggregation request, the data aggregation request comprising a tree of nodes, each node having a semantic identifier, and an aggregation method; and executing the data aggregation request to generate a target aggregation hierarchy, the executing the data aggregation request comprising; for each node in the tree of nodes having a corresponding node in the existing aggregation hierarchy, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, creating a node in the target aggregation hierarchy by retrieving a value of the respective corresponding node and storing the value in the respective created node; for each node in the tree of nodes that does not have a corresponding node in the existing aggregation hierarchy, determined by comparing the node identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, but does have, for each child node of one or more child nodes of the respective node of the tree of nodes, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, determined by comparing the semantic identifier for a respective node of the tree of nodes to one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, a corresponding child node in the existing aggregation hierarchy, create a node in the target aggregation hierarchy based on applying the aggregation method to the corresponding child node by retrieving values from the corresponding one or more child nodes, applying the aggregation method to the retrieved values to provide an aggregation result, and storing the aggregation result in the created node in the target aggregation hierarchy; for each node in the tree of nodes that does not have a corresponding node in the existing aggregation hierarchy or a corresponding child node for each child node of one or more child nodes of the respective node of the tree of nodes, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, creating a node in the target aggregation hierarchy based on applying the aggregation method to each child node of one or more child nodes of the respective node of the tree of nodes by retrieving values from the corresponding child nodes, applying the aggregation method to the retrieved values to provides an aggregation results, and storing the aggregation result in the created node in the target aggregation hierarchy; and returning the aggregation result, the aggregation result comprising a value associated with a root node of the target aggregation hierarchy, as a data aggregation result, wherein the value is an aggregated value using the aggregation method for one or more child nodes of the target aggregation hierarchy. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium facilitating generating a predictive analytics user interface, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:
-
receive a report attribute of a plurality of report attributes of a target report; from metadata associated with the report attribute, determine that the report attribute is a hierarchical report attribute; retrieve attributes associated with one or more existing reports; comparing a semantic identifier of the target report attribute with semantic identifiers of the one or more existing reports; for target report attributes having a semantic identifier matching a semantic identifier of an attribute of an existing report, generating a data aggregation request, the data aggregation request comprising a tree of nodes, each node having a semantic identifier, and an aggregation method; executing the data aggregation request to generate a target aggregation hierarchy, the executing the data aggregation request comprising; for each node in the tree of nodes having a corresponding node in the existing aggregation hierarchy, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, create a node in the target aggregation hierarchy by retrieving a value of the corresponding node and storing the value in the respective created node; for each node in the tree of nodes that does not have a corresponding node in the existing aggregation hierarchy, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing hierarchy, but does have, for each child node of one or more child nodes of the respective node of the tree of nodes, determined by comparing the semantic identifier for a respective node of the tree of nodes with one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, a corresponding child node in the existing aggregation hierarchy, create a node in the target aggregation hierarchy based on applying the aggregation method to the corresponding child nodes by retrieving values from the corresponding one or more child nodes, applying the aggregation method to the retrieved values to provide an aggregation result, and storing the aggregation result in the created node in the target aggregation hierarchy; for each node in the tree of nodes that does not have a corresponding node in the existing aggregation hierarchy or a corresponding child node for each child node of one or more child nodes of the respective node of the tree of nodes, determined by comparing the semantic identifier of a respective node of the tree of nodes to one or more semantic identifiers of respective one or more nodes of the existing aggregation hierarchy, create a node in the target aggregation hierarchy based on applying the aggregation method to each child node of one or more child nodes of the respective node of the tree of nodes by retrieving values from the corresponding child nodes, applying the aggregation method to the retrieved values to provide an aggregation result, and storing the aggregation result in the created node in the target aggregation hierarchy; and return the aggregation result, the aggregation result comprising a value associated with a root node of the target aggregation hierarchy, as a data aggregation result, wherein the value is an aggregated value using the aggregation method for one or more child nodes of the target aggregation hierarchy. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification