Changes for page 13 Structure Mapping

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

From version 14.1
edited by Helena
on 2025/05/17 00:47
Change comment: There is no comment for this version
To version 19.1
edited by Artur
on 2025/05/22 14:46
Change comment: There is no comment for this version

Summary

Details

Page properties
Parent
... ... @@ -1,0 +1,1 @@
1 +Methodology.SDMX 3\.0 Standards\. Section 6\. Technical notes.WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.helena
1 +xwiki:XWiki.arturkryazhev
Tags
... ... @@ -1,0 +1,1 @@
1 +Adjustment|Age|Attribute|Code|Component|Data set|Data structure definition|Dimension|Observation value|Representation|Series key|Statistical data and metadata exchange|Time format|Time period|Validation and transformation language
Content
... ... @@ -8,7 +8,7 @@
8 8  
9 9  Structure mapping does not alter the [[observation values>>doc:xwiki:Glossary.Observation value.WebHome]] and is not intended to perform any aggregations or calculations.
10 10  
11 -An input series (% style="color:#2ecc71" %)maps(%%) to:
11 +An input series (% style="color:#e74c3c" %)maps(%%) to:
12 12  
13 13  1. Exactly one output series; or
14 14  1. Multiple output series with different [[Series Keys>>doc:xwiki:Glossary.Series key.WebHome]], but the same [[observation values>>doc:xwiki: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:xwiki: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:xwiki:Glossary.Code.WebHome]] are (% style="color:#2ecc71" %)mapped(%%) to their ISO 3character equivalent.
28 +In the example below, ISO 2-character country [[codes>>doc:xwiki:Glossary.Code.WebHome]] are (% style="color:#e74c3c" %)mapped(%%) to their ISO 3character equivalent.
29 29  
30 30  (% style="width:666.294px" %)
31 31  |(% style="width:217px" %)**Country**|(% style="width:251px" %)**Alpha-2 code**|(% style="width:195px" %)**Alpha-3 code**
... ... @@ -36,7 +36,7 @@
36 36  |(% style="width:217px" %)Andorra|(% style="width:251px" %)AD|(% style="width:195px" %)AND
37 37  |(% style="width:217px" %)etc…|(% style="width:251px" %) |(% style="width:195px" %)
38 38  
39 -Different source values can also (% style="color:#2ecc71" %)map(%%) to the same target value, for example when deriving regions from country [[codes>>doc:xwiki:Glossary.Code.WebHome]].
39 +Different source values can also (% style="color:#e74c3c" %)map(%%) to the same target value, for example when deriving regions from country [[codes>>doc:xwiki:Glossary.Code.WebHome]].
40 40  
41 41  (% style="width:674.294px" %)
42 42  |(% style="width:284px" %)**Source Component:
... ... @@ -50,7 +50,7 @@
50 50  
51 51  == 13.3 N-n structure maps ==
52 52  
53 -N-n (pronounced 'N to N') mappings describe rules where a specified combination of values in multiple source [[Components>>doc:xwiki:Glossary.Component.WebHome]] (% style="color:#2ecc71" %)map(%%) to specified values in one or more target [[Components>>doc:xwiki:Glossary.Component.WebHome]]. For example, when mapping a partial [[Series Key>>doc:xwiki:Glossary.Series key.WebHome]] from a highly multidimensional cube (like Balance of Payments) to a single 'Indicator' [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] in a target Data Structure.
53 +N-n (pronounced 'N to N') mappings describe rules where a specified combination of values in multiple source [[Components>>doc:xwiki:Glossary.Component.WebHome]] (% style="color:#e74c3c" %)map(%%) to specified values in one or more target [[Components>>doc:xwiki:Glossary.Component.WebHome]]. For example, when mapping a partial [[Series Key>>doc:xwiki:Glossary.Series key.WebHome]] from a highly multidimensional cube (like Balance of Payments) to a single 'Indicator' [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]] in a target Data Structure.
54 54  
55 55  Example:
56 56  
... ... @@ -95,9 +95,9 @@
95 95  
96 96  == 13.4 Ambiguous mapping rules ==
97 97  
98 -A structure (% style="color:#2ecc71" %)map(%%) is ambiguous if the rules result in a [[dataset>>doc:xwiki:Glossary.Data set.WebHome]] containing multiple series with the same Series Key.
98 +A structure (% style="color:#e74c3c" %)map(%%) is ambiguous if the rules result in a [[dataset>>doc:xwiki:Glossary.Data set.WebHome]] containing multiple series with the same Series Key.
99 99  
100 -A simple example (% style="color:#2ecc71" %)mapping(%%) a source [[dataset>>doc:xwiki:Glossary.Data set.WebHome]] with a single [[dimension>>doc:xwiki:Glossary.Dimension.WebHome]] to one with multiple [[dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] is shown below:
100 +A simple example (% style="color:#e74c3c" %)mapping(%%) a source [[dataset>>doc:xwiki:Glossary.Data set.WebHome]] with a single [[dimension>>doc:xwiki:Glossary.Dimension.WebHome]] to one with multiple [[dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] is shown below:
101 101  
102 102  (% style="width:819.294px" %)
103 103  |(% style="width:240px" %)**Source**|(% style="width:246px" %)**Target**|(% style="width:329px" %)**Output Series Key**
... ... @@ -124,15 +124,15 @@
124 124  
125 125  == 13.5 Representation maps ==
126 126  
127 -[[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#2ecc71" %)Maps(%%) replace the [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 Codelist (% style="color:#2ecc71" %)Maps(%%) and are used describe explicit mappings between source and target [[Component>>doc:xwiki:Glossary.Component.WebHome]] values.
127 +[[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Maps(%%) replace the [[SDMX>>doc:xwiki: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:xwiki:Glossary.Component.WebHome]] values.
128 128  
129 -The source and target of a [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#2ecc71" %)Map(%%) can reference any of the following:
129 +The source and target of a [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%) can reference any of the following:
130 130  
131 131  1. Codelist
132 132  1. Free Text (restricted by type, e.g String, Integer, Boolean)
133 133  1. Valuelist
134 134  
135 -A [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#2ecc71" %)Map(%%) mapping ISO 2-character to ISO 3-character Codelists would take the following form:
135 +A [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%) mapping ISO 2-character to ISO 3-character Codelists would take the following form:
136 136  
137 137  (% style="width:763.294px" %)
138 138  |(% style="width:252px" %)**CL_ISO_ALPHA2**|(% style="width:508px" %)**CL_ISO_ALPHA3**
... ... @@ -143,7 +143,7 @@
143 143  |(% style="width:252px" %)AD|(% style="width:508px" %)AND
144 144  |(% style="width:252px" %)etc…|(% style="width:508px" %)
145 145  
146 -A [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#2ecc71" %)Map(%%) mapping free text country names to an ISO 2-character Codelist could be similarly described:
146 +A [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%) mapping free text country names to an ISO 2-character Codelist could be similarly described:
147 147  
148 148  (% style="width:770.294px" %)
149 149  |(% style="width:247px" %)**Text**|(% style="width:520px" %)**CL_ISO_ALPHA2**
... ... @@ -157,7 +157,7 @@
157 157  
158 158  Valuelists, introduced in [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] 3.0, are equivalent to Codelists but allow the maintenance of non-[[SDMX>>doc:xwiki: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.
159 159  
160 -When used in [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#2ecc71" %)Maps(%%), Valuelists allow Non-[[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] identifiers containing characters like £, $, % to be (% style="color:#2ecc71" %)mapped(%%) to [[Code>>doc:xwiki:Glossary.Code.WebHome]] IDs, or [[Codes>>doc:xwiki:Glossary.Code.WebHome]] (% style="color:#2ecc71" %)mapped(%%) to non-[[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] identifiers.
160 +When used in [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Maps(%%), Valuelists allow Non-[[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] identifiers containing characters like £, $, % to be (% style="color:#e74c3c" %)mapped(%%) to [[Code>>doc:xwiki:Glossary.Code.WebHome]] IDs, or [[Codes>>doc:xwiki:Glossary.Code.WebHome]] (% style="color:#e74c3c" %)mapped(%%) to non-[[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] identifiers.
161 161  
162 162  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:
163 163  
... ... @@ -167,25 +167,25 @@
167 167  |(% style="width:126px" %)%|(% style="width:153px" %)En|(% style="width:498px" %)Percentage
168 168  |(% style="width:126px" %) |(% style="width:153px" %)fr|(% style="width:498px" %)Pourcentage
169 169  
170 -Other characteristics of [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#2ecc71" %)Maps(%%):
170 +Other characteristics of [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Maps(%%):
171 171  
172 -* Support the (% style="color:#2ecc71" %)mapping(%%) of multiple source [[Component>>doc:xwiki:Glossary.Component.WebHome]] values to multiple Target [[Component>>doc:xwiki:Glossary.Component.WebHome]] values as described in section 13.3 on n-to-n mappings; this covers also the case of (% style="color:#2ecc71" %)mapping(%%) an [[Attribute>>doc:xwiki:Glossary.Attribute.WebHome]] with an array [[representation>>doc:xwiki:Glossary.Representation.WebHome]] to (% style="color:#2ecc71" %)map(%%) combinations of values to a single target value;
173 -* Allow source or target mappings for an Item to be optional allowing rules such as 'A (% style="color:#2ecc71" %)maps(%%) to nothing' or 'nothing (% style="color:#2ecc71" %)maps(%%) to A'; and
174 -* Support for (% style="color:#2ecc71" %)mapping(%%) rules where regular expressions or substrings are used to match source [[Component>>doc:xwiki:Glossary.Component.WebHome]] values. Refer to section 13.6 for more on this topic.
172 +* Support the (% style="color:#e74c3c" %)mapping(%%) of multiple source [[Component>>doc:xwiki:Glossary.Component.WebHome]] values to multiple Target [[Component>>doc:xwiki: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:xwiki:Glossary.Attribute.WebHome]] with an array [[representation>>doc:xwiki:Glossary.Representation.WebHome]] to (% style="color:#e74c3c" %)map(%%) combinations of values to a single target value;
173 +* 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
174 +* Support for (% style="color:#e74c3c" %)mapping(%%) rules where regular expressions or substrings are used to match source [[Component>>doc:xwiki:Glossary.Component.WebHome]] values. Refer to section 13.6 for more on this topic.
175 175  
176 176  == 13.6 Regular expression and substring rules ==
177 177  
178 178  It is common for classifications to contain meanings within the identifier, for example the [[code>>doc:xwiki:Glossary.Code.WebHome]] Id 'XULADS' may refer to a particular seasonality because it starts with the letters XU.
179 179  
180 -With [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 each [[code>>doc:xwiki:Glossary.Code.WebHome]] that starts with XU had to be individually (% style="color:#2ecc71" %)mapped(%%) to the same seasonality, and additional mappings added when new [[Codes>>doc:xwiki: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:
180 +With [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] 2.1 each [[code>>doc:xwiki: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:xwiki: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:
181 181  
182 -//If starts with 'XU' (% style="color:#2ecc71" %)map(%%) to 'Y'//
182 +//If starts with 'XU' (% style="color:#e74c3c" %)map(%%) to 'Y'//
183 183  
184 184  These rules are described using either regular expressions, or substrings for simpler use cases.
185 185  
186 186  === 13.6.1 Regular expressions ===
187 187  
188 -Regular expression (% style="color:#2ecc71" %)mapping(%%) rules are defined in the [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#2ecc71" %)Map(%%).
188 +Regular expression (% style="color:#e74c3c" %)mapping(%%) rules are defined in the [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)Map(%%).
189 189  
190 190  Below is an example set of regular expression rules for a particular [[component>>doc:xwiki:Glossary.Component.WebHome]].
191 191  
... ... @@ -230,7 +230,7 @@
230 230  |(% style="width:191px" %)ABC_DEF_XYZ|(% style="width:154px" %)5|(% style="width:211px" %)3|(% style="width:182px" %)DEF
231 231  |(% style="width:191px" %)XULADS|(% style="width:154px" %)1|(% style="width:211px" %)2|(% style="width:182px" %)XU
232 232  
233 -Sub-strings can therefore be used for the conceptual rule //If starts with 'XU' (% style="color:#2ecc71" %)map(%%) to Y// as shown in the following example:
233 +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:
234 234  
235 235  (% style="width:740.294px" %)
236 236  |(% style="width:194px" %)**Start**|(% style="width:151px" %)**Length**|(% style="width:208px" %)**Source**|(% style="width:183px" %)**Target**
... ... @@ -238,7 +238,7 @@
238 238  
239 239  == 13.7 Mapping non-SDMX time formats to SDMX formats ==
240 240  
241 -Structure mapping allows non-[[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] compliant time values in source [[datasets>>doc:xwiki:Glossary.Data set.WebHome]] to be (% style="color:#2ecc71" %)mapped(%%) to an [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] compliant time format.
241 +Structure mapping allows non-[[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] compliant time values in source [[datasets>>doc:xwiki:Glossary.Data set.WebHome]] to be (% style="color:#e74c3c" %)mapped(%%) to an [[SDMX>>doc:xwiki:Glossary.Statistical data and metadata exchange.WebHome]] compliant time format.
242 242  
243 243  Two types of time input are defined:
244 244  
... ... @@ -262,7 +262,7 @@
262 262  There are two important points to note:
263 263  
264 264  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:xwiki:Glossary.Time period.WebHome]] is formatted.
265 -1. To support the use case of changing frequency the structure (% style="color:#2ecc71" %)map(%%) can optionally provide a start of year [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]], which defines the year start date in MM-DD format. For example: YearStart=04-01.
265 +1. To support the use case of changing frequency the structure (% style="color:#e74c3c" %)map(%%) can optionally provide a start of year [[attribute>>doc:xwiki:Glossary.Attribute.WebHome]], which defines the year start date in MM-DD format. For example: YearStart=04-01.
266 266  
267 267  === 13.7.1 Pattern based dates ===
268 268  
... ... @@ -455,7 +455,7 @@
455 455  
456 456  [[image:1747377208446-496.png]]
457 457  
458 -The bold [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] (% style="color:#2ecc71" %)map(%%) from source to target verbatim. The mapping simply specifies:
458 +The bold [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)map(%%) from source to target verbatim. The mapping simply specifies:
459 459  
460 460  FREQ => FREQ
461 461  REF_AREA=> REF_AREA
... ... @@ -463,7 +463,7 @@
463 463  
464 464  No [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] Mapping is required. The source value simply copies across unmodified.
465 465  
466 -The remaining [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] all (% style="color:#2ecc71" %)map(%%) to the Indicator [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]]. This is an example of many [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] mapping to one [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]]. In this case a [[Representation>>doc:xwiki:Glossary.Representation.WebHome]] Mapping is required, and the mapping first describes the input 'partial key' and how this (% style="color:#2ecc71" %)maps(%%) to the target indicator:
466 +The remaining [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] all (% style="color:#e74c3c" %)map(%%) to the Indicator [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]]. This is an example of many [[Dimensions>>doc:xwiki:Glossary.Dimension.WebHome]] mapping to one [[Dimension>>doc:xwiki:Glossary.Dimension.WebHome]]. In this case a [[Representation>>doc:xwiki: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:
467 467  
468 468  N:S1:S1:B:B5G => IND_ABC
469 469  
... ... @@ -475,7 +475,7 @@
475 475  
476 476  In the case where the incoming data type is not a string and not a [[code>>doc:xwiki:Glossary.Code.WebHome]] identifier i.e. the source [[Dimension>>doc:xwiki: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.
477 477  
478 -The following [[representation>>doc:xwiki:Glossary.Representation.WebHome]] mapping can be used to explicitly (% style="color:#2ecc71" %)map(%%) each [[age>>doc:xwiki:Glossary.Age.WebHome]] to an output [[code>>doc:xwiki:Glossary.Code.WebHome]].
478 +The following [[representation>>doc:xwiki:Glossary.Representation.WebHome]] mapping can be used to explicitly (% style="color:#e74c3c" %)map(%%) each [[age>>doc:xwiki:Glossary.Age.WebHome]] to an output [[code>>doc:xwiki:Glossary.Code.WebHome]].
479 479  
480 480  (((
481 481  (% style="width:669.294px" %)
... ... @@ -548,7 +548,7 @@
548 548  |(% style="width:165px" %)**Source Value**|(% style="width:133px" %)**Source Mapping**|(% style="width:191px" %)**Target Dimension**|(% style="width:264px" %)**Frequency**|(% style="width:167px" %)**Output**
549 549  |(% style="width:165px" %)1981|(% style="width:133px" %)yyyy|(% style="width:191px" %)D – End of Period|(% style="width:264px" %) |(% style="width:167px" %)1981-12-31
550 550  
551 -When the start of year is April 1^^st^^ the Structure (% style="color:#2ecc71" %)Map(%%) has YearStart=04-01:
551 +When the start of year is April 1^^st^^ the Structure (% style="color:#e74c3c" %)Map(%%) has YearStart=04-01:
552 552  
553 553  (% style="width:892.294px" %)
554 554  |(% style="width:165px" %)**Source Value**|(% style="width:133px" %)**Source Mapping**|(% style="width:191px" %)**Target Dimension**|(% style="width:264px" %)**Frequency**|(% style="width:167px" %)**Output**
SUZ.Methodology.Code.MethodologyClass[0]
index
... ... @@ -1,0 +1,1 @@
1 +13