Dynamically filtering aggregate reports based on values resulting from one or more previously applied filters
First Claim
1. A computer-implemented method for dynamically filtering visible values in a spreadsheet, comprising:
- maintaining a plurality of filters to be applied in a designated order to the spreadsheet, the spreadsheet comprising a plurality of cells;
applying, by the computer, a first filter to a first set of cell values in the spreadsheet;
generating a second set of cell values by evaluating the first set of cell values, the second set of cell values hiding a first excluded cell value from the first set of cell values based on the first filter;
applying a second filter to the second set of cell values;
generating a third set of cell values by evaluating the second set of cell values, the third set of cell values hiding a second excluded cell value from the second set of cell values based on the second filter, the first and second excluded cell values being hidden by collapsing one or more details comprising the first and second excluded cell values in the first set of cell values and the second set of cell values;
generating an aggregate cell value by evaluating only the third set of cell values;
determining whether there is a next filter from the plurality of filters yet to be applied to an aggregate report comprising the aggregate cell value; and
in response to determining that there is a next filter yet to be applied, delaying applying the next filter to the aggregate report until a same level of detail is displayed for each of the plurality of cells in the spreadsheet.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and computer program products dynamically filter an aggregate report based on values resulting from one or more filters previously applied to the aggregate report. A method involves maintaining a collection of filters to be applied in a designated evaluation order to the aggregate report, applying a first filter to the aggregate report, and evaluating values in the aggregate report to produce aggregate values resulting from applying the first filter. The method also involves applying a next filter to the aggregate report and evaluating the aggregate values in the aggregate report resulting from applying the first filter therein producing aggregate values resulting from applying the next filter to the aggregate report. Additionally, the method involves displaying the aggregate report wherein evaluating values resulting from previously applying any filter to the aggregate report involves evaluating visual values displayed in the aggregate report after each previous filter has been applied.
-
Citations
15 Claims
-
1. A computer-implemented method for dynamically filtering visible values in a spreadsheet, comprising:
-
maintaining a plurality of filters to be applied in a designated order to the spreadsheet, the spreadsheet comprising a plurality of cells; applying, by the computer, a first filter to a first set of cell values in the spreadsheet; generating a second set of cell values by evaluating the first set of cell values, the second set of cell values hiding a first excluded cell value from the first set of cell values based on the first filter; applying a second filter to the second set of cell values; generating a third set of cell values by evaluating the second set of cell values, the third set of cell values hiding a second excluded cell value from the second set of cell values based on the second filter, the first and second excluded cell values being hidden by collapsing one or more details comprising the first and second excluded cell values in the first set of cell values and the second set of cell values; generating an aggregate cell value by evaluating only the third set of cell values; determining whether there is a next filter from the plurality of filters yet to be applied to an aggregate report comprising the aggregate cell value; and in response to determining that there is a next filter yet to be applied, delaying applying the next filter to the aggregate report until a same level of detail is displayed for each of the plurality of cells in the spreadsheet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. One or more computer-readable media, wherein the one or more computer readable media do not consist of a propagated data signal, the one or more computer readable media having stored thereon computer executable instructions that, when executed by a processor, cause a computer to perform a method of dynamically filtering visible values in a spreadsheet, the method comprising:
-
maintaining a plurality of filters to be applied in a designated order to the spreadsheet, the spreadsheet comprising a plurality of cells; applying a first filter to a first set of cell values in the spreadsheet; generating a second set of cell values by evaluating the first set of values, the second set of cell values hiding a first excluded cell value from the first set of cell values based on the first filter; applying a second filter to the second set of cell values; and generating a third set of cell values by evaluating the second set of cell values, the third set of cell values hiding a second excluded cell value from the second set of cell values based on the second filter, the first and second excluded cell values being hidden by collapsing one or more details comprising the first and second excluded cell values in the first set of cell values and the second set of cell values; generating an aggregate cell value by evaluating the third set of cell values without evaluating the first and second excluded values; determining whether there is a next filter from the plurality of filters yet to be applied to an aggregate report comprising the aggregate cell value; and in response to determining that there is a next filter yet to be applied, delaying applying the next filter to the aggregate report until a same level of detail is displayed for each of the plurality of cells in the spreadsheet. - View Dependent Claims (11, 12)
-
-
13. A system for dynamically filtering visible values in a spreadsheet, comprising:
-
a memory for storing executable program code; and a processor, functionally coupled to the memory, the processor being responsive to computer-executable instructions contained in the program code and operative to; maintain a plurality of filters to be applied in a designated order to the spreadsheet, the spreadsheet comprising a plurality of cells; apply a first filter to a first set of cell values in the spreadsheet; generate a second set of cell values by evaluating the first set of cell values, the second set of cell values hiding a first excluded cell value from the first set of cell values based on the first filter; apply an intermediate filter to the second set of cell values; generate a third set of cell values by evaluating the second set of cell values, the third set of cell values hiding a second excluded cell value from the second set of cell values based on the intermediate filter, the first and second excluded cell values being hidden by collapsing one or more details comprising the first and second excluded cell values in the first set of cell values and the second set of cell values; generate an aggregate cell value by evaluating the third set of cell values without evaluating the first and second excluded values; determine whether there is a next filter from the plurality of filters yet to be applied; and in response to the determination that there is a next filter yet to be applied, delay applying the next filter to the aggregate report until a same level of detail is displayed for each of the plurality of cells in the spreadsheet. - View Dependent Claims (14, 15)
-
Specification