Changes for page 13 Structure Mapping

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

From version 9.1
edited by Helena
on 2025/06/16 15:32
Change comment: There is no comment for this version
To version 9.2
edited by Elena
on 2025/06/18 19:05
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.helena
1 +xwiki:XWiki.elenasemanticproorg
Content
... ... @@ -8,7 +8,7 @@
8 8  
9 9  Structure mapping does not alter the [[observation values>>doc:sdmx:Glossary.Observation value.WebHome]] and is not intended to perform any aggregations or calculations.
10 10  
11 -An input series (% style="color:#e74c3c" %)maps(%%) to:
11 +An input series maps to:
12 12  
13 13  1. Exactly one output series; or
14 14  1. Multiple output series with different [[Series Keys>>doc:sdmx:Glossary.Series key.WebHome]], but the same [[observation values>>doc:sdmx:Glossary.Observation value.WebHome]]; or
... ... @@ -25,7 +25,7 @@
25 25  
26 26  1-1 (pronounced 'one to one') mappings support the simple use case where the value of a [[Component>>doc:sdmx:Glossary.Component.WebHome]] in the source structure is translated to a different value in the target, usually where different classification schemes are used for the same Concept.
27 27  
28 -In the example below, ISO 2-character country [[codes>>doc:sdmx:Glossary.Code.WebHome]] are (% style="color:#e74c3c" %)mapped(%%) to their ISO 3character equivalent.
28 +In the example below, ISO 2-character country [[codes>>doc:sdmx:Glossary.Code.WebHome]] are mapped to their ISO 3character equivalent.
29 29  
30 30  (% style="width:585.294px" %)
31 31  |(% style="width:173px" %)**Country**|(% style="width:180px" %)**Alpha-2 code**|(% style="width:229px" %)**Alpha-3 code**
... ... @@ -36,7 +36,7 @@
36 36  |(% style="width:173px" %)Andorra|(% style="width:180px" %)AD|(% style="width:229px" %)AND
37 37  |(% style="width:173px" %)etc…|(% style="width:180px" %) |(% style="width:229px" %)
38 38  
39 -Different source values can also (% style="color:#e74c3c" %)map(%%) to the same target value, for example when deriving regions from country [[codes>>doc:sdmx:Glossary.Code.WebHome]].
39 +Different source values can also map to the same target value, for example when deriving regions from country [[codes>>doc:sdmx:Glossary.Code.WebHome]].
40 40  
41 41  (% style="width:490.294px" %)
42 42  |(% style="width:260px" %)Source Component: REF_AREA|(% style="width:227px" %)Target Component: REGION
... ... @@ -48,7 +48,7 @@
48 48  
49 49  == 13.3 N-n structure maps ==
50 50  
51 -N-n (pronounced 'N to N') mappings describe rules where a specified combination of values in multiple source [[Components>>doc:sdmx:Glossary.Component.WebHome]] (% style="color:#e74c3c" %)map(%%) to specified values in one or more target [[Components>>doc:sdmx:Glossary.Component.WebHome]]. For example, when mapping a partial [[Series Key>>doc:sdmx:Glossary.Series key.WebHome]] from a highly multidimensional cube (like Balance of Payments) to a single 'Indicator' [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] in a target Data Structure.
51 +N-n (pronounced 'N to N') mappings describe rules where a specified combination of values in multiple source [[Components>>doc:sdmx:Glossary.Component.WebHome]] map to specified values in one or more target [[Components>>doc:sdmx:Glossary.Component.WebHome]]. For example, when mapping a partial [[Series Key>>doc:sdmx:Glossary.Series key.WebHome]] from a highly multidimensional cube (like Balance of Payments) to a single 'Indicator' [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] in a target Data Structure.
52 52  
53 53  Example:
54 54  
... ... @@ -130,15 +130,15 @@
130 130  
131 131  == 13.5 Representation maps ==
132 132  
133 -[[Representation>>doc:sdmx:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Maps(%%) replace the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 Codelist (% style="color:#e74c3c" %)Maps(%%) and are used describe explicit mappings between source and target [[Component>>doc:sdmx:Glossary.Component.WebHome]] values.
133 +[[Representation>>doc:sdmx:Glossary.Representation.WebHome]] Maps replace the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 Codelist Maps and are used describe explicit mappings between source and target [[Component>>doc:sdmx:Glossary.Component.WebHome]] values.
134 134  
135 -The source and target of a [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%) can reference any of the following:
135 +The source and target of a [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] Map can reference any of the following:
136 136  
137 137  1. Codelist
138 138  1. Free Text (restricted by type, e.g String, Integer, Boolean)
139 139  1. Valuelist
140 140  
141 -A [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%) mapping ISO 2-character to ISO 3-character Codelists would take the following form:
141 +A [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] Map mapping ISO 2-character to ISO 3-character Codelists would take the following form:
142 142  
143 143  (% style="width:356.294px" %)
144 144  |(% style="width:167px" %)CL_ISO_ALPHA2|(% style="width:186px" %)CL_ISO_ALPHA3
... ... @@ -149,7 +149,7 @@
149 149  |(% style="width:167px" %)AD|(% style="width:186px" %)AND
150 150  |(% style="width:167px" %)etc…|(% style="width:186px" %)
151 151  
152 -A [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%) mapping free text country names to an ISO 2-character Codelist could be similarly described:
152 +A [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] Map mapping free text country names to an ISO 2-character Codelist could be similarly described:
153 153  
154 154  (% style="width:364.294px" %)
155 155  |(% style="width:169px" %)Text|(% style="width:192px" %)CL_ISO_ALPHA2
... ... @@ -163,7 +163,7 @@
163 163  
164 164  Valuelists, introduced in [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] 3.0, are equivalent to Codelists but allow the maintenance of non-[[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] identifiers. Importantly, their IDs do not need to conform to IDType, but as a consequence are not Identifiable.
165 165  
166 -When used in [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Maps(%%), Valuelists allow Non-[[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] identifiers containing characters like £, $, % to be (% style="color:#e74c3c" %)mapped(%%) to [[Code>>doc:sdmx:Glossary.Code.WebHome]] IDs, or [[Codes>>doc:sdmx:Glossary.Code.WebHome]] (% style="color:#e74c3c" %)mapped(%%) to non-[[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] identifiers.
166 +When used in [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] Maps, Valuelists allow Non-[[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] identifiers containing characters like £, $, % to be mapped to [[Code>>doc:sdmx:Glossary.Code.WebHome]] IDs, or [[Codes>>doc:sdmx:Glossary.Code.WebHome]] mapped to non-[[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] identifiers.
167 167  
168 168  In common with Codelists, each item in a Valuelist has a multilingual name giving it a human-readable label and an optional description. For example:
169 169  
... ... @@ -173,17 +173,17 @@
173 173  |(% style="width:126px" %)%|(% style="width:133px" %)En|(% style="width:173px" %)Percentage
174 174  |(% style="width:126px" %) |(% style="width:133px" %)fr|(% style="width:173px" %)Pourcentage
175 175  
176 -Other characteristics of [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Maps(%%):
176 +Other characteristics of [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] Maps:
177 177  
178 -* Support the (% style="color:#e74c3c" %)mapping(%%) of multiple source [[Component>>doc:sdmx:Glossary.Component.WebHome]] values to multiple Target [[Component>>doc:sdmx:Glossary.Component.WebHome]] values as described in section 13.3 on n-to-n mappings; this covers also the case of (% style="color:#e74c3c" %)mapping(%%) an [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] with an array [[representation>>doc:sdmx:Glossary.Representation.WebHome]] to (% style="color:#e74c3c" %)map(%%) combinations of values to a single target value;
179 -* Allow source or target mappings for an Item to be optional allowing rules such as 'A (% style="color:#e74c3c" %)maps(%%) to nothing' or 'nothing (% style="color:#e74c3c" %)maps(%%) to A'; and
180 -* Support for (% style="color:#e74c3c" %)mapping(%%) rules where regular expressions or substrings are used to match source [[Component>>doc:sdmx:Glossary.Component.WebHome]] values. Refer to section 13.6 for more on this topic.
178 +* Support the mapping of multiple source [[Component>>doc:sdmx:Glossary.Component.WebHome]] values to multiple Target [[Component>>doc:sdmx:Glossary.Component.WebHome]] values as described in section 13.3 on n-to-n mappings; this covers also the case of mapping an [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] with an array [[representation>>doc:sdmx:Glossary.Representation.WebHome]] to map combinations of values to a single target value;
179 +* Allow source or target mappings for an Item to be optional allowing rules such as 'A maps to nothing' or 'nothing maps to A'; and
180 +* Support for mapping rules where regular expressions or substrings are used to match source [[Component>>doc:sdmx:Glossary.Component.WebHome]] values. Refer to section 13.6 for more on this topic.
181 181  
182 182  == 13.6 Regular expression and substring rules ==
183 183  
184 184  It is common for classifications to contain meanings within the identifier, for example the [[code>>doc:sdmx:Glossary.Code.WebHome]] Id 'XULADS' may refer to a particular seasonality because it starts with the letters XU.
185 185  
186 -With [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 each [[code>>doc:sdmx:Glossary.Code.WebHome]] that starts with XU had to be individually (% style="color:#e74c3c" %)mapped(%%) to the same seasonality, and additional mappings added when new [[Codes>>doc:sdmx:Glossary.Code.WebHome]] were added to the Codelists. This led to many hundreds or thousands of mappings which can be more efficiently summarised in a single conceptual rule:
186 +With [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 each [[code>>doc:sdmx:Glossary.Code.WebHome]] that starts with XU had to be individually mapped to the same seasonality, and additional mappings added when new [[Codes>>doc:sdmx:Glossary.Code.WebHome]] were added to the Codelists. This led to many hundreds or thousands of mappings which can be more efficiently summarised in a single conceptual rule:
187 187  
188 188  //If starts with 'XU' map to 'Y'//
189 189  
... ... @@ -236,7 +236,7 @@
236 236  |(% style="width:169px" %)ABC_DEF_XYZ|(% style="width:147px" %)5|(% style="width:133px" %)3|(% style="width:171px" %)DEF
237 237  |(% style="width:169px" %)XULADS|(% style="width:147px" %)1|(% style="width:133px" %)2|(% style="width:171px" %)XU
238 238  
239 -Sub-strings can therefore be used for the conceptual rule //If starts with 'XU' (% style="color:#e74c3c" %)map(%%) to Y// as shown in the following example:
239 +Sub-strings can therefore be used for the conceptual rule //If starts with 'XU' map to Y// as shown in the following example:
240 240  
241 241  (% style="width:628.294px" %)
242 242  |(% style="width:163px" %)Start|(% style="width:158px" %)Length|(% style="width:128px" %)Source|(% style="width:176px" %)Target
... ... @@ -244,7 +244,7 @@
244 244  
245 245  == 13.7 Mapping non-SDMX time formats to SDMX formats ==
246 246  
247 -Structure mapping allows non-[[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] compliant time values in source [[datasets>>doc:sdmx:Glossary.Data set.WebHome]] to be (% style="color:#e74c3c" %)mapped(%%) to an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] compliant time format.
247 +Structure mapping allows non-[[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] compliant time values in source [[datasets>>doc:sdmx:Glossary.Data set.WebHome]] to be mapped to an [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] compliant time format.
248 248  
249 249  Two types of time input are defined:
250 250  
... ... @@ -272,7 +272,7 @@
272 272  There are two important points to note:
273 273  
274 274  1. The output frequency determines the output date format, but the default output can be redefined using a Frequency Format mapping to force explicit rules on how the output [[time period>>doc:sdmx:Glossary.Time period.WebHome]] is formatted.
275 -1. To support the use case of changing frequency the structure (% style="color:#e74c3c" %)map(%%) can optionally provide a start of year [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], which defines the year start date in MM-DD format. For example: YearStart=04-01.
275 +1. To support the use case of changing frequency the structure map can optionally provide a start of year [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]], which defines the year start date in MM-DD format. For example: YearStart=04-01.
276 276  
277 277  === 13.7.1 Pattern based dates ===
278 278  
... ... @@ -478,7 +478,7 @@
478 478  
479 479  )))
480 480  
481 -The bold [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)map(%%) from source to target verbatim. The mapping simply specifies:
481 +The bold [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] map from source to target verbatim. The mapping simply specifies:
482 482  
483 483  > FREQ => FREQ
484 484  > REF_AREA=> REF_AREA
... ... @@ -486,19 +486,19 @@
486 486  
487 487  No [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] Mapping is required. The source value simply copies across unmodified.
488 488  
489 -The remaining [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] all (% style="color:#e74c3c" %)map(%%) to the Indicator [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. This is an example of many [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] mapping to one [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. In this case a [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] Mapping is required, and the mapping first describes the input 'partial key' and how this (% style="color:#e74c3c" %)maps(%%) to the target indicator:
489 +The remaining [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] all map to the Indicator [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. This is an example of many [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] mapping to one [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. In this case a [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] Mapping is required, and the mapping first describes the input 'partial key' and how this maps to the target indicator:
490 490  
491 491  > N:S1:S1:B:B5G => IND_ABC
492 492  
493 -Where the key sequence is based on the order specified in the (% style="color:#e74c3c" %)mapping(%%) (i.e [[ADJUSTMENT>>doc:sdmx:Glossary.Adjustment.WebHome]], REF_SECTOR, etc will result in the first value N being taken from [[ADJUSTMENT>>doc:sdmx:Glossary.Adjustment.WebHome]] as this was the first item in the source [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] list.
493 +Where the key sequence is based on the order specified in the mapping (i.e [[ADJUSTMENT>>doc:sdmx:Glossary.Adjustment.WebHome]], REF_SECTOR, etc will result in the first value N being taken from [[ADJUSTMENT>>doc:sdmx:Glossary.Adjustment.WebHome]] as this was the first item in the source [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] list.
494 494  
495 -**Note**: The key order is NOT based on the [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] order of the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]], as the (% style="color:#e74c3c" %)mapping(%%) needs to be resilient to the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] changing.
495 +**Note**: The key order is NOT based on the [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] order of the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]], as the mapping needs to be resilient to the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] changing.
496 496  
497 497  === 13.10.2 Mapping other data types to Code Id ===
498 498  
499 499  In the case where the incoming data type is not a string and not a [[code>>doc:sdmx:Glossary.Code.WebHome]] identifier i.e. the source [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] is of type Integer and the target is Codelist. This is supported by the RepresentationMap. The RepresentationMap source can reference a Codelist, Valuelist, or be free text, the free text can include regular expressions.
500 500  
501 -The following [[representation>>doc:sdmx:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)mapping(%%) can be used to explicitly (% style="color:#e74c3c" %)map(%%) each [[age>>doc:sdmx:Glossary.Age.WebHome]] to an output [[code>>doc:sdmx:Glossary.Code.WebHome]].
501 +The following [[representation>>doc:sdmx:Glossary.Representation.WebHome]] mapping can be used to explicitly map each [[age>>doc:sdmx:Glossary.Age.WebHome]] to an output [[code>>doc:sdmx:Glossary.Code.WebHome]].
502 502  
503 503  (% style="width:402.294px" %)
504 504  |(% style="width:197px" %)**Source Input Free Text**|(% style="width:204px" %)**Desired Output Code Id**
... ... @@ -559,7 +559,7 @@
559 559  |(% style="width:131px" %) Source Value|(% style="width:143px" %)Source Mapping|(% style="width:149px" %)Target Dimension|(% style="width:114px" %)Frequency|(% style="width:126px" %)Output
560 560  |(% style="width:131px" %)1981|(% style="width:143px" %)yyyy|(% style="width:149px" %)D – End of Period|(% style="width:114px" %) |(% style="width:126px" %)1981-12-31
561 561  
562 -When the start of year is April 1^^st^^ the Structure (% style="color:#e74c3c" %)Map(%%) has YearStart=04-01:
562 +When the start of year is April 1^^st^^ the Structure Map has YearStart=04-01:
563 563  
564 564  (% style="width:666.294px" %)
565 565  |(% style="width:131px" %) Source Value|(% style="width:143px" %)Source Mapping|(% style="width:149px" %)Target Dimension|(% style="width:114px" %)Frequency|(% style="width:126px" %)Output