Changes for page 13 Structure Mapping

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

From version 10.7
edited by Helena
on 2025/05/16 09:15
Change comment: There is no comment for this version
To version 10.10
edited by Helena
on 2025/05/16 09:18
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -101,32 +101,20 @@
101 101  |(% style="width:240px" %)**Source**|(% style="width:246px" %)**Target**|(% style="width:329px" %)**Output Series Key**
102 102  |(% style="width:240px" %)SERIES_CODE=XMAN_Z_21|(% style="width:246px" %)(((
103 103  Dimensions
104 -
105 105  INDICATOR=XM
106 -
107 107  FREQ=A
108 -
109 109  ADJUSTMENT=N
110 -
111 111  Attributes
112 -
113 113  UNIT_MEASURE=_Z
114 -
115 115  COMP_ORG=21
116 116  )))|(% style="width:329px" %)XM:A:N
117 117  |(% style="width:240px" %)SERIES_CODE=XMAN_Z_34|(% style="width:246px" %)(((
118 118  Dimensions
119 -
120 120  INDICATOR=XM
121 -
122 122  FREQ=A
123 -
124 124  ADJUSTMENT=N
125 -
126 126  Attributes
127 -
128 128  UNIT_MEASURE=_Z
129 -
130 130  COMP_ORG=34
131 131  )))|(% style="width:329px" %)XM:A:N
132 132  
... ... @@ -144,24 +144,26 @@
144 144  
145 145  A Representation Map mapping ISO 2-character to ISO 3-character Codelists would take the following form:
146 146  
147 -|CL_ISO_ALPHA2|CL_ISO_ALPHA3
148 -|AF|AFG
149 -|AL|ALB
150 -|DZ|DZA
151 -|AS|ASM
152 -|AD|AND
153 -|etc…|
135 +(% style="width:763.294px" %)
136 +|(% style="width:252px" %)**CL_ISO_ALPHA2**|(% style="width:508px" %)**CL_ISO_ALPHA3**
137 +|(% style="width:252px" %)AF|(% style="width:508px" %)AFG
138 +|(% style="width:252px" %)AL|(% style="width:508px" %)ALB
139 +|(% style="width:252px" %)DZ|(% style="width:508px" %)DZA
140 +|(% style="width:252px" %)AS|(% style="width:508px" %)ASM
141 +|(% style="width:252px" %)AD|(% style="width:508px" %)AND
142 +|(% style="width:252px" %)etc…|(% style="width:508px" %)
154 154  
155 155  A Representation Map mapping free text country names to an ISO 2-character Codelist could be similarly described:
156 156  
157 -|Text|CL_ISO_ALPHA2
158 -|"Germany"|DE
159 -|"France"|FR
160 -|"United Kingdom"|GB
161 -|"Great Britain"|GB
162 -|"Ireland"|IE
163 -|"Eire"|IE
164 -|etc…|
146 +(% style="width:770.294px" %)
147 +|(% style="width:247px" %)**Text**|(% style="width:520px" %)**CL_ISO_ALPHA2**
148 +|(% style="width:247px" %)"Germany"|(% style="width:520px" %)DE
149 +|(% style="width:247px" %)"France"|(% style="width:520px" %)FR
150 +|(% style="width:247px" %)"United Kingdom"|(% style="width:520px" %)GB
151 +|(% style="width:247px" %)"Great Britain"|(% style="width:520px" %)GB
152 +|(% style="width:247px" %)"Ireland"|(% style="width:520px" %)IE
153 +|(% style="width:247px" %)"Eire"|(% style="width:520px" %)IE
154 +|(% style="width:247px" %)etc…|(% style="width:520px" %)
165 165  
166 166  Valuelists, introduced in SDMX 3.0, are equivalent to Codelists but allow the maintenance of non-SDMX identifiers. Importantly, their IDs do not need to conform to IDType, but as a consequence are not Identifiable.
167 167  
... ... @@ -169,10 +169,11 @@
169 169  
170 170  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:
171 171  
172 -|Value|Locale|Name
173 -|$|en|United States Dollar
174 -|%|En|Percentage
175 -| |fr|Pourcentage
162 +(% style="width:780.294px" %)
163 +|(% style="width:126px" %)**Value**|(% style="width:153px" %)**Locale**|(% style="width:498px" %)**Name**
164 +|(% style="width:126px" %)$|(% style="width:153px" %)en|(% style="width:498px" %)United States Dollar
165 +|(% style="width:126px" %)%|(% style="width:153px" %)En|(% style="width:498px" %)Percentage
166 +|(% style="width:126px" %) |(% style="width:153px" %)fr|(% style="width:498px" %)Pourcentage
176 176  
177 177  Other characteristics of Representation Maps:
178 178  
... ... @@ -196,30 +196,31 @@
196 196  
197 197  Below is an example set of regular expression rules for a particular component.
198 198  
199 -|Regex|Description|Output
200 -|A|Rule match if input = 'A'|OUT_A
201 -|^[A-G]|Rule match if the input starts with letters A to G|OUT_B
202 -|A~|B|Rule match if input is either 'A' or 'B'|OUT_C
190 +(% style="width:708.294px" %)
191 +|(% style="width:133px" %)**Regex**|(% style="width:377px" %)**Description**|(% style="width:194px" %)**Output**
192 +|(% style="width:133px" %)A|(% style="width:377px" %)Rule match if input = 'A'|(% style="width:194px" %)OUT_A
193 +|(% style="width:133px" %)^[A-G]|(% style="width:377px" %)Rule match if the input starts with letters A to G|(% style="width:194px" %)OUT_B
194 +|(% style="width:133px" %)A~|B|(% style="width:377px" %)Rule match if input is either 'A' or 'B'|(% style="width:194px" %)OUT_C
203 203  
204 204  Like all mapping rules, the output is either a Code, a Value or free text depending on the representation of the Component in the target Data Structure Definition.
205 205  
206 206  If the regular expression contains capture groups, these can be used in the definition of the output value, by specifying \//**n** //as an output value where //**n**// is the number of the capture group starting from 1. For example
207 207  
208 -|Regex|Target output|Example Input|Example Output
209 -|(((
210 -([0-9]{4})[0-
200 +(% style="width:720.294px" %)
201 +|(% style="width:199px" %)**Regex**|(% style="width:126px" %)**Target output**|(% style="width:192px" %)**Example Input**|(% style="width:200px" %)**Example Output**
202 +|(% style="width:199px" %)(((
203 +([0-9]{4})[0-9]([0-9]{1})
204 +)))|(% style="width:126px" %)\1-Q\2|(% style="width:192px" %)200933|(% style="width:200px" %)2009-Q3
211 211  
212 -9]([0-9]{1})
213 -)))|\1-Q\2|200933|2009-Q3
214 -
215 215  As regular expression rules can be used as a general catch-all if nothing else matches, the ordering of the rules is important. Rules should be tested starting with the highest priority, moving down the list until a match is found.
216 216  
217 217  The following example shows this:
218 218  
219 -|Priority|Regex|Description|Output
220 -|1|A|Rule match if input = 'A'|OUT_A
221 -|2|B|Rule match if input = 'B'|OUT_B
222 -|3|[A-Z]|Any character A-Z|OUT_C
210 +(% style="width:725.294px" %)
211 +|(% style="width:198px" %)**Priority**|(% style="width:148px" %)**Regex**|(% style="width:212px" %)**Description**|(% style="width:164px" %)**Output**
212 +|(% style="width:198px" %)1|(% style="width:148px" %)A|(% style="width:212px" %)Rule match if input = 'A'|(% style="width:164px" %)OUT_A
213 +|(% style="width:198px" %)2|(% style="width:148px" %)B|(% style="width:212px" %)Rule match if input = 'B'|(% style="width:164px" %)OUT_B
214 +|(% style="width:198px" %)3|(% style="width:148px" %)[A-Z]|(% style="width:212px" %)Any character A-Z|(% style="width:164px" %)OUT_C
223 223  
224 224  The input 'A' matches both the first and the last rule, but the first takes precedence having the higher priority. The output is OUT_A.
225 225  
... ... @@ -231,9 +231,10 @@
231 231  
232 232  For instance:
233 233  
234 -|Input String|Start|Length|Output
235 -|ABC_DEF_XYZ|5|3|DEF
236 -|XULADS|1|2|XU
226 +(% style="width:742.294px" %)
227 +|(% style="width:191px" %)**Input String**|(% style="width:154px" %)**Start**|(% style="width:211px" %)**Length**|(% style="width:182px" %)**Output**
228 +|(% style="width:191px" %)ABC_DEF_XYZ|(% style="width:154px" %)5|(% style="width:211px" %)3|(% style="width:182px" %)DEF
229 +|(% style="width:191px" %)XULADS|(% style="width:154px" %)1|(% style="width:211px" %)2|(% style="width:182px" %)XU
237 237  
238 238  Sub-strings can therefore be used for the conceptual rule //If starts with 'XU' map to Y// as shown in the following example:
239 239