Dataset editor
The dataset editor is the starting point of the Analysis module. This editor allows you to enter data for the Charts When configuring, different data sources can be selected and variables added.
The data is modified using separate sequential blocks (modifiers) that can be connected in series. This allows the data set to be narrowed down to the desired end result in the best possible way. At the same time, the overview of the individual scripts is maintained even in complex processes.
The most important steps when creating and editing a data set are:
Create/edit/delete data records
In this area, new data records can be added or existing data records can be edited or deleted.
The data records are automatically grouped according to the data source.
| Button/icon | Description | Function |
|---|---|---|
|
Add |
Creates a new dataset |
Duplicate |
Copies the selected dataset including all configurations and adds the copy to the end of the list or to the end of the group . to the end of the group |
|
Delete |
Removes the selected data set |
|
Open group |
Displays all entries assigned to this data source type |
|
Close group |
Minimizes all entries assigned to this data source type |
Sorting data record entries
It is possible to sort both grouped and ungrouped data record entries in ascending or descending order.
Grouped entries are sorted within the individual group.
Consequently, all entries are sorted for non-grouped entries.
The Parameters used for sorting are the columns (see Show and hide columns.
Configuration of data records
The view is divided into the following areas:
-
Area 1: Configurations
-
Area 2: Preview
Configurations
In the configurations, there are three different sub-areas in which settings can be made:
The button shows whether all data and Parameters entered are permitted and valid.
If incorrect entries are made, the button turns orange.
The missing or incorrect entries are also displayed when the mouse pointer is moved over them.
General settings
This group contains basic configurations of a data record.
- Name
-
The name of the data record.
Possible entries are all characters from a-z, numbers from 0-9 and special characters. - Data source
-
Source from which the data is retrieved.
The selection is made from the drop-down list.
Depending on the data source, specific configurations must be set (see also Specific settings).
The following sources are currently supported:
-
OpenSearch: Data from the OpenSearch instance that serves as the BPC’s database
-
JSON: Static data set used for demonstration purposes
-
HTTP: JSON data from an external source that can be retrieved via a URL
-
INUBIT: Reports generated in INUBIT about your own performance (report data)
The data source preselected when adding a new data set is the OpenSearch that is delivered with the BPC.
Variables
Variables represent dynamic parameters when querying the data source.
For example, you can limit the time periods to which the data relates.
The variables can be used when visualizing the Charts visualization and optionally in Reports for the user.
The user can then adjust the variable(s) as required.
|
Currently, variables are only supported for OpenSearch as a data source. |
A variable must be given at least one name. Furthermore, the variable should also be assigned a type. 5 variable types are currently available: Text, Boolean, number, list and date. The variable types and configuration options are shown in the following table.
| Type | Possible configuration | Description | Example |
|---|---|---|---|
text |
Default value |
If no value is set in the special context, this value is used. |
"Test variable" |
boolean |
Default value |
If no value is set in the special context, this value is used. |
Checkbox with checkmark (true) or |
number |
Default value |
If no value is set in the special context, this value is used. |
"10" |
Value range |
Only values in this range are valid. |
Min: "1", |
|
list |
Value list |
Values that are offered for selection in the chart/report. |
"1,2,3,4,5" |
Default value |
A value from the value list. |
"3" |
|
date |
Date format |
Date values are converted to this format before they are sent to the data source. |
"Y-m-d" |
Default value |
If no value is set in the special context, this value is used. |
"22.02.2022" |
|
Value range |
Only values in this range are valid. |
Min: "01.01.2022", |
Specific settings
These are special settings for a specific type of data source.
[#data_source]The following table provides an overview of the specific configuration options for the individual data sources:
| Data source | Specific setting | Description | Example |
|---|---|---|---|
OpenSearch |
Index |
Name of the OpenSearch index containing the desired data. |
"bpc-auditlog" |
Query |
OpenSearch query in JSON format, see also the official OpenSearch documentation. The configured Variables can be used in this query. For storage space reasons, the result data does not contain any fields with binary data. |
|
|
JSON |
JSON Data |
static data record in JSON format (usually object or array). |
|
HTTP |
URL |
External URL address from which JSON data is retrieved. |
|
INUBIT |
INUBIT Connection |
In Backend Connections preconfigured connection (type: http_proxy) to an inubit server. |
Selection from the drop-down list, |
Report ID |
ID of a report that was configured in INUBIT. |
Selection from the drop-down list |
Preview of data
Once the configuration is complete and the data set has been executed and saved, a preview of the data is offered. In this preview, a context variable that was created in the configurator can also be set or adjusted, see Variables. The context variable can be used to test the behavior of the data in relation to changed values of this variable.
Modification of the data
After retrieving and configuring the data, it may be that this data is not yet available in the appropriate format to generate charts from it. Depending on the desired chart type, data should be formatted accordingly. This task is performed when the data set is modified.
A modifier is a section of code that manipulates input data.
The code section is usually executed in the backend and the result is sent back to the frontend.
Modifiers are executed in sandbox mode.
This means that the modifiers do not have access to critical resources (e.g. file system, network, etc.).
The view is divided into the following areas:
-
Area 1: Modifier steps
-
Area 2: Configuration
-
Area 3: Preview
Modifier steps
This area lists all the individual steps created for the modification.
Here you have the option of creating, deleting or executing a modifier or executing all modifiers.
The order of the modifier steps can be changed using drag & drop.
| Icon/button | Description | Function |
|---|---|---|
|
Add |
Creates a new modifier step |
Execute up to this step |
Executes all previous (above) modifier steps, including the selected step. |
|
Delete |
Removes the selected modifier step |
|
|
Execute all |
Executes all existing modifier steps one after the other (from top to bottom). |
Configuration
This area contains basic configurations of a modifier.
- Name
-
The name of the modifier.
- Type
-
Type of modifier.
The following types are currently supported:-
Javascriptdata of the OpenSearch instance, which serves as the database of the BPC
-
Groovy: static data set used for demonstration purposes
-
The type preselected when adding a new modifier is Groovy.
- Description
-
Additional information about the modifier.
- Modifier
-
Modification rules as source code.
Depending on the type, either Javascript code or Groovy code must be used.
Modifier type Javascript
With this type, a modifier is defined as Javascript source code.
The entry point of this modifier is the method: modify(data, vars).
This can also be understood as a main method.
The return value of this method provides the input data for the next modifier step or for a Chart.
The method has two Parameters:
- data
-
Input data.
Input data is usually the result of the last modifier. If the current modifier is the first, the raw data of the current data set is used. - vars
-
When accessing this object, you have access to the values of the data setVariables that were created during the data set configuration.
function modify (data, vars) {
const result = helper(data);
return result;
}
function helper (data) {
return data;
}
Modifier type Groovy
Only the following libraries are integrated for Groovy execution:
groovy (groovy-core), groovy-datetime, groovy-json
With this type, a modifier is defined as Groovy source code.
In contrast to the Javascript modifier, there is no entry method here.
The modifier rules can be defined directly in the code block.
The return value of this method provides the input data for the next modifier step or for a Chart.
Two objects are provided in this code section:
- data
-
Input data.
Input data is usually the result of the last modifier. If the current modifier is the first, the raw data of the current data set is used. - vars
-
When accessing this object, you have access to the values of the data setVariables that were created during the data set configuration.
data.collect { el -> return el * el }
return data
Application examples
In the following examples, data sets are created and configured that originate from different data sources. Two different modifier types are also configured.
Create and configure data set
-
Select the data set editor in the Analysis module.
-
Add a new data set.

-
Enter a name.
-
select "OpenSearch" as the data source.
-
Enter a description if necessary.
-
select "Index".
-
Enter query.
-
Add variable(s) if necessary.
-
In the Variables area, click on the Add button.
-
Enter the variable name.
-
Select variable type (see Variables).
-
Enter default values if necessary
-
Enter minimum and maximum values if necessary.

-
Click the Save button.
-
-
Click on Execute.
The data entered is automatically saved when the program is executed.
The raw data is displayed in the preview window.
In the preview window, the variables can be expanded and adjusted for testing purposes (see Preview of data).
If you make changes to the configurations, always click on the Save button at the end!
Modify data set
As the various Chart types require specific values, the data sets should be modified accordingly:
| Chart type | Expected attribute value |
|---|---|
Gauge (pointer diagram) |
number |
Pie (pie chart) |
string for the Labels, |
XY chart (line and bar charts) |
string for the text axis, |
