Changes for page 12 Validation and Transformation Language (VTL)
Last modified by Helena K. on 2026/06/10 10:09
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -368,15 +368,15 @@ 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: