Report Values Framework


DISCLAIMER: This framework is described in much better detail in the Financial Model Framework paper though some details are left here though they might have changed.

The general model of the dupont model framework is as follows. The DuPont model is driven by a set of EditorValues which are held in a collection by another object of CatState. Each EditorValues corresponds to a set of values based on a distinct set of queries, usually from a single table or a group of database tables. DuPontModel is the DuPont look of the collection of the EditorValues objects based on the definition of the DuPont model. The DuPont model only carries the total values of each EditorValues.

But there are other ways to look at the data stored in each EditorValues. The DuPontModel allows the user to click on the buttons that open up a window that displays more detailed information in a table/report form. The values are obtained from other queries of the specific EditorValues object. (It is possible, however, to get data from other EditorValues objects by accessing the CatState object.)

On the third level are even more specific data. The way to get to these specific data from the second level window is either by putting the action in the menus or in the table's double-clicking ability.

One is Detailed Information, which actually shows each row of the query. A variant of this is the Formula Information, which allows the user to define a formula to obtain only the relevant rows of the database.
Another is the Summary Report. This shows a more detailed information of the summaries. The summary report queries must be created.
The third one is Graph Information. The table information of the EditorValues window are always graph-viewable. But other graphs can be created based on the ElementSpecs. ElementSpecs are objects that are dependent on the queries of the EditorValues object to return a sum based on certain constraints.

It is also possible to group the EditorValue windows into one window in a reporting fashion. This ability displays the second-level detailed information of a set of EditorValue details in one window.

In order to make the framework as general as possible, the specifications of the EditorValues have been moved to the database. The names of the classes that correspond to the database tables are as follows.

  1. Handling the types of EditorValues: ???.
  2. Queries: ReportQuerySpecs.
  3. ElementSpecs: ReportElementSpecs.
  4. Window information: ReportWindowSpecs.
  5. Detailed information: ReportDetailedTableSpecs.
  6. Summary information: ReportSummarySpecs.
  7. Graph information: ReportGraphSpecs.
  8. Report grouping window information: ReportCompositeWindowSpecs.
Since EditorValues is the class that unites all the information together, it has several instance variables that hold the relevant information of each, queries, element specs, graphs, detailed, summary, and graphs. DuPontModel, which deals on a higher level by combining the EditorValues objects, holds the composite report information, as well as some graphs.

To get more specific information about each section, click on the relevant title below.

The report values hold the values that are obtained from database queries, directly or indirectly. They hold the queries and determine how the displayed value should look. The displayed values are determined by manipulating the result of the queries.

High level class descriptions:
There are basically two different types of "Report Values": FormulaReportValues and Query Report Values. The top level dupont model consists of both of these.

  1. The FormulaReportValues are calculated values based upon other ReportValues while all of the Query Report Values are dependent on a selection criteria from Cat State. The selection criteria is primarily date and model number. Only the high level values of the report values are calculated in it (i.e. the actual and budget summations that are displayed in the DuPont Model).
  2. Query ReportValues get their values from some relational database. All of them share the common characteristic of being able to open up an editor that displays the detailed information. For this reason, they are actually called EditorValues. But there are two types, those that are dependent only on database queries (ReportValues, except the subclasses FormulaReportValues and NullValues) and those that are dependent on these report values CompositeEditorValues. There is also another class, TotalCompositeValues, which is a special case in that it works with CompositeReportModel.

The inner mechanisms of EditorValues:

Relevant classes and categories for ReportValues and ReportModel:

If you have any questions or changes, please contact:

Joseph W. Yoder at:(217) 244-4695 or by email:

Return to Financial Model Documentation Page