Changes for page 13 Structure Mapping
Last modified by Helena on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
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