×

Virtual Aggregation

  • US 10,223,421 B2
  • Filed: 12/30/2015
  • Issued: 03/05/2019
  • Est. Priority Date: 12/30/2015
  • Status: Active Grant
First Claim
Patent Images

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 all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×