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
-
... ... @@ -52,51 +52,42 @@ 52 52 53 53 Example: 54 54 55 -|Rule|Source|Target 56 -|1|((( 55 +(% style="width:760.294px" %) 56 +|(% style="width:58px" %)**Rule**|(% style="width:384px" %)**Source**|(% style="width:313px" %)**Target** 57 +|(% style="width:58px" %)1|(% style="width:384px" %)((( 57 57 If 58 - 59 59 FREQUENCY=A; and ADJUSTMENT=N; and MATURITY=L. 60 -)))|((( 60 +)))|(% style="width:313px" %)((( 61 61 Set 62 - 63 63 INDICATOR=A_N_L 64 64 ))) 65 -|2|((( 64 +|(% style="width:58px" %)2|(% style="width:384px" %)((( 66 66 If 67 - 68 68 FREQUENCY=M; and ADJUSTMENT=S_A1; and MATURITY=TY12. 69 -)))|((( 67 +)))|(% style="width:313px" %)((( 70 70 Set 71 - 72 72 INDICATOR=MON_SAX_12 73 73 ))) 74 74 75 75 N-n rules can also set values for multiple source Components. 76 76 77 -|Rule|Source|Target 78 -|1|((( 74 +(% style="width:757.294px" %) 75 +|(% style="width:62px" %)**Rule**|(% style="width:378px" %)**Source**|(% style="width:312px" %)**Target** 76 +|(% style="width:62px" %)1|(% style="width:378px" %)((( 79 79 If 80 - 81 81 FREQUENCY=A; and ADJUSTMENT=N; and MATURITY=L. 82 -)))|((( 79 +)))|(% style="width:312px" %)((( 83 83 Set 84 - 85 -INDICATOR=A_N_L, STATUS=QXR15, 86 - 81 +INDICATOR=A_N_L, 82 +STATUS=QXR15, 87 87 NOTE="Unadjusted". 88 88 ))) 89 -|2|((( 85 +|(% style="width:62px" %)2|(% style="width:378px" %)((( 90 90 If 91 - 92 92 FREQUENCY=M; and ADJUSTMENT=S_A1; and MATURITY=TY12. 93 -)))|((( 88 +)))|(% style="width:312px" %)((( 94 94 Set 95 - 96 -INDICATOR=MON_SAX_12, 97 - 98 -STATUS=MPM12, 99 - 90 +INDICATOR=MON_SAX_12, STATUS=MPM12, 100 100 NOTE="Seasonally Adjusted" 101 101 ))) 102 102 ... ... @@ -106,37 +106,26 @@ 106 106 107 107 A simple example mapping a source dataset with a single dimension to one with multiple dimensions is shown below: 108 108 109 -|Source|Target|Output Series Key 110 -|SERIES_CODE=XMAN_Z_21|((( 100 +(% style="width:819.294px" %) 101 +|(% style="width:240px" %)**Source**|(% style="width:246px" %)**Target**|(% style="width:329px" %)**Output Series Key** 102 +|(% style="width:240px" %)SERIES_CODE=XMAN_Z_21|(% style="width:246px" %)((( 111 111 Dimensions 112 - 113 113 INDICATOR=XM 114 - 115 115 FREQ=A 116 - 117 117 ADJUSTMENT=N 118 - 119 119 Attributes 120 - 121 121 UNIT_MEASURE=_Z 122 - 123 123 COMP_ORG=21 124 -)))|XM:A:N 125 -|SERIES_CODE=XMAN_Z_34|((( 110 +)))|(% style="width:329px" %)XM:A:N 111 +|(% style="width:240px" %)SERIES_CODE=XMAN_Z_34|(% style="width:246px" %)((( 126 126 Dimensions 127 - 128 128 INDICATOR=XM 129 - 130 130 FREQ=A 131 - 132 132 ADJUSTMENT=N 133 - 134 134 Attributes 135 - 136 136 UNIT_MEASURE=_Z 137 - 138 138 COMP_ORG=34 139 -)))|XM:A:N 119 +)))|(% style="width:329px" %)XM:A:N 140 140 141 141 The above behaviour can be okay if the series XMAN_Z_21 contains observations for different periods of time then the series XMAN_Z_34. If however both series contain observations for the same point in time, the output for this mapping will be two observations with the same series key, for the same period in time. 142 142 ... ... @@ -152,24 +152,26 @@ 152 152 153 153 A Representation Map mapping ISO 2-character to ISO 3-character Codelists would take the following form: 154 154 155 -|CL_ISO_ALPHA2|CL_ISO_ALPHA3 156 -|AF|AFG 157 -|AL|ALB 158 -|DZ|DZA 159 -|AS|ASM 160 -|AD|AND 161 -|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" %) 162 162 163 163 A Representation Map mapping free text country names to an ISO 2-character Codelist could be similarly described: 164 164 165 -|Text|CL_ISO_ALPHA2 166 -|"Germany"|DE 167 -|"France"|FR 168 -|"United Kingdom"|GB 169 -|"Great Britain"|GB 170 -|"Ireland"|IE 171 -|"Eire"|IE 172 -|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" %) 173 173 174 174 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. 175 175 ... ... @@ -177,10 +177,11 @@ 177 177 178 178 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: 179 179 180 -|Value|Locale|Name 181 -|$|en|United States Dollar 182 -|%|En|Percentage 183 -| |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 184 184 185 185 Other characteristics of Representation Maps: 186 186 ... ... @@ -204,30 +204,31 @@ 204 204 205 205 Below is an example set of regular expression rules for a particular component. 206 206 207 -|Regex|Description|Output 208 -|A|Rule match if input = 'A'|OUT_A 209 -|^[A-G]|Rule match if the input starts with letters A to G|OUT_B 210 -|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 211 211 212 212 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. 213 213 214 214 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 215 215 216 -|Regex|Target output|Example Input|Example Output 217 -|((( 218 -([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 219 219 220 -9]([0-9]{1}) 221 -)))|\1-Q\2|200933|2009-Q3 222 - 223 223 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. 224 224 225 225 The following example shows this: 226 226 227 -|Priority|Regex|Description|Output 228 -|1|A|Rule match if input = 'A'|OUT_A 229 -|2|B|Rule match if input = 'B'|OUT_B 230 -|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 231 231 232 232 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. 233 233 ... ... @@ -239,9 +239,10 @@ 239 239 240 240 For instance: 241 241 242 -|Input String|Start|Length|Output 243 -|ABC_DEF_XYZ|5|3|DEF 244 -|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 245 245 246 246 Sub-strings can therefore be used for the conceptual rule //If starts with 'XU' map to Y// as shown in the following example: 247 247