A dataset can be used for reporting.
A dataset is defined using either an OQL query or a custom Java action. To constrain datasets parameters can be defined which can be used in the OQL queries or Java Actions.
Example of a dataset using OQL:
- Name: The name of the dataset, this is the designation the dataset will carry in the rest of the modeler.
- Description: The description of the dataset, this is only relevant as documentation.
- OQL query: The OQL query which defines the dataset.
- Java action: The interface of the Java action which returns a dataset. The columns and data types of the columns needs to be specified in the modeler. Based on this specification the modeler will create a template for this action.
Parameters A dataset can have multiple parameters. Parameters are used to filter / manipulate datasets. Security on datasets is configured based on the parameters. In a Java action the parameters are used in the generated template.
In OQL parameters can be called using a $ symbol, for example: $Month.
- Name: The name of the parameter
- Type: The type of the parameter: object, enumeration or a primitive (e.g. datetime, float, integer, boolean, etc).
- Constraints: The constraints on a parameter. These constraints influence which values can be selected for parameter input values by the end user. Constraints can be associated with user roles in the dataset security. There are two type of constraints: ranges which apply to numeric and date parameters and XPath constraints which apply to object parameters.
When a parameter is defined as a range the dropdown box in the report shows each range instead of all values within the ranges. Currency and float parameters are always ranges. The following table shows an example for the parameter ‘amount’, how a range and could be applied:
|Range||Allowed to be viewed by|
|0.00 - 1,000.00||Employees, Management, Board members|
|1,000.00 - 10,000.00||Management, Board members|
|10,000.00 - Infinity||Board members|
An XPath constraint can be defined using XPath. Multiple constraints can be defined on a parameter and each constraint can be associated with a user role.