Update data model
Introduction¶
This data loading operation allows you to populate a dimension based on the data present in a dataset.
The source of the loading will be the current activity's dataset/type, while the target is the dimension selected in the loading operation configuration (see Data Target Mapping page (Update Data Model) ).
Note: at the moment, only analytical dimensions can be selected, and it is not possible to add or edit the Reporting Languages or Custom Attributes.
Data verification process¶
Before inserting or adding elements of a dimension, the data processing checks that the data present in the dataset are valid. To do this, it performs the following checks:
- checks on elements: when the "Code" field and at least one other of the "Description", "Start date" and "End date" fields are mapped in the mapping.
- checks on relationships: when the "Code", "Hierarchy" and "Node" fields are mapped in the mapping.
Examples
Example 1
In this example, a "Data Target Mapping: update data model" is configured with all the fields mapped:
Dataset¶
| CODE | DESCRIPTION | HIERARCHY | NODE | START DATE | END DATE |
|---|---|---|---|---|---|
| 001 | DESC 001 | H01 | N01 | 13/02/2022 | 15/02/2023 |
Checks on the elements:
- there are no errors, the element with code 001 is added to the analytical dimension table if not already present, otherwise it is updated.
Checks on the relationships:
- if the hierarchy/node pair exists and there are no errors, element 001 is related to the specified hierarchy/node pair,
- if the hierarchy/node paid does not exist, the element is not related.
Dataset¶
| CODE | DESCRIPTION | HIERARCHY | NODE | START DATE | END DATE |
|---|---|---|---|---|---|
| 002 | DESC 002 | - | - | 13/02/2022 | 15/02/2023 |
Checks on the elements:
- there are no errors, the element with code 002 is added to the analytical dimension table if not already present, otherwise it is updated.
Checks on the relationships:
- given that the hierarchy and node fields are mapped but not specified, an error is returned and the relationship cannot be inserted.
Dataset¶
| CODE | DESCRIPTION | HIERARCHY | NODE | START DATE | END DATE |
|---|---|---|---|---|---|
| - | DESC 001 | H01 | N01 | 13/02/2022 | 15/02/2023 |
Checks on the elements:
- code field not specified error.
Checks on the relationships:
- code field not specified error.
Dataset¶
| CODE | DESCRIPTION | HIERARCHY | NODE | START DATE | END DATE |
|---|---|---|---|---|---|
| 003 | DESC 003 | H01 | N01 | 13/02/2022 | 15/02/2023 |
| 003 | DESC 004 | H01 | N01 | 13/02/2022 | 15/02/2023 |
Checks on the elements:
- two elements with the same code, the checks on elements check whether other fields also contain the same value. In this case, the description field does not have the same value, so a duplicate element code error is returned.
Checks on the relationships:
- these follow the same logic as the checks on the elements.
Dataset¶
| CODE | DESCRIPTION | HIERARCHY | NODE | START DATE | END DATE |
|---|---|---|---|---|---|
| 004 | DESC 004 | H01 | N01 | - | - |
| 004 | DESC 004 | H02 | N02 | - | - |
Checks on the elements:
- two elements with the same code, in this case all fields contain the same value, element 004 is added or updated.
Checks on the relationships:
- (with valid specified hierarchy/node pairs) two elements with the same code, in this case the hierarchy and node fields have different values, two relationships will be added or updated for each individual element.
Managing mandatory and non-mandatory fields¶
The Update data model operation takes account of all mapped fields. If a mapped field is mandatory, and no value is present in the dataset, the system reports an error both when the data processing inserts values and when a pre-existing element is updated. However, if the mapped field is not mandatory and the value does not exist for a certain row of the dataset, the system does not insert any value for new elements, whereas it overwrites the pre-existing value, thus emptying the field, when updating an element present in the analytical dimension.
Example 2
In this example, a "Data Target Mapping: update data model" is configured with all the fields mapped, considering that element 001 exists on the analytical dimension and has all fields defined.
- Dataset:
| CODE | DESCRIPTION | HIERARCHY | NODE | START DATE | END DATE |
|---|---|---|---|---|---|
| 001 | DESC 001 | H01 | N01 |
There are no errors, all fields of element 001 are updated. In particular, the “Start date” and “End date” fields are emptied, overwriting the previous value.
Execution conditions¶
Personal data option¶
To run this operation correctly when data protection is active, both the chosen analytical dimension and the dataset field, mapped with the description, must have the “Personal Data Protection” option active. Otherwise, the data processing will fail. At the end of the data processing, the descriptions will be protected for valid data inserted.
Note: not all personal data protection functionalities are managed; for example, the “Right to be forgotten” is not supported.
Encoded option¶
The “Encoded” option must be selected on the field mapped with the description. If this condition is not met, the data processing will fail.