# US 2017/0286502 A1 · System and Method for Interactive Reporting in Computerized Data Modeling and Analysis

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286502 A1
- Document ID: US20170286502A1
- Status: Published application
- Kind: A1
- Application number: 15/629,316
- Filed: 2017-06-21
- Published: 2017-10-05
- Earliest claimed: 2015-12-22
- Assignees: Opera Solutions U.S.A., LLC
- Applicants: Opera Solutions USA, LLC
- Inventors: Amir Bar-Or; Yuansong Liao; Laks Srinivasan; Ding Huang; Hong Wang
- Web page: https://patentgrep.com/patent/US20170286502A1

## CPC

- G06F 16/248: Presentation of query results
- G06F 8/34: Graphical or visual programming
- G06F 8/35: model driven
- G06F 8/36: Software reuse
- G06F 8/60: Software deployment
- G06F 16/2423: {Interactive query statement specification based on a database schema}
- G06F 16/2465: {Query processing support for facilitating data mining operations in structured databases}
- G06F 16/951: Indexing; Web crawling techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An interactive reporting tool allows the user to define, modify, and selectively execute a sequence of queries in an interactive manner. A sequence of queries is entered into rows of an interactive query code table. When the user selects a given row i or a cell in a given row i, then the data table is updated to show the results of the queries 1 through i, such that the user effectively can step through the queries in any order (i.e., sequential or non-sequential, forward or backward) to see the results of each step.

## Claims

### Claim 1

A computer-implemented method for interactive database query reporting, the method comprising:
causing display, by a server, on a display screen of a computer of a user, of a first graphical user interface screen including an interactive query code table having a plurality of rows, each row representing a database query, the interactive query code table including n rows identifiable as rows 1 through n and representing a sequence of n database queries identifiable as database queries 1 through n, wherein n is greater than one;
receiving, by the server, a first user input associated with a given row i of the interactive query code table; and
displaying, by the server, a first data table including results from execution of queries 1 through i, such that the server enables the user to select any given database query in the interactive query code table to view results through the given database query.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving, by the server, a second user input making a change to the database query associated with the given row i;
executing, by the server, at least the changed database query associated with the given row i; and
displaying, by the server, a second data table including the results from execution of the changed database query i.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
invalidating, by the server, prior results from the database queries associated with rows i through n prior to executing at least the changed database query associated with the given row and displaying the second data table.

### Claim 4 (depends on 2)

The method of claim 2, wherein executing at least the changed database query associated with the given row comprises:
executing, by the server, the queries associated with rows 1 through i including the changed database query associated with the given row i.

### Claim 5 (depends on 2)

The method of claim 2, further comprising:
placing a temporary lock on the n rows of the interactive query code table to prevent the user from making inadvertent changes; and
allowing the user to override the temporary lock to provide the second user input.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
allowing the user to enter additional queries into additional rows of the interactive query code table but not change existing queries when the temporary lock is in place.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
the interactive query code table includes a plurality of cells organized into rows and columns, each column representing a distinct query parameter (signal) from among a plurality of query parameters (signals), each row representing a database query involving at least one of the distinct query parameters (signals) by way of a query operator in the column/cell corresponding to each distinct query parameter (signal) involved in the database query; and
the first user input includes a selection of a given cell in the given row.

### Claim 8 (depends on 2)

The method of claim 2, wherein:
the interactive query code table includes a plurality of cells organized into rows and columns, each column representing a distinct query parameter (signal) from among a plurality of query parameters (signals), each row representing a database query involving at least one of the distinct query parameters (signals) by way of a query operator in the column/cell corresponding to each distinct query parameter (signal) involved in the database query;
the first user input includes a selection of a given cell in the given row; and
the second user input includes a change to the contents of the given cell to add a new query operator to the given cell or change a prior query operator in the given cell associated with query i.

### Claim 9

A system for interactive database query reporting, the system comprising:
a computer system having stored thereon and executing interactive database query reporting computer processes comprising:
causing display, on a display screen of a computer of a user, of a first graphical user interface screen including an interactive query code table having a plurality of rows, each row representing a database query, the interactive query code table including n rows identifiable as rows 1 through n and representing a sequence of n database queries identifiable as database queries 1 through n, wherein n is greater than one;
receiving a first user input associated with a given row i of the interactive query code table; and
displaying a first data table including results from execution of queries 1 through i, such that the server enables the user to select any given database query in the interactive query code table to view results through the given database query.

### Claim 10 (depends on 9)

The system of claim 9, wherein the interactive database query reporting computer processes further comprise:
receiving a second user input making a change to the database query associated with the given row i;
executing at least the changed database query associated with the given row i; and
displaying a second data table including the results from execution of the changed database query i.

### Claim 11 (depends on 10)

The system of claim 10, wherein the interactive database query reporting computer processes further comprise:
invalidating prior results from the database queries associated with rows i through n prior to executing at least the changed database query associated with the given row and displaying the second data table.

### Claim 12 (depends on 10)

The system of claim 10, wherein executing at least the changed database query associated with the given row comprises:
executing the queries associated with rows 1 through i including the changed database query associated with the given row i.

### Claim 13 (depends on 10)

The system of claim 10, wherein the interactive database query reporting computer processes further comprise:
placing a temporary lock on the n rows of the interactive query code table to prevent the user from making inadvertent changes; and
allowing the user to override the temporary lock to provide the second user input.

### Claim 14 (depends on 13)

The system of claim 13, wherein the interactive database query reporting computer processes further comprise:
allowing the user to enter additional queries into additional rows of the interactive query code table but not change existing queries when the temporary lock is in place.

### Claim 15 (depends on 9)

The system of claim 9, wherein:
the interactive query code table includes a plurality of cells organized into rows and columns, each column representing a distinct query parameter (signal) from among a plurality of query parameters (signals), each row representing a database query involving at least one of the distinct query parameters (signals) by way of a query operator in the column/cell corresponding to each distinct query parameter (signal) involved in the database query; and
the first user input includes a selection of a given cell in the given row.

### Claim 16 (depends on 10)

The system of claim 10, wherein:
the interactive query code table includes a plurality of cells organized into rows and columns, each column representing a distinct query parameter (signal) from among a plurality of query parameters (signals), each row representing a database query involving at least one of the distinct query parameters (signals) by way of a query operator in the column/cell corresponding to each distinct query parameter (signal) involved in the database query;
the first user input includes a selection of a given cell in the given row; and
the second user input includes a change to the contents of the given cell to add a new query operator to the given cell or change a prior query operator in the given cell associated with query i.

### Claim 17

A computer program product comprising a tangible, non-transitory computer readable medium having stored thereon a computer program for interactive database query reporting, which, when run on a computer system, causes the computer system to execute interactive database query reporting computer processes comprising:
causing display, on a display screen of a computer of a user, of a first graphical user interface screen including an interactive query code table having a plurality of rows, each row representing a database query, the interactive query code table including n rows identifiable as rows 1 through n and representing a sequence of n database queries identifiable as database queries 1 through n, wherein n is greater than one;
receiving a first user input associated with a given row i of the interactive query code table; and
displaying a first data table including results from execution of queries 1 through i, such that the server enables the user to select any given database query in the interactive query code table to view results through the given database query.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein the interactive database query reporting computer processes further comprise:
receiving a second user input making a change to the database query associated with the given row i;
executing at least the changed database query associated with the given row i; and
displaying a second data table including the results from execution of the changed database query i.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein the interactive database query reporting computer processes further comprise:
invalidating prior results from the database queries associated with rows i through n prior to executing at least the changed database query associated with the given row and displaying the second data table.

### Claim 20 (depends on 18)

The computer program product of claim 18, wherein executing at least the changed database query associated with the given row comprises:
executing the queries associated with rows 1 through i including the changed database query associated with the given row i.

### Claim 21 (depends on 18)

The computer program product of claim 18, wherein the interactive database query reporting computer processes further comprise:
placing a temporary lock on the n rows of the interactive query code table to prevent the user from making inadvertent changes; and
allowing the user to override the temporary lock to provide the second user input.

### Claim 22 (depends on 21)

The computer program product of claim 21, wherein the interactive database query reporting computer processes further comprise:
allowing the user to enter additional queries into additional rows of the interactive query code table but not change existing queries when the temporary lock is in place.

### Claim 23 (depends on 17)

The computer program product of claim 17, wherein:
the interactive query code table includes a plurality of cells organized into rows and columns, each column representing a distinct query parameter (signal) from among a plurality of query parameters (signals), each row representing a database query involving at least one of the distinct query parameters (signals) by way of a query operator in the column/cell corresponding to each distinct query parameter (signal) involved in the database query; and
the first user input includes a selection of a given cell in the given row.

### Claim 24 (depends on 18)

The computer program product of claim 18, wherein:
the interactive query code table includes a plurality of cells organized into rows and columns, each column representing a distinct query parameter (signal) from among a plurality of query parameters (signals), each row representing a database query involving at least one of the distinct query parameters (signals) by way of a query operator in the column/cell corresponding to each distinct query parameter (signal) involved in the database query;
the first user input includes a selection of a given cell in the given row; and
the second user input includes a change to the contents of the given cell to add a new query operator to the given cell or change a prior query operator in the given cell associated with query i.
