Last modified by Helena on 2025/09/10 11:19

From version 6.3
edited by Helena
on 2025/05/16 12:31
Change comment: There is no comment for this version
To version 6.6
edited by Helena
on 2025/05/16 12:34
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -255,10 +255,7 @@
255 255  At observation / data point level, calling Cj (j=1, … n) the j^^th^^ Code of the MeasureDimension:
256 256  
257 257  * The set of SDMX observations having the same values for all the Dimensions except than the MeasureDimension become one multi-measure VTL Data Point, having one Measure for each Code Cj of the SDMX MeasureDimension;
258 -* The values of the SDMX simple Dimensions, TimeDimension and DataAttributes not depending on the MeasureDimension (these components by definition have always the same values for all the observations of the set above) become the values of the corresponding VTL (simple)
259 -
260 -Identifiers, (time) Identifier and Attributes.
261 -
258 +* The values of the SDMX simple Dimensions, TimeDimension and DataAttributes not depending on the MeasureDimension (these components by definition have always the same values for all the observations of the set above) become the values of the corresponding VTL (simple) Identifiers, (time) Identifier and Attributes.
262 262  * 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
263 263  * 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
264 264  
... ... @@ -351,7 +351,7 @@
351 351  The mapping table is the following:
352 352  
353 353  (% style="width:689.294px" %)
354 -|(% style="width:344px" %)VTL|(% style="width:341px" %)SDMX
351 +|(% style="width:344px" %)**VTL**|(% style="width:341px" %)**SDMX**
355 355  |(% style="width:344px" %)(Simple) Identifier|(% style="width:341px" %)Dimension
356 356  |(% style="width:344px" %)(Time) Identifier|(% style="width:341px" %)TimeDimension
357 357  |(% style="width:344px" %)Some Measures|(% style="width:341px" %)Measure
... ... @@ -411,24 +411,17 @@
411 411  
412 412  SDMX Dataflow having INDICATOR=//INDICATORvalue //and COUNTRY=// COUNTRYvalue//. For example, the VTL dataset ‘DF1(1.0.0)/POPULATION.USA’ would contain all the observations of DF1(1.0.0) having INDICATOR = POPULATION and COUNTRY = USA.
413 413  
414 -In order to obtain the data structure of these VTL Data Sets from the SDMX one, it is assumed that the SDMX DimensionComponents on which the mapping is based are dropped, i.e. not maintained in the VTL data structure; this is possible because their values are fixed for each one of the invoked VTL Data Sets{{footnote}}If these DimensionComponents would not be dropped, the various VTL Data Sets resulting from this kind of mapping would have non-matching values for the Identifiers corresponding to the mapping Dimensions (e.g. POPULATION and COUNTRY). As a consequence, taking into account that the typical binary VTL operations at dataset level (+, -, *, / and so on) are executed on the observations having matching values for the identifiers, it would not be possible to compose the resulting VTL datasets one another (e.g. it would not be possible to calculate the population ratio between USA and CANADA).{{/footnote}}. After that, the mapping method from SDMX to VTL specified for the Dataflow DF1(1.0.0) is applied (i.e.
411 +In order to obtain the data structure of these VTL Data Sets from the SDMX one, it is assumed that the SDMX DimensionComponents on which the mapping is based are dropped, i.e. not maintained in the VTL data structure; this is possible because their values are fixed for each one of the invoked VTL Data Sets{{footnote}}If these DimensionComponents would not be dropped, the various VTL Data Sets resulting from this kind of mapping would have non-matching values for the Identifiers corresponding to the mapping Dimensions (e.g. POPULATION and COUNTRY). As a consequence, taking into account that the typical binary VTL operations at dataset level (+, -, *, / and so on) are executed on the observations having matching values for the identifiers, it would not be possible to compose the resulting VTL datasets one another (e.g. it would not be possible to calculate the population ratio between USA and CANADA).{{/footnote}}. After that, the mapping method from SDMX to VTL specified for the Dataflow DF1(1.0.0) is applied (i.e. basic, pivot …).
415 415  
416 -basic, pivot …).
413 +In the example above, for all the datasets of the kind ‘DF1(1.0.0)///INDICATORvalue//.//COUNTRYvalue//’, the dimensions INDICATOR and COUNTRY would be dropped so that the data structure of all the resulting VTL Data Sets would have the identifier TIME_PERIOD only.
417 417  
418 -In the example above, for all the datasets of the kind
419 -
420 -‘DF1(1.0.0)///INDICATORvalue//.//COUNTRYvalue//’, the dimensions INDICATOR and COUNTRY would be dropped so that the data structure of all the resulting VTL Data Sets would have the identifier TIME_PERIOD only.
421 -
422 422  It should be noted that the desired VTL Data Sets (i.e. of the kind ‘DF1(1.0.0)/// INDICATORvalue//.//COUNTRYvalue//’) can be obtained also by applying the VTL operator “**sub**” (subspace) to the Dataflow DF1(1.0.0), like in the following VTL expression:
423 423  
424 424  ‘DF1(1.0.0)/POPULATION.USA’ :=
425 -
426 426  DF1(1.0.0) [ sub INDICATOR=“POPULATION”, COUNTRY=“USA” ];
427 427  
428 428  ‘DF1(1.0.0)/POPULATION.CANADA’ :=
429 -
430 430  DF1(1.0.0) [ sub INDICATOR=“POPULATION”, COUNTRY=“CANADA” ];
431 -
432 432  … … …
433 433  
434 434  In fact the VTL operator “sub” has exactly the same behaviour. Therefore, mapping different parts of a SDMX Dataflow to different VTL Data Sets in the direction from SDMX to VTL through the ordered concatenation notation is equivalent to a proper use of the operator “**sub**” on such a Dataflow.{{footnote}}In case the ordered concatenation notation is used, the VTL Transformation described above, e.g. ‘DF1(1.0)/POPULATION.USA’ := DF1(1.0) [ sub INDICATOR=“POPULATION”, COUNTRY=“USA”], is implicitly executed. In order to test the overall compliance of the VTL program to the VTL consistency rules, it has to be considered as part of the VTL program even if it is not explicitly coded.{{/footnote}}
... ... @@ -442,7 +442,6 @@
442 442  This is equivalent to the application of the VTL “sub” operator only to the identifier //INDICATOR//:
443 443  
444 444  ‘DF1(1.0.0)/POPULATION.’ :=
445 -
446 446  DF1(1.0.0) [ sub INDICATOR=“POPULATION” ];
447 447  
448 448  Therefore the VTL Data Set ‘DF1(1.0.0)/POPULATION.’ would have the identifiers COUNTRY and TIME_PERIOD.
... ... @@ -473,11 +473,8 @@
473 473  ‘DF2(1.0.0)/GDPPERCAPITA.USA’ <- expression11; ‘DF2(1.0.0)/GDPPERCAPITA.CANADA’ <- expression12;
474 474  
475 475  … … …
476 -
477 477  ‘DF2(1.0.0)/POPGROWTH.USA’ <- expression21;
478 -
479 479  ‘DF2(1.0.0)/POPGROWTH.CANADA’ <- expression22;
480 -
481 481  … … …
482 482  
483 483  As said, it is assumed that these VTL derived Data Sets have the TIME_PERIOD as the only identifier. In the mapping from VTL to SMDX, the Dimensions INDICATOR and COUNTRY are added to the VTL data structure on order to obtain the SDMX one, with the following values respectively:
... ... @@ -485,13 +485,9 @@
485 485  VTL dataset INDICATOR value COUNTRY value
486 486  
487 487  ‘DF2(1.0.0)/GDPPERCAPITA.USA’ GDPPERCAPITA USA
488 -
489 489  ‘DF2(1.0.0)/GDPPERCAPITA.CANADA’ GDPPERCAPITA CANADA … … …
490 -
491 491  ‘DF2(1.0.0)/POPGROWTH.USA’ POPGROWTH USA
492 -
493 493  ‘DF2(1.0.0)/POPGROWTH.CANADA’ POPGROWTH CANADA
494 -
495 495  … … …
496 496  
497 497  It should be noted that the application of this many-to-one mapping from VTL to SDMX is equivalent to an appropriate sequence of VTL Transformations. These use the VTL operator “calc” to add the proper VTL identifiers (in the example, INDICATOR and COUNTRY) and to assign to them the proper values and the operator “union” in order to obtain the final VTL dataset (in the example DF2(1.0.0)), that can be mapped oneto-one to the homonymous SDMX Dataflow. Following the same example, these VTL Transformations would be: