Changes for page 10 Validation and Transformation Language (VTL)
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -97,15 +97,12 @@ 97 97 * If the **agency-id** is not specified, it is assumed by default equal to the agency-id of the TransformationScheme, UserDefinedOperatorScheme or RulesetScheme from which the [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] is invoked. For example, the agency-id can be omitted if it is the same as the invoking TransformationScheme and cannot be omitted if the [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] comes from another agency.{{footnote}}If the Agency is composite (for example AgencyA.Dept1.Unit2), the agency is considered different even if only part of the composite name is different (for example AgencyA.Dept1.Unit3 is a different Agency than the previous one). Moreover the agency-id cannot be omitted in part (i.e., if a TransformationScheme owned by AgencyA.Dept1.Unit2 references an artefact coming from AgencyA.Dept1.Unit3, the specification of the agency-id becomes mandatory and must be complete, without omitting the possibly equal parts like AgencyA.Dept1){{/footnote}}(% style="font-size:12px" %) (%%)Take also into account that, according to the [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] consistency rules, the agency of the result of a Transformation must be the same as its TransformationScheme, therefore the agency-id can be omitted for all the results (left part of Transformation statements). 98 98 * As for the **maintainedobject-id**, this is essential in some cases while in other cases it can be omitted: o if the referenced [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] is a [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]], which is a maintainable class, the maintainedobject-id is the [[dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]-id and obviously cannot be omitted; 99 99 ** if the referenced [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] is a [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]], MeasureDimension, TimeDimension, PrimaryMeasure, DataAttribute, which are not maintainable and belong to the DataStructure maintainable class, the maintainedobject-id is the dataStructure-id and can be omitted, given that these [[components>>doc:sdmx:Glossary.Component.WebHome]] are always invoked within the invocation of a [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]], whose dataStructure-id can be deduced from the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] structural definitions; 100 -** if the referenced [[artefa>>doc:sdmx:Glossary.Artefact.WebHome]] 101 -** 102 -*** ct is a (% style="color:#e74c3c" %)[[Concept>>doc:sdmx:Glossary.Concept.WebHome]](%%), which is not maintainable and belong to the ConceptScheme maintainable class,,, ,,the maintained object is the conceptScheme-id and cannot be omitted; 103 -*** if the referenced [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] is a ConceptScheme, which is a,, ,,maintainable class,,, ,,the maintained object is the conceptScheme-id and obviously cannot be omitted; 104 -*** if the referenced [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] is a [[Codelist>>doc:sdmx:Glossary.Code list.WebHome]], which is a maintainable class, the maintainedobject-id is the [[codelist>>doc:sdmx:Glossary.Code list.WebHome]]-id and obviously cannot be omitted. 105 -** 106 -*** When the maintainedobject-id is omitted, the **maintainedobject-version** is omitted too. When the maintainedobject-id is not omitted and the maintainedobject-version is omitted, the version 1.0 is assumed by default. 107 -*** As said, the **container-object-id** does not apply to the classes that can be referenced in [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] transformations, therefore is not present in their URN 108 -*** The **object-id** does not exist for the [[artefacts>>doc:sdmx:Glossary.Artefact.WebHome]] belonging to the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]], ConceptScheme and [[Codelist>>doc:sdmx:Glossary.Code list.WebHome]] classes, while it exists and cannot be omitted for the [[artefacts>>doc:sdmx:Glossary.Artefact.WebHome]] belonging to the classes [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]], MeasureDimension, TimeDimension, PrimaryMeasure, DataAttribute and [[Concept>>doc:sdmx:Glossary.Concept.WebHome]], as for them the object-id is the main identifier of the [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] 100 +** if the referenced [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] is a (% style="color:#e74c3c" %)[[Concept>>doc:sdmx:Glossary.Concept.WebHome]](%%), which is not maintainable and belong to the ConceptScheme maintainable class,,, ,,the maintained object is the conceptScheme-id and cannot be omitted; 101 +** if the referenced [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] is a ConceptScheme, which is a,, ,,maintainable class,,, ,,the maintained object is the conceptScheme-id and obviously cannot be omitted; 102 +** if the referenced [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] is a [[Codelist>>doc:sdmx:Glossary.Code list.WebHome]], which is a maintainable class, the maintainedobject-id is the [[codelist>>doc:sdmx:Glossary.Code list.WebHome]]-id and obviously cannot be omitted. 103 +* When the maintainedobject-id is omitted, the **maintainedobject-version** is omitted too. When the maintainedobject-id is not omitted and the maintainedobject-version is omitted, the version 1.0 is assumed by default. 104 +* As said, the **container-object-id** does not apply to the classes that can be referenced in [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] transformations, therefore is not present in their URN 105 +* The **object-id** does not exist for the [[artefacts>>doc:sdmx:Glossary.Artefact.WebHome]] belonging to the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]], ConceptScheme and [[Codelist>>doc:sdmx:Glossary.Code list.WebHome]] classes, while it exists and cannot be omitted for the [[artefacts>>doc:sdmx:Glossary.Artefact.WebHome]] belonging to the classes [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]], MeasureDimension, TimeDimension, PrimaryMeasure, DataAttribute and [[Concept>>doc:sdmx:Glossary.Concept.WebHome]], as for them the object-id is the main identifier of the [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] 109 109 110 110 The simplified object identifier is obtained by omitting all the first part of the URN, including the special characters, till the first part not omitted. 111 111 ... ... @@ -163,10 +163,8 @@ 163 163 164 164 === 10.2.5 References to SDMX artefacts from VTL Rulesets === 165 165 166 -The [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] Rulesets allow defining sets of reusable rules that can be applied by some 163 +The [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] Rulesets allow defining sets of reusable rules that can be applied by some [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] operators, like the ones for validation and hierarchical roll-up. A “rule” consists in a relationship between Values belonging to some Value Domains or taken by some Variables, for example: when the Country is USA then the [[Currency>>doc:sdmx:Glossary.Currency.WebHome]] is USD; (ii) the Benelux is composed by Belgium, Luxembourg, Netherlands. 167 167 168 -[[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] operators, like the ones for validation and hierarchical roll-up. A “rule” consists in a relationship between Values belonging to some Value Domains or taken by some Variables, for example: when the Country is USA then the [[Currency>>doc:sdmx:Glossary.Currency.WebHome]] is USD; (ii) the Benelux is composed by Belgium, Luxembourg, Netherlands. 169 - 170 170 The [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] Rulesets have a signature, in which the Value Domains or the Variables on which the Ruleset is defined are declared, and a body, which contains the rules. 171 171 172 172 In the signature, given the mapping between [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] and [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] better described in the following paragraphs, a reference to a [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] Value Domain becomes a reference to a [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[Codelist>>doc:sdmx:Glossary.Code list.WebHome]] or to a [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] ConceptScheme (for [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[measure>>doc:sdmx:Glossary.Measure.WebHome]] [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]]), while a reference to a [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] Represented Variable becomes a reference to a [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] (% style="color:#e74c3c" %)[[Concept>>doc:sdmx:Glossary.Concept.WebHome]](%%), assuming for it a definite representation{{footnote}}Rulesets of this kind cannot be reused when the referenced Concept has a different representation.{{/footnote}}. ... ... @@ -245,10 +245,8 @@ 245 245 * The [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] PrimaryMeasure is not mapped to [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] as well (it disappears in the [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] Data Structure); 246 246 * A [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] DataAttribute is mapped in different ways according to its AttributeRelationship: 247 247 ** If, according to the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] AttributeRelationship, the values of the DataAttribute do not depend on the values of the MeasureDimension, the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] DataAttribute becomes a [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] having the same name. This happens if the AttributeRelationship is not specified (i.e. the DataAttribute does not depend on any DimensionComponent and therefore is at [[data set>>doc:sdmx:Glossary.Data set.WebHome]] level), or if it refers to a set (or a group) of [[dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] which does not include the MeasureDimension; 248 -** Otherwise if, according to the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] AttributeRelationship, the values of the DataAttribute depend on the MeasureDimension, the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] DataAttribute is mapped to one [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for each possible [[Concept>>doc:sdmx:Glossary.Concept.WebHome]] of the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] MeasureDimension; by default, the names of the [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are obtained by concatenating the name of the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] DataAttribute and the names of the correspondent 243 +** Otherwise if, according to the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] AttributeRelationship, the values of the DataAttribute depend on the MeasureDimension, the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] DataAttribute is mapped to one [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] for each possible [[Concept>>doc:sdmx:Glossary.Concept.WebHome]] of the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] MeasureDimension; by default, the names of the [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are obtained by concatenating the name of the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] DataAttribute and the names of the correspondent [[Concept>>doc:sdmx:Glossary.Concept.WebHome]] of the MeasureDimension separated by underscore; for example, if the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] DataAttribute is named DA and the possible [[concepts>>doc:sdmx:Glossary.Concept.WebHome]] of the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] MeasureDimension are named C1, C2, …, Cn, then the corresponding [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be named DA_C1, DA_C2, …, DA_Cn (if different names are desired, they can be achieved afterwards by renaming the [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] through [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] operators). o Like in the Basic mapping, the resulting [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are considered as dependent on all the [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] identifiers (i.e. “at data point / observation level”), because [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] does not have the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] notion of [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Relationship. 249 249 250 -[[Concept>>doc:sdmx:Glossary.Concept.WebHome]] of the MeasureDimension separated by underscore; for example, if the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] DataAttribute is named DA and the possible [[concepts>>doc:sdmx:Glossary.Concept.WebHome]] of the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] MeasureDimension are named C1, C2, …, Cn, then the corresponding [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] will be named DA_C1, DA_C2, …, DA_Cn (if different names are desired, they can be achieved afterwards by renaming the [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] through [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] operators). o Like in the Basic mapping, the resulting [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] are considered as dependent on all the [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] identifiers (i.e. “at data point / observation level”), because [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] does not have the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] notion of [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] Relationship. 251 - 252 252 The summary mapping table of the “pivot” mapping from [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] to [[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] for the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] data structures that contain a MeasureDimension is the following: 253 253 254 254 (% style="width:941.294px" %)