Structure of a BI Data Service 
A BI data service can have up to two input ports and two output ports. Using the FILTER and VARIABLE input ports, you can set the input parameters for the BI object (BI query or query view). The results for the BI object are provided in the DATA output port. The INFO output port provides general parameters for the BI object.
FILTER input port
The FILTER input port contains exactly one field for each characteristic in the rows, columns, or free characteristics of the BI object. Each filter is a field of type String and can contain a filter condition, for which you can select a single value, multiple values, intervals, and free selection options:
Single value
Enter the value, for example PROD1.
Multiple single values
Enter the values separated by semicolons, for example PROD1; PROD2; PROD4.
Intervals
Enter the lower and upper values separated by a minus sign (-), for example, PROD1-PROD3.
Free selection options
You can enter a combination of single values and intervals, for example, PROD1; PROD3; PROD5-PROD8.
Note
The values in the filter conditions string have to be the display type key and not the display type text.
Note that not all filter types are supported for all data sources.
VARIABLE input port
The VARIABLE input port contains exactly one field for each input-enabled variable of the BI object. You can specify whether the variables contain one single value, multiple single values, an interval, or a complete selection option. Each variable field is a String type field and can contain selections with the same syntax as that used for filters. The values in the string also have to be the display type key.
If the BI object does not contain any input-enabled variables, the VARIABLE input port is not generated.
DATA output port
The DATA output port is generated as follows:
A field is generated for each display type (key, text) of a characteristic in rows or columns, for example Product_Text and Product_Display_Key.
The display for characteristic attributes is the same as for characteristics.
If the BI object contains one key figure structure, three fields are generated for each structure member:
Field of type String for formatted values, for example Revenue_FMTVALUE
Field of type String for units, for example Revenue_UNIT
Numeric field for actual values, for example Revenue_VALUE
Note
Note that the field name is generated from the technical name of the structure element in Query Designer (in the example 'Revenue'). If you do not specify a technical name for the structure element in Query Designer, the GUID is used for the field name.
If the BI object contains a key figure structure and another structure, these three fields are generated for each member combination of the two structures.
INFO output port
The INFO output port provides general parameters for the BI object, such as the name of the query, the data, and information about the last change made.
The write back data service has a DATA input port and an INFO output port.
DATA input port
The DATA input port is generated in the same way as the DATA input port of the read data service, except that for the key figure structure field only one numeric field (e.g. Revenue_VALUE) is generated for each structure member.
INFO output port
Same as the INFO output port of the read data service.
A planning function data service can have up to three input ports and one output port. Using the FILTER and VARIABLE input ports, you can set the input parameters for the filter. Using the PARAMETERS input port, you can set the input parameters for the planning function. The OUTPUT output port is always empty and only needed to connect the data services with other data services or views.
FILTER input port
The FILTER input port contains exactly one field (key) for each characteristic in the filter that is flagged as 'Can be changed at execution'. Each filter field is of type String and can contain a filter condition, for which you can select a single value, multiple values, intervals and arbitrary selection options (see read data service).
VARIABLE input port
The VARIABLE input port contains exactly one field (key) for each input-enabled variable of the filter. You can specify wether the variables contain one single value, multiple single values, an interval or a complete selection option. Each variable field is of type String and can contain selections with the same syntax that is used for filters.
In the filter does not contain any input-enabled variables, the VARIABLE input port is not generated.
PARAMETERS input port
The PARAMETERS input port contains exactly one field (key) for each input-enabled variable of the planning function. You can specify wether the variables contain one single value, multiple single values, an interval or a complete selection option. Each variable is of type String and can contain selections with the same syntax that is used for filters.
If the planning function does not contain any input-enabled variables, the PARAMETERS input port is not generated.
A planning sequence data service has one input port and one output port. Using the VARIABLE input port, you can set the input parameters for the planning sequence. The OUTPUT output port is always empty and only needed to connect the data service with other data services or views.
VARIABLE input port
The VARIABLE input port contains exactly one field (key) for each input-enabled variable of the planning sequence. You can specify wether the variables contain one single value, multiple single values, an interval or a complete selection option.
A planning command data service has one INPUT input port and one OUTPUT output port. Both ports are always empty and only needed to connect the data services with other data services or views.