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,7 +253,6 @@ 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 - 257 257 SDMX MeasureDimension 258 258 ))) 259 259 ... ... @@ -266,13 +266,10 @@ 266 266 267 267 Identifiers, (time) Identifier and Attributes. 268 268 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 - 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 273 273 * 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 274 274 275 - **12.3.3.3 From SDMX DataAttributes to VTL Measures**271 +==== 12.3.3.3 From SDMX DataAttributes to VTL Measures ==== 276 276 277 277 * 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 278 278 ... ... @@ -282,11 +282,9 @@ 282 282 283 283 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. 284 284 285 -1. 286 -11. 287 -111. Mapping from VTL to SDMX data structures 281 +=== 12.3.4 Mapping from VTL to SDMX data structures === 288 288 289 - **12.3.4.1 Basic Mapping**283 +==== 12.3.4.1 Basic Mapping ==== 290 290 291 291 The main mapping method **from VTL to SDMX** is called **Basic **mapping as well. 292 292 ... ... @@ -310,7 +310,7 @@ 310 310 311 311 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. 312 312 313 - **12.3.4.2 Unpivot Mapping**307 +==== 12.3.4.2 Unpivot Mapping ==== 314 314 315 315 An alternative mapping method from VTL to SDMX is the **Unpivot **mapping. 316 316 ... ... @@ -346,7 +346,7 @@ 346 346 347 347 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. 348 348 349 - **12.3.4.3 From VTL Measures to SDMX Data Attributes**343 +==== 12.3.4.3 From VTL Measures to SDMX Data Attributes ==== 350 350 351 351 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”). 352 352 ... ... @@ -363,9 +363,7 @@ 363 363 364 364 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. 365 365 366 -1. 367 -11. 368 -111. Declaration of the mapping methods between data structures 360 +=== 12.3.5 Declaration of the mapping methods between data structures === 369 369 370 370 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. 371 371 ... ... @@ -375,14 +375,10 @@ 375 375 376 376 The VtlMappingScheme is a container for zero or more VtlDataflowMapping (it may contain also mappings towards artefacts other than dataflows). 377 377 378 -1. 379 -11. 380 -111. Mapping dataflow subsets to distinct VTL Data Sets 370 +=== 12.3.6 Mapping dataflow subsets to distinct VTL Data Sets === 381 381 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 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). 383 383 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 - 386 386 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}} 387 387 388 388 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}}