Interactive Data Selection

There are four ways to query the user to select data interacively.

  1. Simple Variables: These are values that the user types in or selects which are independent of the database contents. E.g. A date or a number. Simple variables are defined with the Query-Variable-Manager that can be accessed from the Tools/QueryVariables menu.
  2. Variables where the selectable values come from the database, but are independent from the report where they are used. (root variables)These variables are serched relative to a database root. Database variables are defined with the Query-Variable-Manager that can be accessed from the Tools/QueryVariables menu. The results of this selection can be used in an OQL expression. (as the right argument to the in operator. For an example please see below.
  3. Interactively filtered tables. These are defined using the table wizard. Please note, that only the top level of a set of nested tables can be filtered interactively.
  4. Interactively filtered collections defined in views. You can also add an interactive selection in the view editor, which is called an interview. In the view you can also specify, that the interactive selection return only one element. This allows it to be treated as a singleton, which gives it more options for layout. Here too only the outermost collection of a set of nested collections can be filtered interactively.

    An exception is the combination of singleton picks (interviews that return a single object). These can be nested to any depth and can be followed by an interview.

Combining several query parameters.

You can have any number of variables and any number of independent filtered collections associated with a report. They will be combined into one query dialog. The menu: Edit/Interview Sequence allows you to set the ordering of the interview steps.

Note: The order of the steps is not completely free. One step may be using the results of a previous step. In this case ReportWeaver assures the proper sequence. (I.e you cannot reorder the steps, so that they become illegal.)

Plese see the chapters below for details.

OQL reference
Defining Variables
How the user is queried interactively
Defining interactive filters in views.

Using Root Variables

Root variables are so called, because they are defined relative to a database entry point (root) which may be independent from the root that is used in the report template.

Example: Assume there is a collection of orders and a collection of customers. If you want to show all orders for a group of customers and you want to allow the user to select the customers interactively, then you would create a root variable, for the customer root. The settings are shown as below.

{short description of image}
  1. The customers are selected as data entry point.
  2. The elements collection is selected since it contains the actual customers.
  3. The name field of the customer will be displayed in the selection list.
  4. An additional optional OQL Filter can be set.
  5. The initial selection will be empty.
  6. A list of Field Values (i.e a list of the selected names) shall be returned.

The query is applied to a collection of orders. (which have a customer field)

  1. The in operator checks if the name of the customer is in the list of selected customers.
  2. The list is referenced using the $ notation.