Changes for page 13 Structure Mapping

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

From version 11.2
edited by Helena
on 2025/05/16 12:43
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
... ... @@ -313,29 +313,30 @@
313 313  The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved):
314 314  
315 315  (% style="width:896.294px" %)
316 -|(% style="width:133px" %)**Letter**|(% style="width:414px" %)**Date or Time Component**|(% style="width:157px" %)**Presentation**|(% style="width:172px" %)**Examples**
317 -|(% style="width:133px" %)G|(% style="width:414px" %)Era designator|(% style="width:157px" %)Text|(% style="width:172px" %)AD
318 -|(% 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
319 -|(% style="width:133px" %)yyyy|(% style="width:414px" %)Year Full (upper case is Year of Week)|(% style="width:157px" %)Year|(% style="width:172px" %)1996
320 -|(% style="width:133px" %)MM|(% style="width:414px" %)Month number in year starting with 1|(% style="width:157px" %)Month|(% style="width:172px" %)07
321 -|(% style="width:133px" %)MMM|(% style="width:414px" %)Month name short|(% style="width:157px" %)Month|(% style="width:172px" %)Jul
322 -|(% style="width:133px" %)MMMM|(% style="width:414px" %)Month name full|(% style="width:157px" %)Month|(% style="width:172px" %)July
323 -|(% style="width:133px" %)ww|(% style="width:414px" %)Week in year|(% style="width:157px" %)Number|(% style="width:172px" %)27
324 -|(% style="width:133px" %)W|(% style="width:414px" %)Week in month|(% style="width:157px" %)Number|(% style="width:172px" %)2
325 -|(% style="width:133px" %)DD|(% style="width:414px" %)Day in year|(% style="width:157px" %)Number|(% style="width:172px" %)189
326 -|(% style="width:133px" %)dd|(% style="width:414px" %)Day in month|(% style="width:157px" %)Number|(% style="width:172px" %)10
327 -|(% style="width:133px" %)F|(% style="width:414px" %)Day of week in month|(% style="width:157px" %)Number|(% style="width:172px" %)2
328 -|(% style="width:133px" %)E|(% style="width:414px" %)Day name in week|(% style="width:157px" %)Text|(% style="width:172px" %)Tuesday; Tue
329 -|(% style="width:132px" %)U|(% style="width:414px" %)Day number of week (1 = Monday, ..., 7 = Sunday)|(% style="width:157px" %)Number|(% style="width:217px" %)1
330 -|(% style="width:132px" %)HH|(% style="width:414px" %)Hour in day (0-23)|(% style="width:157px" %)Number|(% style="width:217px" %)0
331 -|(% style="width:132px" %)kk|(% style="width:414px" %)Hour in day (1-24)|(% style="width:157px" %)Number|(% style="width:217px" %)24
332 -|(% style="width:132px" %)KK|(% style="width:414px" %)Hour in am/pm (0-11)|(% style="width:157px" %)Number|(% style="width:217px" %)0
333 -|(% style="width:132px" %)hh|(% style="width:414px" %)Hour in am/pm (1-12)|(% style="width:157px" %)Number|(% style="width:217px" %)12
334 -|(% style="width:132px" %)mm|(% style="width:414px" %)Minute in hour|(% style="width:157px" %)Number|(% style="width:217px" %)30
335 -|(% style="width:132px" %)ss|(% style="width:414px" %)Second in minute|(% style="width:157px" %)Number|(% style="width:217px" %)55
336 -|(% style="width:132px" %)S|(% style="width:414px" %)Millisecond|(% style="width:157px" %)Number|(% style="width:217px" %)978
337 -|(% 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
338 338  
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 +
339 339  The model is illustrated below:
340 340  
341 341  [[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_295af259.jpg||height="265" width="477"]]
... ... @@ -356,16 +356,17 @@
356 356  * microsecond
357 357  * nanosecond
358 358  
359 -(% style="width:573.294px" %)
360 -|(% style="width:276px" %)**Numerical datetime systems**|(% style="width:117px" %)**Base**|(% style="width:177px" %)**Period**
361 -|(% style="width:276px" %)(((
358 +|Numerical datetime systems|Base|Period
359 +|(((
362 362  Epoch Time (UNIX)
361 +
363 363  Milliseconds since 01 Jan 1970
364 -)))|(% style="width:117px" %)1970|(% style="width:177px" %)millisecond
365 -|(% style="width:276px" %)(((
363 +)))|1970|millisecond
364 +|(((
366 366  Windows System Time
366 +
367 367  Milliseconds since 01 Jan 1601
368 -)))|(% style="width:117px" %)1601|(% style="width:177px" %)millisecond
368 +)))|1601|millisecond
369 369  
370 370  The example above illustrates numerical based datetime mapping rules for two commonly used time standards.
371 371  
... ... @@ -387,34 +387,41 @@
387 387  
388 388  The main use case is setting the value of Observation Attributes in the target dataset.
389 389  
390 -(% style="width:786.294px" %)
391 -|(% style="width:92px" %)**Rule**|(% style="width:377px" %)**Source**|(% style="width:315px" %)**Target**
392 -|(% style="width:92px" %)1|(% style="width:377px" %)(((
390 +|Rule|Source|Target
391 +|1|(((
393 393  If
393 +
394 394  INDICATOR=XULADS; and TIME_PERIOD=2007.
395 -)))|(% style="width:315px" %)(((
395 +)))|(((
396 396  Set
397 +
397 397  OBS_CONF=F
398 398  )))
399 -|(% style="width:92px" %)2|(% style="width:377px" %)(((
400 +|2|(((
400 400  If
402 +
401 401  INDICATOR=XULADS; and TIME_PERIOD=2008.
402 -)))|(% style="width:315px" %)(((
404 +)))|(((
403 403  Set
406 +
404 404  OBS_CONF=F
405 405  )))
406 -|(% style="width:92px" %)3|(% style="width:377px" %)(((
409 +|3|(((
407 407  If
411 +
408 408  INDICATOR=XULADS; and TIME_PERIOD=2009.
409 -)))|(% style="width:315px" %)(((
413 +)))|(((
410 410  Set
415 +
411 411  OBS_CONF=F
412 412  )))
413 -|(% style="width:92px" %)4|(% style="width:377px" %)(((
418 +|4|(((
414 414  If
420 +
415 415  INDICATOR=XULADS; and TIME_PERIOD=2010.
416 -)))|(% style="width:315px" %)(((
422 +)))|(((
417 417  Set
424 +
418 418  OBS_CONF=**C**
419 419  )))
420 420  
... ... @@ -428,22 +428,27 @@
428 428  
429 429  By specifying validity periods, the example from Section 13.8 can be re-written using two rules as follows:
430 430  
431 -(% style="width:808.294px" %)
432 -|(% style="width:93px" %)**Rule**|(% style="width:385px" %)**Source**|(% style="width:328px" %)**Target**
433 -|(% style="width:93px" %)1|(% style="width:385px" %)(((
438 +|Rule|Source|Target
439 +|1|(((
434 434  If
441 +
435 435  INDICATOR=XULADS.
443 +
436 436  Validity Period start period=2007 end period=2009
437 -)))|(% style="width:328px" %)(((
445 +)))|(((
438 438  Set
447 +
439 439  OBS_CONF=F
440 440  )))
441 -|(% style="width:93px" %)2|(% style="width:385px" %)(((
450 +|2|(((
442 442  If
452 +
443 443  INDICATOR=XULADS.
454 +
444 444  Validity Period start period=2010
445 -)))|(% style="width:328px" %)(((
456 +)))|(((
446 446  Set
458 +
447 447  OBS_CONF=F** **
448 448  )))
449 449  
... ... @@ -455,8 +455,31 @@
455 455  
456 456  === 13.10.1 Many to one mapping (N-1) ===
457 457  
458 -[[image:1747377208446-496.png]]
470 +|Source|Map To
471 +|(((
472 +**FREQ**="A"
459 459  
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 +
460 460  The bold Dimensions map from source to target verbatim. The mapping simply specifies:
461 461  
462 462  FREQ => FREQ
... ... @@ -481,43 +481,49 @@
481 481  
482 482  The following representation mapping can be used to explicitly map each age to an output code.
483 483  
519 +:
520 +
484 484  (((
485 -(% style="width:669.294px" %)
486 -|(% style="width:218px" %)**Source Input Free Text**|(% style="width:448px" %)**Desired Output Code Id**
487 -|(% style="width:218px" %)0|(% style="width:448px" %)A
488 -|(% style="width:218px" %)1|(% style="width:448px" %)A
489 -|(% style="width:218px" %)2|(% style="width:448px" %)A
490 -|(% style="width:218px" %)3|(% style="width:448px" %)B
491 -|(% 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
492 492  )))
493 493  
494 -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:
495 495  
496 -(((
497 -(% style="width:675.294px" %)
498 -|(% style="width:219px" %)(((
499 -**Regular Expression**
500 -)))|(% style="width:453px" %)**Desired Output**
501 -|(% style="width:219px" %)[0-2]|(% style="width:453px" %)A
502 -|(% 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"]]
503 503  
504 -(% 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
505 505  )))
506 506  
543 +=== 13.10.3 Observation Attributes for Time Period ===
544 +
507 507  This use case is where a specific observation for a specific time period has an attribute 3468 value.
508 508  
547 +:
548 +
509 509  (((
510 -(% style="width:689.294px" %)
511 -|(% style="width:220px" %)**Input INDICATOR**|(% style="width:223px" %)**Input TIME_PERIOD**|(% style="width:243px" %)**Output OBS_CONF**
512 -|(% style="width:220px" %)XULADS|(% style="width:223px" %)2008|(% style="width:243px" %)C
513 -|(% style="width:220px" %)XULADS|(% style="width:223px" %)2009|(% style="width:243px" %)C
514 -|(% 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
515 515  )))
516 516  
517 517  __Or using a validity period on the Representation Mapping__:
518 518  
519 -Input INDICATOR Valid From/ Valid To Output OBS_CONF XULADS 2008/2010 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
520 520  
560 +XULADS 2008/2010 C
561 +
521 521  === 13.10.4 Time mapping ===
522 522  
523 523  This use case is to create a time period from an input that does not respect SDMXTime Formats.
... ... @@ -524,15 +524,20 @@
524 524  
525 525  The Component Mapping from SYS_TIME to TIME_PERIOD specifies itself as a time mapping with the following details:
526 526  
568 +:
569 +
527 527  (((
528 -(% style="width:763.294px" %)
529 -|(% style="width:163px" %)**Source Value**|(% style="width:219px" %)**Source Mapping**|(% style="width:198px" %)**Target Frequency**|(% style="width:180px" %)**Output**
530 -|(% 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
531 531  )))
532 532  
533 533  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.
534 534  
577 +[[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_dbe68698.gif||alt="Shape12" height="1" width="273"]]
535 535  
579 +:
580 +::
581 +
536 536  (((
537 537  |Source Value|Source Mapping|Target Frequency Output Dimension
538 538  
... ... @@ -556,7 +556,7 @@
556 556  
557 557  Dimension
558 558  
559 - 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
560 560  
561 561  When the start of year is April 1^^st^^ the Structure Map has YearStart=04-01:
562 562  
1747377208446-496.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -28.0 KB
Content