Last modified by Helena K. on 2026/06/10 10:09

From version 10.7
edited by Helena K.
on 2026/06/10 09:58
Change comment: There is no comment for this version
To version 10.10
edited by Helena K.
on 2026/06/10 10:00
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -311,22 +311,22 @@
311 311  
312 312  The **unpivot** mapping behaves like follows:
313 313  
314 -* like in the basic (% style="color:#e74c3c" %)mapping(%%), a [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] (simple) identifier becomes a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dimension>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] and a [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] (time) identifier becomes a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] TimeDimension (as said, a [[measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] identifier cannot exist in multi-[[measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] structures);
314 +* like in the basic mapping, a [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] (simple) identifier becomes a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dimension>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] and a [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] (time) identifier becomes a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] TimeDimension (as said, a [[measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] identifier cannot exist in multi-[[measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] structures);
315 315  * a MeasureDimension [[component>>doc:sdmx:Glossary 2\.1.Component.WebHome]] called "measure_name" is added to the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DataStructure;
316 316  * a [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[component>>doc:sdmx:Glossary 2\.1.Component.WebHome]] called "obs_value" is added to the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DataStructure;
317 -* each [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] is (% style="color:#e74c3c" %)mapped(%%) to a [[Code>>doc:sdmx:Glossary 2\.1.Code.WebHome]] of the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] MeasureDimension having the same name as the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] (therefore all the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[Components>>doc:sdmx:Glossary 2\.1.Component.WebHome]] do not originate [[Components>>doc:sdmx:Glossary 2\.1.Component.WebHome]] in the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DataStructure);
317 +* each [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] is mapped to a [[Code>>doc:sdmx:Glossary 2\.1.Code.WebHome]] of the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] MeasureDimension having the same name as the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] (therefore all the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[Components>>doc:sdmx:Glossary 2\.1.Component.WebHome]] do not originate [[Components>>doc:sdmx:Glossary 2\.1.Component.WebHome]] in the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DataStructure);
318 318  * a [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Attribute>>doc:sdmx:Glossary 2\.1.Attribute.WebHome]] becomes a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DataAttribute having AttributeRelationship referred to all the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DimensionComponents including the TimeDimension and except the MeasureDimension.
319 319  
320 -The summary (% style="color:#e74c3c" %)mapping(%%) table of the **unpivot** (% style="color:#e74c3c" %)mapping(%%) method is the following:
320 +The summary mapping table of the **unpivot** mapping method is the following:
321 321  
322 322  (% style="width:638.294px" %)
323 -|(% style="width:200px" %)**[[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]]**|(% style="width:435px" %)**[[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]]**
323 +|(% style="width:200px" %)**VTL**|(% style="width:435px" %)**SDMX**
324 324  |(% style="width:200px" %)(Simple) Identifier|(% style="width:435px" %)[[Dimension>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]]
325 325  |(% style="width:200px" %)(Time) Identifier|(% style="width:435px" %)TimeDimension
326 326  |(% style="width:200px" %)All [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[Components>>doc:sdmx:Glossary 2\.1.Component.WebHome]]|(% style="width:435px" %)MeasureDimension (having one [[Code>>doc:sdmx:Glossary 2\.1.Code.WebHome]] for each [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[component>>doc:sdmx:Glossary 2\.1.Component.WebHome]]) & one [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]]
327 327  |(% style="width:200px" %)[[Attribute>>doc:sdmx:Glossary 2\.1.Attribute.WebHome]]|(% style="width:435px" %)DataAttribute depending on all [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] including the TimeDimension and except the MeasureDimension
328 328  
329 -At observation / data point (% style="color:#e74c3c" %)level(%%):
329 +At observation / data point level:
330 330  
331 331  * a multi-[[measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] Data Point becomes a set of [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] observations, one for each [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]];
332 332  * the values of the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] Identifiers become the values of the corresponding [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DimensionComponents, for all the observations of the set above;
... ... @@ -336,18 +336,18 @@
336 336  
337 337  If desired, this method can be applied also to mono-[[measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] structures, provided that none of the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Components>>doc:sdmx:Glossary 2\.1.Component.WebHome]] has already the role of [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] Identifier. Like in the general case, a MeasureDimension [[component>>doc:sdmx:Glossary 2\.1.Component.WebHome]] called “measure_name” is added to the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DataStructure, in this case it has just one possible [[Code>>doc:sdmx:Glossary 2\.1.Code.WebHome]], corresponding to the name of the unique [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]]. The original [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] would not become a [[Component>>doc:sdmx:Glossary 2\.1.Component.WebHome]] in the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] data structure. The value of the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] would be assigned to the unique [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] called “obs_value”.
338 338  
339 -In any case, the resulting [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] definitions must be compliant with the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] consistency rules. For example, the possible [[Codes>>doc:sdmx:Glossary 2\.1.Code.WebHome]] of the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] MeasureDimension need to be listed in a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Codelist>>doc:sdmx:Glossary 2\.1.Code list.WebHome]], with proper id, agency and (% style="color:#e74c3c" %)version(%%); moreover, the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[DSD>>doc:sdmx:Glossary 2\.1.Data structure definition.WebHome]] must have the AttributeRelationship for the DataAttributes, which does not exist in [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]].
339 +In any case, the resulting [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] definitions must be compliant with the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] consistency rules. For example, the possible [[Codes>>doc:sdmx:Glossary 2\.1.Code.WebHome]] of the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] MeasureDimension need to be listed in a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Codelist>>doc:sdmx:Glossary 2\.1.Code list.WebHome]], with proper id, agency and [[version>>doc:sdmx:Glossary 2\.1.Version.WebHome]]; moreover, the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[DSD>>doc:sdmx:Glossary 2\.1.Data structure definition.WebHome]] must have the AttributeRelationship for the DataAttributes, which does not exist in [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]].
340 340  
341 341  ==== 12.3.4.3 From VTL Measures to SDMX Data Attributes ====
342 342  
343 -More than all for the multi-[[measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] structures (having more than one [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[Component>>doc:sdmx:Glossary 2\.1.Component.WebHome]]), it may happen that the [[Measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] of the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] Data Structure need to be managed as DataAttributes in [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]]. Therefore, a third (% style="color:#e74c3c" %)mapping(%%) method consists in transforming some [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] in a corresponding [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] and all the other [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] in [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DataAttributes. This method is called M2A (“M2A” stands for “[[Measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] to DataAttributes”).
343 +More than all for the multi-[[measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] structures (having more than one [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[Component>>doc:sdmx:Glossary 2\.1.Component.WebHome]]), it may happen that the [[Measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] of the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] Data Structure need to be managed as DataAttributes in [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]]. Therefore, a third mapping method consists in transforming some [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] in a corresponding [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] and all the other [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] in [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DataAttributes. This method is called M2A (“M2A” stands for “[[Measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] to DataAttributes”).
344 344  
345 345  All [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] maintain their names in [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]]. The [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]] [[Components>>doc:sdmx:Glossary 2\.1.Component.WebHome]] that become [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] DataAttributes are the ones declared as DataAttributes in the target [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[data structure definition>>doc:sdmx:Glossary 2\.1.Data structure definition.WebHome]].
346 346  
347 -The (% style="color:#e74c3c" %)mapping(%%) table is the following:
347 +The mapping table is the following:
348 348  
349 349  (% style="width:467.294px" %)
350 -|(% style="width:214px" %)[[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]]|(% style="width:250px" %)[[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]]
350 +|(% style="width:214px" %)VTL|(% style="width:250px" %)SDMX
351 351  |(% style="width:214px" %)(Simple) Identifier|(% style="width:250px" %)[[Dimension>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]]
352 352  |(% style="width:214px" %)(Time) Identifier|(% style="width:250px" %)TimeDimension
353 353  |(% style="width:214px" %)Some [[Measures>>doc:sdmx:Glossary 2\.1.Measure.WebHome]]|(% style="width:250px" %)[[Measure>>doc:sdmx:Glossary 2\.1.Measure.WebHome]]
... ... @@ -358,25 +358,25 @@
358 358  
359 359  === 12.3.5 Declaration of the mapping methods between data structures ===
360 360  
361 -In order to define and understand properly [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] Transformations, the applied (% style="color:#e74c3c" %)mapping(%%) methods must be specified in the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[structural metadata>>doc:sdmx:Glossary 2\.1.Structural metadata.WebHome]]. If the default (% style="color:#e74c3c" %)mapping(%%) method (Basic) is applied, no specification is needed.
361 +In order to define and understand properly [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] Transformations, the applied mapping methods must be specified in the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[structural metadata>>doc:sdmx:Glossary 2\.1.Structural metadata.WebHome]]. If the default mapping method (Basic) is applied, no specification is needed.
362 362  
363 -A customized (% style="color:#e74c3c" %)mapping(%%) can be defined through the VtlMappingScheme and VtlDataflowMapping classes (see the section of the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] IM relevant to the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]]). A VtlDataflowMapping allows specifying the (% style="color:#e74c3c" %)mapping(%%) methods to be used for a specific [[dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]], both in the direction from [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] to [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] (toVtlMappingMethod) and from [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] to [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] (fromVtlMappingMethod); in fact a VtlDataflowMapping associates the structured URN that identifies a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] to its [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] alias and its (% style="color:#e74c3c" %)mapping(%%) methods.
363 +A customized mapping can be defined through the VtlMappingScheme and VtlDataflowMapping classes (see the section of the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] IM relevant to the [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]]). A VtlDataflowMapping allows specifying the mapping methods to be used for a specific [[dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]], both in the direction from [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] to [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] (toVtlMappingMethod) and from [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] to [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] (fromVtlMappingMethod); in fact a VtlDataflowMapping associates the structured URN that identifies a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] to its [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] alias and its mapping methods.
364 364  
365 -It is possible to specify the toVtlMappingMethod and fromVtlMappingMethod also for the conventional [[dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] called "generic_dataflow": in this case the specified (% style="color:#e74c3c" %)mapping(%%) methods are intended to become the default ones, overriding the "Basic" methods. In turn, the toVtlMappingMethod and fromVtlMappingMethod declared for a specific [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] are intended to override the default ones for such a [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]].
365 +It is possible to specify the toVtlMappingMethod and fromVtlMappingMethod also for the conventional [[dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] called "generic_dataflow": in this case the specified mapping methods are intended to become the default ones, overriding the "Basic" methods. In turn, the toVtlMappingMethod and fromVtlMappingMethod declared for a specific [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] are intended to override the default ones for such a [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]].
366 366  
367 367  The VtlMappingScheme is a container for zero or more VtlDataflowMapping (it may contain also mappings towards [[artefacts>>doc:sdmx:Glossary 2\.1.Artefact.WebHome]] other than [[dataflows>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]]).
368 368  
369 369  === 12.3.6 Mapping dataflow subsets to distinct VTL Data Sets ===
370 370  
371 -Until now it has been assumed to (% style="color:#e74c3c" %)map(%%) one SMDX [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] to one [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Set>>doc:sdmx:Glossary 2\.1.Data set.WebHome]] and vice-versa. This (% style="color:#e74c3c" %)mapping(%%) one-to-one is not mandatory according to [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] because a [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Set>>doc:sdmx:Glossary 2\.1.Data set.WebHome]] 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>>doc:sdmx:Glossary 2\.1.Representation.WebHome]] or storage (see [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] 2.0 User Manual page 24), therefore a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] can be seen either as a unique set of data observations (corresponding to one [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Set>>doc:sdmx:Glossary 2\.1.Data set.WebHome]]) or as the union of many sets of data observations (each one corresponding to a distinct [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Set>>doc:sdmx:Glossary 2\.1.Data set.WebHome]]).
371 +Until now it has been assumed to map one SMDX [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] to one [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Set>>doc:sdmx:Glossary 2\.1.Data set.WebHome]] and vice-versa. This mapping one-to-one is not mandatory according to [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] because a [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Set>>doc:sdmx:Glossary 2\.1.Data set.WebHome]] 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>>doc:sdmx:Glossary 2\.1.Representation.WebHome]] or storage (see [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] 2.0 User Manual page 24), therefore a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] can be seen either as a unique set of data observations (corresponding to one [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Set>>doc:sdmx:Glossary 2\.1.Data set.WebHome]]) or as the union of many sets of data observations (each one corresponding to a distinct [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Set>>doc:sdmx:Glossary 2\.1.Data set.WebHome]]).
372 372  
373 373  As a matter of fact, in some cases it can be useful to define [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] operations involving definite parts of a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] 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}}
374 374  
375 -Therefore, in order to make the coding of [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] operations simpler when applied on parts of [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflows>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]], it is allowed to (% style="color:#e74c3c" %)map(%%) distinct parts of a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] to distinct [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Sets>>doc:sdmx:Glossary 2\.1.Data set.WebHome]] according to the following rules and conventions. This kind of (% style="color:#e74c3c" %)mapping(%%) is possible both from [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] to [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] and from [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] to [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]], 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}}
375 +Therefore, in order to make the coding of [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] operations simpler when applied on parts of [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflows>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]], it is allowed to map distinct parts of a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] to distinct [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Sets>>doc:sdmx:Glossary 2\.1.Data set.WebHome]] according to the following rules and conventions. This kind of mapping is possible both from [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] to [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] and from [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] to [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]], 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}}
376 376  
377 -Given a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] and some predefined [[Dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] of its DataStructure, it is allowed to (% style="color:#e74c3c" %)map(%%) the subsets of observations that have the same combination of values for such [[Dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] to correspondent [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[datasets>>doc:sdmx:Glossary 2\.1.Data set.WebHome]].
377 +Given a [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] and some predefined [[Dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] of its DataStructure, it is allowed to map the subsets of observations that have the same combination of values for such [[Dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] to correspondent [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[datasets>>doc:sdmx:Glossary 2\.1.Data set.WebHome]].
378 378  
379 -For example, assuming that the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] DF1(1.0.0) has the [[Dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] [[INDICATOR>>doc:sdmx:Glossary 2\.1.Statistical indicator.WebHome]], TIME_PERIOD and COUNTRY, and that the user declares the [[Dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] [[INDICATOR>>doc:sdmx:Glossary 2\.1.Statistical indicator.WebHome]] and COUNTRY as basis for the (% style="color:#e74c3c" %)mapping(%%) (i.e. the (% style="color:#e74c3c" %)mapping(%%) [[dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]]): the observations that have the same values for [[INDICATOR>>doc:sdmx:Glossary 2\.1.Statistical indicator.WebHome]] and COUNTRY would be (% style="color:#e74c3c" %)mapped(%%) to the same [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[dataset>>doc:sdmx:Glossary 2\.1.Data set.WebHome]] (and vice-versa). In practice, this kind (% style="color:#e74c3c" %)mapping(%%) is obtained like follows:
379 +For example, assuming that the [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]] DF1(1.0.0) has the [[Dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] [[INDICATOR>>doc:sdmx:Glossary 2\.1.Statistical indicator.WebHome]], TIME_PERIOD and COUNTRY, and that the user declares the [[Dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] [[INDICATOR>>doc:sdmx:Glossary 2\.1.Statistical indicator.WebHome]] and COUNTRY as basis for the mapping (i.e. the mapping [[dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]]): the observations that have the same values for [[INDICATOR>>doc:sdmx:Glossary 2\.1.Statistical indicator.WebHome]] and COUNTRY would be mapped to the same [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[dataset>>doc:sdmx:Glossary 2\.1.Data set.WebHome]] (and vice-versa). In practice, this kind (% style="color:#e74c3c" %)mapping(%%) is obtained like follows:
380 380  
381 381  * For a given [[SDMX>>doc:sdmx:Glossary 2\.1.Statistical data and metadata exchange.WebHome]] [[Dataflow>>doc:sdmx:Glossary 2\.1.Dataflow.WebHome]], the user ([[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] definer) declares the DimensionComponents on which the (% style="color:#e74c3c" %)mapping(%%) will be based, in a given order.{{footnote}}This definition is made through the ToVtlSubspace and ToVtlSpaceKey classes and/or the FromVtlSuperspace and FromVtlSpaceKey classes, depending on the direction of the mapping (“key” means “dimension”). The mapping of Dataflow subsets can be applied independently in the two directions, also according to different Dimensions. When no Dimension is declared for a given direction, it is assumed that the option of mapping different parts of a SDMX Dataflow to different VTL Data Sets is not used.{{/footnote}} Following the example above, imagine that the user declares the [[Dimensions>>doc:sdmx:Glossary 2\.1.Dimension.WebHome]] [[INDICATOR>>doc:sdmx:Glossary 2\.1.Statistical indicator.WebHome]] and COUNTRY.
382 382  * The [[VTL>>doc:sdmx:Glossary 2\.1.Validation and transformation language.WebHome]] [[Data Set>>doc:sdmx:Glossary 2\.1.Data set.WebHome]] is given a name using a special notation also called “ordered concatenation” and composed of the following parts:
© Semantic R&D Group, 2026