CA2817652C

Controlled creation of reports from table views

Abstract

A method comprising creating and storing, in memory of a computer, a graph having nodes and edges, wherein the nodes represent financial assets and any one or more of: accounts in which one or more of the assets are held; individuals who own one or more of the assets; or legal entities who own one or more of the assets; receiving and storing one or more bucketing factors and one or more column factors; the computer traversing the graph and creating a list of a plurality of paths of nodes and edges in the graph; the computer applying the bucketing factors to the paths to result in associating each set among a plurality of sets of the nodes with a different value node among a plurality of value nodes; the computer applying the column factors to the paths and the value nodes to result in associating column result values with the value nodes; creating and causing displaying a table view by forming rows based on the value nodes and forming columns based on the column result values.

CA2817652C, drawing sheet 1
Sheet 1 of 22

Term

6.7 yearsleft in the term

Expires 5 June 2033.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

38 claims: 5 independent, 33 dependent

  1. 1
    CLAIMS What is claimed is:1. Λ computing system configured to access one or more electronic data sources in response to inputs received via an interactive user interface in order to split a page of a report and automatically calculate data for insertion into the split page, the computing system comprising: one or more electronic data sources storing a complex mathematical graph having nodes and edges, wherein: each of the nodes stores information associated with at least one of: a financial asset, an account in which a financial asset is held, an individual who owns a financial asset, or a legal entity that owns a financial asset, and each of the edges stores a relationship between two of the nodes, wherein a plurality of attributes is associated with each of the nodes and each of the edges;a computer processor in communication with the one or more electronic data sources;and a non-transitory computer readable storage medium storing one or more computing units, each of ihe one or more computing units including program instructions configured for execution by the computer processor, the one or more computing units including: a rendering unit configured to cause the computer processor to: generate interactive user interface data for rendering an interactive user interface, the interactive user interface including: a report including a page, the page including at least one report element, the at least one report element including one or more metrics, the at least one report element further including at least one of a text box, a table, or a graph, die report associated with at least one of a plurality of contexts, each of the plurality of contexts being associated with at least one of an individual or legal entity, each of the plurality of contexts further being associated with a date range;and a context selection element including a listing of each of the at least one of the plurality of contexts from which the one or more Date Reçue/Date Received 2022-07-11 metrics included in the at least one report element may be automatically updated, each of the at least one of the plurality of contexts associated with a node of the complex mathematical graph;configure the interactive user interface data such that the interactive user interface is configured to receive a selection of one of the at least one of the plurality of contexts associated with the report;and configure the interactive user interface data such that the interactive user interface is configured to receive an indication of a splitting factor, a view computation unit in communication with die rendering unit and configured to cause the computer processor to: receive the selection of the one of the at least one of the plurality of contexts from the rendering unit;receive the indication of the splitting factor from the rendering unit;determine each of a plurality of possible values associated with the indicated splitting factor;determine a node of die complex mathematical graph associated with the selected context;and for each of the plurality of possible values associated with the indicated splitting factor: calculate, based on the selected context and the determined value of the indicated splitting factor, one or more updated metrics for insertion into die at least one report element by automatic traversal of the complex mathematical graph from the determined node;automatically update the at least one report element with the one or more updated metrics;insert a new’ page into the report;and insert the updated at least one report element including the one or more updated metrics into the inserted new page of tire report Date Reçue/Date Received 2022-07-11
  2. 2
    The computing system of Claim 1, wherein the splitting factor comprises at least one of asset class, country, or sector.
  3. 3
    The computing system of Claim 1, wherein the view computation unit is further configured to cause the computer processor to:determine metadata associated with the page;and for each of the plurality of possible values associated with the indicated splitting factor: determine updated metadata, based on the determined value;and associated the updated metadata with the inserted new page.
  4. 4
    The computing system of Claim 3, wherein the metadata associated with each of the inserted new pages is coupled by reference to the page of the report.
  5. 5
    The computing system of Claim 1, wherein each of the inserted new pages inherits any changes made to the page of the report.
  6. 6
    The computing system of Claim 1, wherein each of the inserted new pages may not be edited.
  7. 7
    The computing system of Claim 6, wherein edits to the page of the report are propagated to the inserted new pages.
  8. 8
    The computing system of Claim 7, wherein propagation of edits to the page of the report comprises:for each of the plurality of possible values associated with the indicated splitting factor: re-calculating, based on the selected context and the determined value of the indicated splitting factor, the one or more updated metrics for insertion into the at least one report element;and Date Reçue/Date Received 2022-07-11 inserting the re-calculated one or more updated metrics into the at least one report element of the inserted new page of the report
  9. 9
    The computing system of Claim 1, wherein automatic traversal of the complex mathematical graph from the determined node comprises:enumerating all paths within the complex mathematical graph that originate at the determined node, wherein each path comprises at least the determined node and an edge;if it is determined, during enumeration of the paths and for each path that is enumerated, that the path includes two identical and adjacent sequences of nodes and edges, moving to a next adjacent path;creating a list of a plurality of paths of nodes and edges in the complex mathematical graph that are enumerated and associated with the determined node;for each of the plurality of paths, determine any portions of the at least one report element associated with the path based on nodes commonly associated with the path and a row of the at least one report element;generate, by applying one or more bucketing factors to the plurality of paths, a tree hierarchy comprising value nodes corresponding to the portions of the at least one report element and associated with the respective paths determined to be associated with the portions;and for each value node of the tree hierarchy and each of one or more column factors: apply the column factor to each of the paths associated with the value node to calculate, for each of the paths, based cm attributes associated with nodes and/or edges in the respective paths, one or more path values;and aggregate die path values associated with each of the value nodes to calculate the one or more metrics corresponding to each combination of value node and column factor.
  10. 10
    A computer-implemented method for accessing one or more electronic data sources in response to inputs received via an interactive user interface in order to split a page of a report and automatically calculate data for insertion into the split page, die computer-implemented method comprising:Date Reçue/Date Received 2022-07-11 by one or more processors executing program instructions: communicating with one or more electronic data sources storing a complex mathematical graph having nodes and edges, wherein: each of the nodes stores information associated with at least one of: a financial asset, an account in which a financial asset is held, an individual who owns a financial asset, or a legal entity that owns a financial asset, and each of the edges stores a relationship between two of the nodes, wherein a plurality of attributes is associated with each of the nodes and each of the edges;executing a rendering unit configured to: generate interactive user interface data for rendering an interactive user interface, the interactive user interface including: a report including a page, the page including at least one report element the at least one report element including one or more metrics, the at least one report element further including at least one of a text box, a table, or a graph, the report associated with at least one of a plurality of contexts, each of the plurality of contexts being associated with at least one of an individual or legal entity, each of the plurality of contexts further being associated with a date range;and a context selection element including a listing of each of the at least one of the plurality of contexts from which the one or more metrics included in the at least one report element may be automatically updated, each of the at least one of the plurality of contexts associated with a node of the complex mathematical graph;configure the interactive user interface data such that the interactive user interface is configured to receive a selection of one of the at least one of the plurality of contexts associated with the report;and configure the interactive user interface data such that the interactive user interface is configured to receive an indication of a splitting factor;executing a view computation unit configured to: Date Reçue/Date Received 2022-07-11 receive the selection of the one of the at least one of the plurality of contexts from the rendering unit;receive the indication of the splitting factor from the rendering unit;determine each of a plurality of possible values associated with the indicated splitting factor;determine a node of the complex mathematical graph associated with the selected context;and for each of the plurality of possible values associated with the indicated splitting factor: calculate, based on the selected context and the determined value of the indicated splitting factor, one or more updated metrics for insertion into the at least one report element by automatic traversal of the complex mathematical graph from the determined node;automatically update the at least one report element with the one or more updated metrics;insert a new page into the report;and insert the updated at least one report element including die one or more updated metrics into the inserted new page of the report.
  11. 11
    The computer-implemented method of Claim 10, wherein the splitting factor comprises at least one of asset class, country, or sector.
  12. 12
    The computer-implemented method of Claim 10, wherein the view computation unit is further configured to:determine metadata associated with the page;and for each of the plurality of possible values associated with the indicated splitting factor: determine updated metadata, based on the determined value;and associated file updated metadata with the inserted new page. Date Reçue/Date Received 2022-07-11
  13. 13
    The computer-implemented method of Claim 12, wherein the metadata associated with each of the inserted new pages is coupled by reference to the page of the report.
  14. 14
    The computer-implemented method of Claim 10, wherein each of the inserted new pages inherits any changes made to the page of the report
  15. 15
    The computer-implemented method of Claim 10, wherein each of the inserted new pages may not be edited.
  16. 16
    The computer-implemented method of Claim 15, wherein edits to the page of the report are propagated to the inserted new pages.
  17. 17
    The computer-implemented method of Claim 16, wherein propagation of edits to the page of the report comprises:for each of the plurality of possible values associated with the indicated splitting factor: re-calculating, based on the selected context and the determined value of the indicated splitting factor, the one or more updated metrics for insertion into the at least one report element;and inserting the re-calculated one or more updated metrics into the at least one report element of the inserted new page of the report
  18. 18
    The computer-implemented method of Claim 10, wherein automatic traversal of the complex mathematical graph from the determined node comprises:enumerating all paths within the complex mathematical graph that originate at the determined node, wherein each path comprises at least the determined node and an edge;if it is determined, during enumeration of the paths and for each path that is enumerated, that the path includes two identical and adjacent sequences of nodes and edges, moving to a next adjacent path;creating a list of a plurality of paths of nodes and edges in the complex mathematical graph that are enumerated and associated with the determined node;Date Reçue/Date Received 2022-07-11 for each of the plurality of paths, determining any portions of the at least one report element associated with the path based on nodes commonly associated with the path and a row of die at least one report element;generating, by applying one or more bucketing factors to the plurality of paths, a tree hierarchy comprising value nodes corresponding to the portions of the at least one report element and associated with the respective paths determined to be associated with the portions;and for each value node of the tree hierarchy and each of one or more column factors: applying the column factor to each of die paths associated with the value node to calculate, for each of the paths, based on attributes associated with nodes and/or edges in the respective paths, (me or more path values;and aggregating the path values associated with each of the value nodes to calculate the one or more metrics corresponding to each combination of value node and column factor.
  19. 19
    A computing system configured to access one or more electronic data sources in response to inputs received via an interactive user interface in order to split a page of a report and automatically calculate data for insertion into the split page, the computing system comprising:one or more electronic data sources storing a mathematical graph comprising nodes and edges, wherein: the nodes are configured to store at least information associated with financial assets, accounts, individuals, groups, or other entities, and the edges are configured to store relationships between nodes, wherein attributes are associated with the nodes and the edges;and one or more computer processors in communication with the one or more electronic data sources and configured with program instructions to cause the computing system to at least: generate interactive user interface data for rendering an interactive user interface, the interactive user interface including: a report including at least a first page and at least a report element on the first page, wherein the report element is configured to include one or more metrics;Date Reçue/Date Received 2022-07-11 a context selection element including a listing of a plurality of contexts based upon which the one or more metrics are calculable, wherein the contexts are associated with nodes of the mathematical graph;and a splitting factor selection element;receive, via the interactive user interface, selections of at least a first context of the plurality of contexte and a first splitting factor;determine a plurality of possible values associated with the first splitting factor;determine a node of the mathematical graph associated with the first context;calculate, by automatic traversal of the mathematical graph from the first node, and based on the first context and a first possible value of the plurality of possible values associated with the first splitting factor, a first one or more metrics for insertion into the report element;automatically update the report element on the first page to include the first one or more metrics;calculate, by automatic traversal of the mathematical graph from the first node, and based on the first context and a second possible value of the plurality of possible values associated with the first splitting factor, a second one or more metrics for insertion into the report element;automatically update the report to include a second page and at least a copy of the report element on the secraid page;and automatically update the report element on the second page to include the second one or more metrics.
  20. 20
    The computing system of Claim 19, wherein the splitting factor comprises at least one of:asset class, country, or sector.
  21. 21
    The computing system of Claim 19, wherein the one or more computer processors are further configured with the program instructions to cause the computing system to at least perform the following in response to receiving the selection of the first splitting factor:determine the plurality of possible values, determine the node, calculate the first one or more metrics, automatically update the report element on the first page, calculate the second one or more metrics, Date Reçue/Date Received 2022-07-11 automatically update the report to include die second page, and automatically update the report element on the second page.
  22. 22
    The computing system of Claim 19, wherein the context selection element further includes a date range selection element, and wherein the one or more computer processors are further configured with the program instructions to cause the computing system to at least:further receive, via the interactive user interface, selection of a first date range;calculate the first one or more metrics further based on the first date range;and calculate the second one or more metrics further based on a second date range.
  23. 23
    The computing system of Claim 19, wherein the one or more computer processors are further configured with the program instructions to cause the computing system to at least:determine first metadata associated with the first page;and determine, based on the first metadata and the second possible value of the plurality of possible values associated with the first splitting factor updated metadata, second metadata;and associate the second metadata with the report
  24. 24
    The computing system of Claim 23, wherein the second metadata is further associated with the second page.
  25. 25
    The computing system of Claim 19, wherein die one or more computer processors are further configured with the program instructions to cause the computing system to at least:in response to a change to the report element on the first page, cause the report element on the second page to inherit the change.
  26. 26
    The computing system of Claim 19, wherein the second page is not editable via the interactive user interface.
  27. 27
    The computing system of Claim 26, wherein edits to the first page of the report are propagated to the second page. Date Reçue/Date Received 2022-07-11
  28. 28
    The computing system of Claim 27, wherein propagation of edits to the first page of the report comprises:re-calculating, by automatic traversal of the mathematical graph from the first node, and based on the first context and a second possible value of the plurality of possible values associated with the first splitting factor, the second one or more metrics for insertion into the report element;and automatically re-updating the report element on the second page to include the second one or more metrics that are re-calculated.
  29. 29
    The computing system of Claim 19, wherein automatic traversal of the mathematical graph from the first node comprises:enumerating all paths within the mathematical graph that originate at the first node, wherein each path comprises at least the first node and an edge;if it is determined, during enumeration of the paths and for each path that is enumerated, that the path includes two identical and adjacent sequences of nodes and edges, moving to a next adjacent path;creating a list of a plurality of paths of nodes and edges in the mathematical graph that are enumerated and associated with the first node;for each of the plurality of paths, determining any portions of the report element associated with the path based on nodes commonly associated with the path and a row of the report element;generating, by applying one or more bucketing factors to the plurality of paths, a tree hierarchy comprising value nodes corresponding to the portions of the report element and associated with the respective paths determined to be associated with the portions;and for each value node of the tree hierarchy and each of one or more column factors: applying the column factor to each of die paths associated with the value node to calculate, for each of the paths, based on attributes associated with nodes and/or edges in the respective paths, one or more path values;and Date Reçue/Date Received 2022-07-11 aggregating the path values associated with each of the value nodes to calculate the one or more metrics corresponding to each combination of value node and column factor.
  30. 30
    A computer-implemented method for accessing one or more electronic data sources in response to inputs received via an interactive user interface in order to split a page of a report and automatically calculate data for insertion into the split page, the computer-implemented method comprising:by one or more processors executing program instructions: communicating with one or more electronic data sources storing a mathematical graph comprising nodes and edges, wherein: the nodes are configured to store at least information associated with financial assets, accounts, individuals, groups, or other entities, and the edges are configured to store relationships between nodes, wherein attributes are associated with the nodes and the edges;generating interactive user interface data for rendering an interactive user interface, the interactive user interface including: a report including at least a first page and at least a report element on the first page, wherein the report element is configured to include one or more metrics;a context selection element including a listing of a plurality of contexts based upon which the one or more metrics are calculable, wherein the contexts are associated with nodes of the mathematical graph;and a splitting factor selection elemenL receiving, via the interactive user interface, selections of at least a first context of the plurality of contexts and a first splitting factor;determining a plurality of possible values associated with the first splitting factor;determining a node of the mathematical graph associated with the first context;calculating, by automatic traversal of the mathematical graph from the first node, and based on the first context and a first possible value of the plurality of possible values associated with the first splitting factor, a first one or more metrics for insertion into the report element;automatically updating the report element on the first page to include the first one or more metrics;Date Reçue/Date Received 2022-07-11 calculating, by automatic traversal of the mathematical graph from the first node, and based on the first context and a second possible value of the plurality of possible values associated with the first splitting factor, a second one or more metrics for insertion into the report élément;automatically updating the report to include a second page and at least a copy of the report element on the second page;and automatically updating the report element on the second page to include the second one or more metrics.
  31. 38
    A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to:communicate with one or more electronic data sources storing a mathematical graph comprising nodes and edges, wherein: the nodes are configured to store at least information associated with financial assets, accounts, individuals, groups, or other entities, and the edges are configured to store relationships between nodes, wherein attributes are associated with the nodes and the edges;generate interactive user interface data for rendering an interactive user interface, the interactive user interface including: a report including at least a first page and at least a report element on the first page, wherein the report element is configured to include one or more metrics;a context selection element including a listing of a plurality of contexts based upon which the one or more metrics are calculable, wherein the contexts are associated with nodes of the mathematical graph;and a splitting factor selection element;Date Reçue/Date Received 2022-07-11 receive, via the interactive user interface, selections of at least a first context of the plurality of contexts and a first splitting factor;determine a plurality of possible values associated with the first splitting factor;determine a node of the mathematical graph associated with the first context;calculate, by automatic traversal of the mathematical graph from the first node, and based on the first context and a first possible value of the plurality of possible values associated with the first splitting factor, a first one or more metrics for insertion into the report element;automatically update the report element on the first page to include the first one or more metrics;calculate, by automatic traversal of the mathematical graph from the first node, and based on the first context and a second possible value of tire plurality of possible values associated with the first splitting factor, a second one or more metrics for insertion into the report element;automatically update the report to include a second page and at least a copy of the report element on the second page;and automatically update the report element on the second page to include the second one or more metrics. Date Reçue/Date Received 2022-07-11
Independent claims31