Changes for page 13 Structure Mapping

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

From version 10.12
edited by Helena
on 2025/05/16 09:25
Change comment: There is no comment for this version
To version 11.6
edited by Helena
on 2025/05/16 13:03
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -39,7 +39,9 @@
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: REF_AREA**|(% style="width:387px" %)**Target Component: REGION**
42 +|(% style="width:284px" %)**Source Component:
43 +REF_AREA**|(% style="width:387px" %)**Target Component:
44 +REGION**
43 43  |(% style="width:284px" %)FR|(% style="width:387px" %)EUR
44 44  |(% style="width:284px" %)DE|(% style="width:387px" %)EUR
45 45  |(% style="width:284px" %)IT|(% style="width:387px" %)EUR
... ... @@ -299,42 +299,37 @@
299 299  Examples
300 300  
301 301  22/06/1981 would be described as dd/MM/YYYY, with locale en-GB
302 -
303 303  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 -
307 307  22 Jul 1981 would be described as dd MMM YYYY
308 -
309 309  2010 D62 would be described as YYYYDnn (day 62 of the year 2010)
310 310  
311 311  The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved):
312 312  
313 313  (% style="width:896.294px" %)
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
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
327 327  
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 -
338 338  The model is illustrated below:
339 339  
340 340  [[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_295af259.jpg||height="265" width="477"]]
... ... @@ -355,17 +355,16 @@
355 355  * microsecond
356 356  * nanosecond
357 357  
358 -|Numerical datetime systems|Base|Period
359 -|(((
355 +(% style="width:573.294px" %)
356 +|(% style="width:276px" %)**Numerical datetime systems**|(% style="width:117px" %)**Base**|(% style="width:177px" %)**Period**
357 +|(% style="width:276px" %)(((
360 360  Epoch Time (UNIX)
361 -
362 362  Milliseconds since 01 Jan 1970
363 -)))|1970|millisecond
364 -|(((
360 +)))|(% style="width:117px" %)1970|(% style="width:177px" %)millisecond
361 +|(% style="width:276px" %)(((
365 365  Windows System Time
366 -
367 367  Milliseconds since 01 Jan 1601
368 -)))|1601|millisecond
364 +)))|(% style="width:117px" %)1601|(% style="width:177px" %)millisecond
369 369  
370 370  The example above illustrates numerical based datetime mapping rules for two commonly used time standards.
371 371  
... ... @@ -387,41 +387,34 @@
387 387  
388 388  The main use case is setting the value of Observation Attributes in the target dataset.
389 389  
390 -|Rule|Source|Target
391 -|1|(((
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" %)(((
392 392  If
393 -
394 394  INDICATOR=XULADS; and TIME_PERIOD=2007.
395 -)))|(((
391 +)))|(% style="width:315px" %)(((
396 396  Set
397 -
398 398  OBS_CONF=F
399 399  )))
400 -|2|(((
395 +|(% style="width:92px" %)2|(% style="width:377px" %)(((
401 401  If
402 -
403 403  INDICATOR=XULADS; and TIME_PERIOD=2008.
404 -)))|(((
398 +)))|(% style="width:315px" %)(((
405 405  Set
406 -
407 407  OBS_CONF=F
408 408  )))
409 -|3|(((
402 +|(% style="width:92px" %)3|(% style="width:377px" %)(((
410 410  If
411 -
412 412  INDICATOR=XULADS; and TIME_PERIOD=2009.
413 -)))|(((
405 +)))|(% style="width:315px" %)(((
414 414  Set
415 -
416 416  OBS_CONF=F
417 417  )))
418 -|4|(((
409 +|(% style="width:92px" %)4|(% style="width:377px" %)(((
419 419  If
420 -
421 421  INDICATOR=XULADS; and TIME_PERIOD=2010.
422 -)))|(((
412 +)))|(% style="width:315px" %)(((
423 423  Set
424 -
425 425  OBS_CONF=**C**
426 426  )))
427 427  
... ... @@ -435,27 +435,22 @@
435 435  
436 436  By specifying validity periods, the example from Section 13.8 can be re-written using two rules as follows:
437 437  
438 -|Rule|Source|Target
439 -|1|(((
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" %)(((
440 440  If
441 -
442 442  INDICATOR=XULADS.
443 -
444 444  Validity Period start period=2007 end period=2009
445 -)))|(((
433 +)))|(% style="width:328px" %)(((
446 446  Set
447 -
448 448  OBS_CONF=F
449 449  )))
450 -|2|(((
437 +|(% style="width:93px" %)2|(% style="width:385px" %)(((
451 451  If
452 -
453 453  INDICATOR=XULADS.
454 -
455 455  Validity Period start period=2010
456 -)))|(((
441 +)))|(% style="width:328px" %)(((
457 457  Set
458 -
459 459  OBS_CONF=F** **
460 460  )))
461 461  
... ... @@ -467,37 +467,12 @@
467 467  
468 468  === 13.10.1 Many to one mapping (N-1) ===
469 469  
470 -|Source|Map To
471 -|(((
472 -**FREQ**="A"
454 +[[image:1747377208446-496.png]]
473 473  
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 -
495 495  The bold Dimensions map from source to target verbatim. The mapping simply specifies:
496 496  
497 497  FREQ => FREQ
498 -
499 499  REF_AREA=> REF_AREA
500 -
501 501  COUNTERPART_AREA=> COUNTERPART _AREA
502 502  
503 503  No Representation Mapping is required. The source value simply copies across unmodified.
... ... @@ -516,49 +516,45 @@
516 516  
517 517  The following representation mapping can be used to explicitly map each age to an output code.
518 518  
519 -:
520 -
521 521  (((
522 -|Source Input Free Text|Desired Output Code Id
523 -|0|A
524 -|1|A
525 -|2|A
526 -|3|B
527 -|4|B
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
528 528  )))
529 529  
530 -If this mapping takes advantage of regular expressions it can be expressed in two 3464 rules:
488 +If this mapping takes advantage of regular expressions it can be expressed in two rules:
531 531  
532 -[[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_8c1afe2b.gif||alt="Shape10" height="1" width="302"]]
533 -
534 -__Regular Expression __Desired Output
535 -
536 -:
537 -
538 538  (((
539 -|[0-2]|A
540 -|[3-4]|B
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
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
541 541  )))
542 542  
543 -=== 13.10.3 Observation Attributes for Time Period ===
544 -
545 545  This use case is where a specific observation for a specific time period has an attribute 3468 value.
546 546  
547 -:
548 -
549 549  (((
550 -|Input INDICATOR|Input TIME_PERIOD|Output OBS_CONF
551 -|XULADS|2008|C
552 -|XULADS|2009|C
553 -|XULADS|2010|C
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
554 554  )))
555 555  
556 -__Or using a validity period on the Representation Mapping__:
511 +Or using a validity period on the Representation Mapping:
557 557  
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
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
559 559  
560 -XULADS 2008/2010 C
561 -
562 562  === 13.10.4 Time mapping ===
563 563  
564 564  This use case is to create a time period from an input that does not respect SDMXTime Formats.
... ... @@ -565,44 +565,35 @@
565 565  
566 566  The Component Mapping from SYS_TIME to TIME_PERIOD specifies itself as a time mapping with the following details:
567 567  
568 -:
569 -
570 570  (((
571 -|Source Value|Source Mapping|Target Frequency|Output
572 -|18/07/1981|dd/MM/yyyy|A|1981
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
573 573  )))
574 574  
575 -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.
529 +When the target frequency is based on another target Dimension value, in this example the value of the FREQ Dimension in the target DSD.
576 576  
577 -[[image:SDMX 3-0-0 SECTION 6 FINAL-1.0_en_dbe68698.gif||alt="Shape12" height="1" width="273"]]
578 -
579 -:
580 -::
581 -
582 582  (((
583 -|Source Value|Source Mapping|Target Frequency Output Dimension
532 +(% style="width:734.294px" %)
533 +|(% style="width:165px" %)**Source Value**|(% style="width:220px" %)**Source Mapping**|(% style="width:161px" %)**Target Frequency**|(% style="width:251px" %)**Output Dimension**
534 +|(% style="width:165px" %)18/07/1981|(% style="width:220px" %)dd/MM/yyyy|(% style="width:161px" %)FREQ|(% style="width:251px" %)1981-07-18 (when FREQ=D)
584 584  
585 -|18/07/1981 dd/MM/yyyy|FREQ| |1981-07-18 (when FREQ=D)
586 -|(% rowspan="2" %)(((
587 -__When the source is a numerical form__at
536 +When the source is a numerical format
588 588  
589 -Source Value Start Period Interv
590 -)))| | |
591 -|al|(((
592 -Target
538 +(% style="width:892.294px" %)
539 +|(% style="width:165px" %)**Source Value**|(% style="width:133px" %)**Start Period**|(% style="width:191px" %)**Interv**|(% style="width:264px" %)**Target FREQ**|(% style="width:167px" %)**Output**
540 +|(% style="width:165px" %)1589808220|(% style="width:133px" %)1970|(% style="width:191px" %)millisecond|(% style="width:264px" %)1981-07-18 (when FREQ=D)|(% style="width:167px" %)2020-05
593 593  
594 -FREQ
595 -)))|Output
596 -|(% colspan="2" %)1589808220 1970 millisecond|M|2020-05
542 +When the source frequency is lower than the target frequency additional information 3485 can be provided for resolve to start of period, end of period, or mid period, as shown 3486 in the following example:
597 597  )))
598 598  
599 -When the source frequency is lower than the target frequency additional information 3485 can be provided for resolve to start of period, end of period, or mid period, as shown 3486 in the following example:
545 +(% style="width:892.294px" %)
546 +|(% style="width:165px" %)**Source Value**|(% style="width:133px" %)**Source Mapping**|(% style="width:191px" %)**Target**|(% style="width:264px" %)**Frequency**|(% style="width:167px" %)**Output**
547 +|(% style="width:165px" %)1589808220|(% style="width:133px" %)1970|(% style="width:191px" %)millisecond|(% style="width:264px" %)1981-07-18 (when FREQ=D)|(% style="width:167px" %)2020-05
600 600  
601 -Source Value Source Mapping Target Frequency Output
602 -
603 603  Dimension
604 604  
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
551 + 1981 yyyy D – End of Period 1981-12-31
606 606  
607 607  When the start of year is April 1^^st^^ the Structure Map has YearStart=04-01:
608 608  
1747377208446-496.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.helena
Size
... ... @@ -1,0 +1,1 @@
1 +28.0 KB
Content