US 11,698,912 B2
Universal report engine
Jayanth Saimani, Bangalore (IN); and Ajay Karthik Nama Nagaraj, Bangalore (IN)
Assigned to Intuit Inc., Mountain View, CA (US)
Filed by Intuit Inc., Mountain View, CA (US)
Filed on Dec. 31, 2020, as Appl. No. 17/139,659.
Prior Publication US 2022/0207027 A1, Jun. 30, 2022
Int. Cl. G06F 16/00 (2019.01); G06F 16/248 (2019.01); G06F 16/22 (2019.01); G06F 16/245 (2019.01)
CPC G06F 16/248 (2019.01) [G06F 16/2246 (2019.01); G06F 16/245 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving a first command comprising both a data extraction expression and a first report configuration expression:
(i) wherein the data extraction expression comprises program code for extracting a plurality of fields of a dataset of a data source, and wherein the data extraction expression specifies the data source, the data set, and a field of the plurality of fields, and
(ii) wherein the first report configuration expression comprises program code configured to populate cells of a first plurality of dimensions of a first report, wherein the first report configuration expression specifies a configuration of the first report, wherein the first report configuration expression further specifies program code for generating a first tree comprising a plurality of subset nodes comprising a plurality of records of the data set, and wherein the first report configuration expression further comprises program code for generating a subset node of the plurality of subset nodes;
executing the first command by:
executing the data extraction expression on the dataset to generate the plurality of records of the dataset;
executing the first report configuration expression on the plurality of records to generate the first tree, wherein the first tree comprises a root node corresponding to the dataset and the plurality of subset nodes comprising the plurality of records;
populating, using the first report configuration expression and the first tree, a plurality of cells of the first plurality of dimensions to obtain a first plurality of populated dimensions; and
generating, in response to receiving the first command and by traversing the first tree, the first report comprising the first plurality of populated dimensions.