Changes for page 13 Structure Mapping

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

From version 11.4
edited by Helena
on 2025/05/16 12:54
Change comment: There is no comment for this version
To version 10.12
edited by Helena
on 2025/05/16 09:25
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -39,9 +39,7 @@
39 39  Different source values can also map to the same target value, for example when deriving regions from country codes.
40 40  
41 41  (% style="width:674.294px" %)
42 -|(% style="width:284px" %)**Source Component:
43 -REF_AREA**|(% style="width:387px" %)**Target Component:
44 -REGION**
42 +|(% style="width:284px" %)**Source Component: REF_AREA**|(% style="width:387px" %)**Target Component: REGION**
45 45  |(% style="width:284px" %)FR|(% style="width:387px" %)EUR
46 46  |(% style="width:284px" %)DE|(% style="width:387px" %)EUR
47 47  |(% style="width:284px" %)IT|(% style="width:387px" %)EUR
... ... @@ -301,37 +301,42 @@
301 301  Examples
302 302  
303 303  22/06/1981 would be described as dd/MM/YYYY, with locale en-GB
302 +
304 304  2008-mars-12 would be described as YYYY-MMM-DD, with locale fr-FR
304 +
305 305  22 July 1981 would be described as dd MMMM YYYY, with locale en-US
306 +
306 306  22 Jul 1981 would be described as dd MMM YYYY
308 +
307 307  2010 D62 would be described as YYYYDnn (day 62 of the year 2010)
308 308  
309 309  The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved):
310 310  
311 311  (% style="width:896.294px" %)
312 -|(% style="width:133px" %)**Letter**|(% style="width:414px" %)**Date or Time Component**|(% style="width:157px" %)**Presentation**|(% style="width:172px" %)**Examples**
313 -|(% style="width:133px" %)G|(% style="width:414px" %)Era designator|(% style="width:157px" %)Text|(% style="width:172px" %)AD
314 -|(% style="width:133px" %)yy|(% style="width:414px" %)Year short (upper case is Year of Week{{footnote}}yyyy represents the calendar year while YYYY represents the year of the week, which is only relevant for 53 week years{{/footnote}})|(% style="width:157px" %)Year|(% style="width:172px" %)96
315 -|(% style="width:133px" %)yyyy|(% style="width:414px" %)Year Full (upper case is Year of Week)|(% style="width:157px" %)Year|(% style="width:172px" %)1996
316 -|(% style="width:133px" %)MM|(% style="width:414px" %)Month number in year starting with 1|(% style="width:157px" %)Month|(% style="width:172px" %)07
317 -|(% style="width:133px" %)MMM|(% style="width:414px" %)Month name short|(% style="width:157px" %)Month|(% style="width:172px" %)Jul
318 -|(% style="width:133px" %)MMMM|(% style="width:414px" %)Month name full|(% style="width:157px" %)Month|(% style="width:172px" %)July
319 -|(% style="width:133px" %)ww|(% style="width:414px" %)Week in year|(% style="width:157px" %)Number|(% style="width:172px" %)27
320 -|(% style="width:133px" %)W|(% style="width:414px" %)Week in month|(% style="width:157px" %)Number|(% style="width:172px" %)2
321 -|(% style="width:133px" %)DD|(% style="width:414px" %)Day in year|(% style="width:157px" %)Number|(% style="width:172px" %)189
322 -|(% style="width:133px" %)dd|(% style="width:414px" %)Day in month|(% style="width:157px" %)Number|(% style="width:172px" %)10
323 -|(% style="width:133px" %)F|(% style="width:414px" %)Day of week in month|(% style="width:157px" %)Number|(% style="width:172px" %)2
324 -|(% style="width:133px" %)E|(% style="width:414px" %)Day name in week|(% style="width:157px" %)Text|(% style="width:172px" %)Tuesday; Tue
325 -|(% style="width:132px" %)U|(% style="width:414px" %)Day number of week (1 = Monday, ..., 7 = Sunday)|(% style="width:157px" %)Number|(% style="width:217px" %)1
326 -|(% style="width:132px" %)HH|(% style="width:414px" %)Hour in day (0-23)|(% style="width:157px" %)Number|(% style="width:217px" %)0
327 -|(% style="width:132px" %)kk|(% style="width:414px" %)Hour in day (1-24)|(% style="width:157px" %)Number|(% style="width:217px" %)24
328 -|(% style="width:132px" %)KK|(% style="width:414px" %)Hour in am/pm (0-11)|(% style="width:157px" %)Number|(% style="width:217px" %)0
329 -|(% style="width:132px" %)hh|(% style="width:414px" %)Hour in am/pm (1-12)|(% style="width:157px" %)Number|(% style="width:217px" %)12
330 -|(% style="width:132px" %)mm|(% style="width:414px" %)Minute in hour|(% style="width:157px" %)Number|(% style="width:217px" %)30
331 -|(% style="width:132px" %)ss|(% style="width:414px" %)Second in minute|(% style="width:157px" %)Number|(% style="width:217px" %)55
332 -|(% style="width:132px" %)S|(% style="width:414px" %)Millisecond|(% style="width:157px" %)Number|(% style="width:217px" %)978
333 -|(% style="width:132px" %)n|(% style="width:414px" %)Number of periods, used after a SDMX Frequency Identifier such as M, Q, D (month, quarter, day)|(% style="width:157px" %)Number|(% style="width:217px" %)12
314 +|**Letter**|(% style="width:340px" %)**Date or Time Component**|(% style="width:153px" %)**Presentation**|(% style="width:172px" %)Examples
315 +|G|(% style="width:340px" %)Era designator|(% style="width:153px" %)Text|(% style="width:172px" %)AD
316 +|yy|(% style="width:340px" %)Year short (upper case is Year of Week{{footnote}}yyyy represents the calendar year while YYYY represents the year of the week, which is only relevant for 53 week years{{/footnote}})|(% style="width:153px" %)Year|(% style="width:172px" %)96
317 +|yyyy|(% style="width:340px" %)Year Full (upper case is Year of Week)|(% style="width:153px" %)Year|(% style="width:172px" %)1996
318 +|MM|(% style="width:340px" %)Month number in year starting with 1|(% style="width:153px" %)Month|(% style="width:172px" %)07
319 +|MMM|(% style="width:340px" %)Month name short|(% style="width:153px" %)Month|(% style="width:172px" %)Jul
320 +|MMMM|(% style="width:340px" %)Month name full|(% style="width:153px" %)Month|(% style="width:172px" %)July
321 +|ww|(% style="width:340px" %)Week in year|(% style="width:153px" %)Number|(% style="width:172px" %)27
322 +|W|(% style="width:340px" %)Week in month|(% style="width:153px" %)Number|(% style="width:172px" %)2
323 +|DD|(% style="width:340px" %)Day in year|(% style="width:153px" %)Number|(% style="width:172px" %)189
324 +|dd|(% style="width:340px" %)Day in month|(% style="width:153px" %)Number|(% style="width:172px" %)10
325 +|F|(% style="width:340px" %)Day of week in month|(% style="width:153px" %)Number|(% style="width:172px" %)2
326 +|E|(% style="width:340px" %)Day name in week|(% style="width:153px" %)Text|(% style="width:172px" %)Tuesday; Tue
334 334  
328 +|U|Day number of week (1 = Monday, ..., 7 = Sunday)|Number|1
329 +|HH|Hour in day (0-23)|Number|0
330 +|kk|Hour in day (1-24)|Number|24
331 +|KK|Hour in am/pm (0-11)|Number|0
332 +|hh|Hour in am/pm (1-12)|Number|12
333 +|mm|Minute in hour|Number|30
334 +|ss|Second in minute|Number|55
335 +|S|Millisecond|[[Number>>url:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#number]][[url:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#number]]|978
336 +|n|Number of periods, used after a SDMX Frequency Identifier such as M, Q, D (month, quarter, day)|[[Number>>url:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#number]][[url:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#number]]|12
337 +
335 335  The model is illustrated below:
336 336  
337 337  [[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_295af259.jpg||height="265" width="477"]]
... ... @@ -352,16 +352,17 @@
352 352  * microsecond
353 353  * nanosecond
354 354  
355 -(% style="width:573.294px" %)
356 -|(% style="width:276px" %)**Numerical datetime systems**|(% style="width:117px" %)**Base**|(% style="width:177px" %)**Period**
357 -|(% style="width:276px" %)(((
358 +|Numerical datetime systems|Base|Period
359 +|(((
358 358  Epoch Time (UNIX)
361 +
359 359  Milliseconds since 01 Jan 1970
360 -)))|(% style="width:117px" %)1970|(% style="width:177px" %)millisecond
361 -|(% style="width:276px" %)(((
363 +)))|1970|millisecond
364 +|(((
362 362  Windows System Time
366 +
363 363  Milliseconds since 01 Jan 1601
364 -)))|(% style="width:117px" %)1601|(% style="width:177px" %)millisecond
368 +)))|1601|millisecond
365 365  
366 366  The example above illustrates numerical based datetime mapping rules for two commonly used time standards.
367 367  
... ... @@ -383,34 +383,41 @@
383 383  
384 384  The main use case is setting the value of Observation Attributes in the target dataset.
385 385  
386 -(% style="width:786.294px" %)
387 -|(% style="width:92px" %)**Rule**|(% style="width:377px" %)**Source**|(% style="width:315px" %)**Target**
388 -|(% style="width:92px" %)1|(% style="width:377px" %)(((
390 +|Rule|Source|Target
391 +|1|(((
389 389  If
393 +
390 390  INDICATOR=XULADS; and TIME_PERIOD=2007.
391 -)))|(% style="width:315px" %)(((
395 +)))|(((
392 392  Set
397 +
393 393  OBS_CONF=F
394 394  )))
395 -|(% style="width:92px" %)2|(% style="width:377px" %)(((
400 +|2|(((
396 396  If
402 +
397 397  INDICATOR=XULADS; and TIME_PERIOD=2008.
398 -)))|(% style="width:315px" %)(((
404 +)))|(((
399 399  Set
406 +
400 400  OBS_CONF=F
401 401  )))
402 -|(% style="width:92px" %)3|(% style="width:377px" %)(((
409 +|3|(((
403 403  If
411 +
404 404  INDICATOR=XULADS; and TIME_PERIOD=2009.
405 -)))|(% style="width:315px" %)(((
413 +)))|(((
406 406  Set
415 +
407 407  OBS_CONF=F
408 408  )))
409 -|(% style="width:92px" %)4|(% style="width:377px" %)(((
418 +|4|(((
410 410  If
420 +
411 411  INDICATOR=XULADS; and TIME_PERIOD=2010.
412 -)))|(% style="width:315px" %)(((
422 +)))|(((
413 413  Set
424 +
414 414  OBS_CONF=**C**
415 415  )))
416 416  
... ... @@ -424,22 +424,27 @@
424 424  
425 425  By specifying validity periods, the example from Section 13.8 can be re-written using two rules as follows:
426 426  
427 -(% style="width:808.294px" %)
428 -|(% style="width:93px" %)**Rule**|(% style="width:385px" %)**Source**|(% style="width:328px" %)**Target**
429 -|(% style="width:93px" %)1|(% style="width:385px" %)(((
438 +|Rule|Source|Target
439 +|1|(((
430 430  If
441 +
431 431  INDICATOR=XULADS.
443 +
432 432  Validity Period start period=2007 end period=2009
433 -)))|(% style="width:328px" %)(((
445 +)))|(((
434 434  Set
447 +
435 435  OBS_CONF=F
436 436  )))
437 -|(% style="width:93px" %)2|(% style="width:385px" %)(((
450 +|2|(((
438 438  If
452 +
439 439  INDICATOR=XULADS.
454 +
440 440  Validity Period start period=2010
441 -)))|(% style="width:328px" %)(((
456 +)))|(((
442 442  Set
458 +
443 443  OBS_CONF=F** **
444 444  )))
445 445  
... ... @@ -451,12 +451,37 @@
451 451  
452 452  === 13.10.1 Many to one mapping (N-1) ===
453 453  
454 -[[image:1747377208446-496.png]]
470 +|Source|Map To
471 +|(((
472 +**FREQ**="A"
455 455  
474 +ADJUSTMENT="N"
475 +
476 +**REF_AREA**="PL"
477 +
478 +**COUNTERPART_AREA**="W0"
479 +
480 +REF_SECTOR="S1"
481 +
482 +COUNTERPART_SECTOR="S1" ACCOUNTING_ENTRY="B"
483 +
484 +STO="B5G"
485 +)))|(((
486 +FREQ="A"
487 +
488 +REF_AREA="PL"
489 +
490 +COUNTERPART_AREA="W0"
491 +
492 +INDICATOR="IND_ABC"
493 +)))
494 +
456 456  The bold Dimensions map from source to target verbatim. The mapping simply specifies:
457 457  
458 458  FREQ => FREQ
498 +
459 459  REF_AREA=> REF_AREA
500 +
460 460  COUNTERPART_AREA=> COUNTERPART _AREA
461 461  
462 462  No Representation Mapping is required. The source value simply copies across unmodified.
... ... @@ -475,45 +475,49 @@
475 475  
476 476  The following representation mapping can be used to explicitly map each age to an output code.
477 477  
519 +:
520 +
478 478  (((
479 -(% style="width:669.294px" %)
480 -|(% style="width:218px" %)**Source Input Free Text**|(% style="width:448px" %)**Desired Output Code Id**
481 -|(% style="width:218px" %)0|(% style="width:448px" %)A
482 -|(% style="width:218px" %)1|(% style="width:448px" %)A
483 -|(% style="width:218px" %)2|(% style="width:448px" %)A
484 -|(% style="width:218px" %)3|(% style="width:448px" %)B
485 -|(% style="width:218px" %)4|(% style="width:448px" %)B
522 +|Source Input Free Text|Desired Output Code Id
523 +|0|A
524 +|1|A
525 +|2|A
526 +|3|B
527 +|4|B
486 486  )))
487 487  
488 -If this mapping takes advantage of regular expressions it can be expressed in two rules:
530 +If this mapping takes advantage of regular expressions it can be expressed in two 3464 rules:
489 489  
490 -(((
491 -(% style="width:675.294px" %)
492 -|(% style="width:219px" %)(((
493 -**Regular Expression**
494 -)))|(% style="width:453px" %)**Desired Output**
495 -|(% style="width:219px" %)[0-2]|(% style="width:453px" %)A
496 -|(% style="width:219px" %)[3-4]|(% style="width:453px" %)B
532 +[[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_8c1afe2b.gif||alt="Shape10" height="1" width="302"]]
497 497  
498 -(% style="color:inherit; font-family:inherit; font-size:max(21px, min(23px, 17.4444px + 0.462963vw))" %)13.10.3 Observation Attributes for Time Period
534 +__Regular Expression __Desired Output
535 +
536 +:
537 +
538 +(((
539 +|[0-2]|A
540 +|[3-4]|B
499 499  )))
500 500  
543 +=== 13.10.3 Observation Attributes for Time Period ===
544 +
501 501  This use case is where a specific observation for a specific time period has an attribute 3468 value.
502 502  
547 +:
548 +
503 503  (((
504 -(% style="width:689.294px" %)
505 -|(% style="width:220px" %)**Input INDICATOR**|(% style="width:223px" %)**Input TIME_PERIOD**|(% style="width:243px" %)**Output OBS_CONF**
506 -|(% style="width:220px" %)XULADS|(% style="width:223px" %)2008|(% style="width:243px" %)C
507 -|(% style="width:220px" %)XULADS|(% style="width:223px" %)2009|(% style="width:243px" %)C
508 -|(% style="width:220px" %)XULADS|(% style="width:223px" %)2010|(% style="width:243px" %)C
550 +|Input INDICATOR|Input TIME_PERIOD|Output OBS_CONF
551 +|XULADS|2008|C
552 +|XULADS|2009|C
553 +|XULADS|2010|C
509 509  )))
510 510  
511 -Or using a validity period on the Representation Mapping:
556 +__Or using a validity period on the Representation Mapping__:
512 512  
513 -(% style="width:693.294px" %)
514 -|(% style="width:221px" %)**Input INDICATOR**|(% style="width:222px" %)**Valid From/ Valid To**|(% style="width:246px" %)**Output OBS_CONF**
515 -|(% style="width:221px" %)XULADS|(% style="width:222px" %)2008/2010|(% style="width:246px" %)C
558 +[[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_6dbf7f.gif||alt="Shape11" height="36" width="555"]] Input INDICATOR Valid From/ Valid To Output OBS_CONF
516 516  
560 +XULADS 2008/2010 C
561 +
517 517  === 13.10.4 Time mapping ===
518 518  
519 519  This use case is to create a time period from an input that does not respect SDMXTime Formats.
... ... @@ -520,15 +520,20 @@
520 520  
521 521  The Component Mapping from SYS_TIME to TIME_PERIOD specifies itself as a time mapping with the following details:
522 522  
568 +:
569 +
523 523  (((
524 -(% style="width:763.294px" %)
525 -|(% style="width:163px" %)**Source Value**|(% style="width:219px" %)**Source Mapping**|(% style="width:198px" %)**Target Frequency**|(% style="width:180px" %)**Output**
526 -|(% style="width:163px" %)18/07/1981|(% style="width:219px" %)dd/MM/yyyy|(% style="width:198px" %)A|(% style="width:180px" %)1981
571 +|Source Value|Source Mapping|Target Frequency|Output
572 +|18/07/1981|dd/MM/yyyy|A|1981
527 527  )))
528 528  
529 529  When the target frequency is based on another target Dimension value, in this example __the value of the FREQ Dimension in the tar__get DSD.
530 530  
577 +[[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_dbe68698.gif||alt="Shape12" height="1" width="273"]]
531 531  
579 +:
580 +::
581 +
532 532  (((
533 533  |Source Value|Source Mapping|Target Frequency Output Dimension
534 534  
... ... @@ -552,7 +552,7 @@
552 552  
553 553  Dimension
554 554  
555 - 1981 yyyy D – End of Period 1981-12-31
605 +[[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_4ec4bb31.gif||alt="Shape13" height="173" width="555"]] 1981 yyyy D – End of Period 1981-12-31
556 556  
557 557  When the start of year is April 1^^st^^ the Structure Map has YearStart=04-01:
558 558  
1747377208446-496.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -28.0 KB
Content