Changes for page 12 Validation and Transformation Language (VTL)
Last modified by Artur on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -222,7 +222,7 @@ 222 222 223 223 With the Basic mapping, one SDMX observation^^27^^ generates one VTL data point. 224 224 225 - ====12.3.3.2 Pivot Mapping====225 +**12.3.3.2 Pivot Mapping** 226 226 227 227 An alternative mapping method from SDMX to VTL is the **Pivot **mapping, which makes sense and is different from the Basic method only for the SDMX data structures that contain a Dimension that plays the role of measure dimension (like in SDMX 2.1) and just one Measure. Through this method, these structures can be mapped to multimeasure VTL data structures. Besides that, a user may choose to use any Dimension acting as a list of Measures (e.g., a Dimension with indicators), either by considering the “Measure” role of a Dimension, or at will using any coded Dimension. Of course, in SDMX 3.0, this can only work when only one Measure is defined in the DSD. 228 228 ... ... @@ -253,6 +253,7 @@ 253 253 |DataAttribute not depending on the MeasureDimension|Attribute 254 254 |DataAttribute depending on the MeasureDimension|((( 255 255 One Attribute for each Code of the 256 + 256 256 SDMX MeasureDimension 257 257 ))) 258 258 ... ... @@ -265,10 +265,13 @@ 265 265 266 266 Identifiers, (time) Identifier and Attributes. 267 267 268 -* The value of the Measure of the SDMX observation belonging to the set above and having MeasureDimension=Cj becomes the value of the VTL Measure Cj 269 +* The value of the Measure of the SDMX observation belonging to the set above and having MeasureDimension=Cj becomes the value of the VTL Measure 270 + 271 +Cj 272 + 269 269 * For the SDMX DataAttributes depending on the MeasureDimension, the value of the DataAttribute DA of the SDMX observation belonging to the set above and having MeasureDimension=Cj becomes the value of the VTL Attribute DA_Cj 270 270 271 - ====12.3.3.3 From SDMX DataAttributes to VTL Measures====275 +**12.3.3.3 From SDMX DataAttributes to VTL Measures** 272 272 273 273 * In some cases, it may happen that the DataAttributes of the SDMX DataStructure need to be managed as Measures in VTL. Therefore, a variant of both the methods above consists in transforming all the SDMX DataAttributes in VTL Measures. When DataAttributes are converted to Measures, the two methods above are called Basic_A2M and Pivot_A2M (the suffix "A2M" stands for Attributes to Measures). Obviously, the resulting VTL data structure is, in general, multi-measure and does not contain 274 274 ... ... @@ -278,9 +278,11 @@ 278 278 279 279 Proper VTL features allow changing the role of specific attributes even after the SDMX to VTL mapping: they can be useful when only some of the DataAttributes need to be managed as VTL Measures. 280 280 281 -=== 12.3.4 Mapping from VTL to SDMX data structures === 285 +1. 286 +11. 287 +111. Mapping from VTL to SDMX data structures 282 282 283 - ====12.3.4.1 Basic Mapping====289 +**12.3.4.1 Basic Mapping** 284 284 285 285 The main mapping method **from VTL to SDMX** is called **Basic **mapping as well. 286 286 ... ... @@ -304,7 +304,7 @@ 304 304 305 305 As said, the resulting SDMX definitions must be compliant with the SDMX consistency rules. For example, the SDMX DSD must have the AttributeRelationship for the DataAttributes, which does not exist in VTL. 306 306 307 - ====12.3.4.2 Unpivot Mapping====313 +**12.3.4.2 Unpivot Mapping** 308 308 309 309 An alternative mapping method from VTL to SDMX is the **Unpivot **mapping. 310 310 ... ... @@ -340,7 +340,7 @@ 340 340 341 341 In any case, the resulting SDMX definitions must be compliant with the SDMX consistency rules. For example, the possible Codes of the SDMX MeasureDimension need to be listed in a SDMX Codelist, with proper id, agency and version; moreover, the SDMX DSD must have the AttributeRelationship for the DataAttributes, which does not exist in VTL. 342 342 343 - ====12.3.4.3 From VTL Measures to SDMX Data Attributes====349 +**12.3.4.3 From VTL Measures to SDMX Data Attributes** 344 344 345 345 More than all for the multi-measure VTL structures (having more than one Measure Component), it may happen that the Measures of the VTL Data Structure need to be managed as DataAttributes in SDMX. Therefore, a third mapping method consists in transforming some VTL measures in a corresponding SDMX Measures and all the other VTL Measures in SDMX DataAttributes. This method is called M2A (“M2A” stands for “Measures to DataAttributes”). 346 346 ... ... @@ -357,7 +357,9 @@ 357 357 358 358 Even in this case, the resulting SDMX definitions must be compliant with the SDMX consistency rules. For example, the SDMX DSD must have the attributeRelationship for the DataAttributes, which does not exist in VTL. 359 359 360 -=== 12.3.5 Declaration of the mapping methods between data structures === 366 +1. 367 +11. 368 +111. Declaration of the mapping methods between data structures 361 361 362 362 In order to define and understand properly VTL Transformations, the applied mapping methods must be specified in the SDMX structural metadata. If the default mapping method (Basic) is applied, no specification is needed. 363 363 ... ... @@ -367,10 +367,14 @@ 367 367 368 368 The VtlMappingScheme is a container for zero or more VtlDataflowMapping (it may contain also mappings towards artefacts other than dataflows). 369 369 370 -=== 12.3.6 Mapping dataflow subsets to distinct VTL Data Sets === 378 +1. 379 +11. 380 +111. Mapping dataflow subsets to distinct VTL Data Sets 371 371 372 -Until now it has been assumed to map one SMDX Dataflow to one VTL Data Set and vice-versa. This mapping one-to-one is not mandatory according to VTL because a VTL Data Set is meant to be a set of observations (data points) on a logical plane, having the same logical data structure and the same general meaning, independently of the possible physical representation or storage (see VTL 2.0 User Manual page 24), therefore a SDMX Dataflow can be seen either as a unique set of data observations (corresponding to one VTL Data Set) or as the union of many sets of data observations (each one corresponding to a distinct VTL Data Set).382 +Until now it has been assumed to map one SMDX Dataflow to one VTL Data Set and vice-versa. This mapping one-to-one is not mandatory according to VTL because a VTL Data Set is meant to be a set of observations (data points) on a logical plane, having the same logical data structure and the same general meaning, independently of the possible physical representation or storage (see VTL 2.0 User Manual page 24), therefore a SDMX Dataflow can be seen either as a unique set of data observations 373 373 384 +(corresponding to one VTL Data Set) or as the union of many sets of data observations (each one corresponding to a distinct VTL Data Set). 385 + 374 374 As a matter of fact, in some cases it can be useful to define VTL operations involving definite parts of a SDMX Dataflow instead than the whole.{{footnote}}A typical example of this kind is the validation, and more in general the manipulation, of individual time series belonging to the same Dataflow, identifiable through the DimensionComponents of the Dataflow except the TimeDimension. The coding of these kind of operations might be simplified by mapping distinct time series (i.e. different parts of a SDMX Dataflow) to distinct VTL Data Sets.{{/footnote}} 375 375 376 376 Therefore, in order to make the coding of VTL operations simpler when applied on parts of SDMX Dataflows, it is allowed to map distinct parts of a SDMX Dataflow to distinct VTL Data Sets according to the following rules and conventions. This kind of mapping is possible both from SDMX to VTL and from VTL to SDMX, as better explained below.{{footnote}}Please note that this kind of mapping is only an option at disposal of the definer of VTL Transformations; in fact it remains always possible to manipulate the needed parts of SDMX Dataflows by means of VTL operators (e.g. “sub”, “filter”, “calc”, “union” …), maintaining a mapping one-to-one between SDMX Dataflows and VTL Data Sets.{{/footnote}}