Changes for page 13 Structure Mapping
Last modified by Artur on 2025/09/10 11:19
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Content
-
... ... @@ -381,48 +381,58 @@ 381 381 382 382 The model is illustrated below: 383 383 384 -[[image:1750074994887-415.png]] 385 385 386 -**Figure 26 showing the component map mapping the SOURCE_DATE Dimension to the TIME_PERIOD Dimension with the additional information on the component map to describe the numerical datetime system in use**385 +**Figure 26 showing the component map mapping the SOURCE_DATE Dimension to the** 387 387 388 -=== 13.7.3Mappingmore complextime inputs ===387 +==== TIME_PERIOD Dimension with the additional information on the component map to describe the numerical datetime system in use ==== 389 389 390 - [[VTL>>doc:sdmx:Glossary.Validationand transformationlanguage.WebHome]]should be used formore complex time inputsthat cannot be interpreted using the pattern based on numerical methods.389 +=== Mapping more complex time inputs === 391 391 392 - ==13.8UsingTIME_PERIODinmapping rules==391 +VTL should be used for more complex time inputs that cannot be interpreted using the pattern based on numerical methods. 393 393 394 - ThesourceTIME_PERIOD[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]can be used in conjunction with other input [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] to create discrete mapping ruleswhere the output is conditional on the [[time period>>doc:sdmx:Glossary.Time period.WebHome]] value.393 +== Using TIME_PERIOD in mapping rules == 395 395 396 -The main usecaseissettingthevalueofObservation[[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]inthetarget[[dataset>>doc:sdmx:Glossary.Dataset.WebHome]].395 +The source TIME_PERIOD Dimension can be used in conjunction with other input Dimensions to create discrete mapping rules where the output is conditional on the time period value. 397 397 398 -(% style="width:709.294px" %) 399 -|(% style="width:103px" %)**Rule**|(% style="width:405px" %)**Source**|(% style="width:198px" %)**Target** 400 -|(% style="width:103px" %)1|(% style="width:405px" %)((( 397 +The main use case is setting the value of Observation Attributes in the target dataset. 398 + 399 +|Rule|Source|Target 400 +|1|((( 401 401 If 402 + 402 402 INDICATOR=XULADS; and TIME_PERIOD=2007. 403 -)))|(% style="width:198px" %)((( 404 -Set OBS_CONF=F 404 +)))|((( 405 +Set 406 + 407 +OBS_CONF=F 405 405 ))) 406 -| (% style="width:103px" %)2|(% style="width:405px" %)(((409 +|2|((( 407 407 If 411 + 408 408 INDICATOR=XULADS; and TIME_PERIOD=2008. 409 -)))| (% style="width:198px" %)Set OBS_CONF=F410 -| (% style="width:103px" %)3|(% style="width:405px" %)(((413 +)))|Set OBS_CONF=F 414 +|3|((( 411 411 If 416 + 412 412 INDICATOR=XULADS; and TIME_PERIOD=2009. 413 -)))|(% style="width:198px" %)((( 414 -Set OBS_CONF=F 418 +)))|((( 419 +Set 420 + 421 +OBS_CONF=F 415 415 ))) 416 -| (% style="width:103px" %)4|(% style="width:405px" %)(((423 +|4|((( 417 417 If 425 + 418 418 INDICATOR=XULADS; and TIME_PERIOD=2010. 419 -)))|(% style="width:198px" %)((( 420 -Set OBS_CONF=**C** 427 +)))|((( 428 +Set 429 + 430 +OBS_CONF=**C** 421 421 ))) 422 422 423 -In the example above, OBS_CONF is an Observation [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]].433 +In the example above, OBS_CONF is an Observation Attribute. 424 424 425 -== 13. 9Time span mapping rules using validity periods ==435 +== 13. Time span mapping rules using validity periods == 426 426 427 427 Creating discrete mapping rules for each TIME_PERIOD is impractical where rules need to cover a specific span of time regardless of frequency, and for high-frequency data. 428 428 ... ... @@ -430,22 +430,25 @@ 430 430 431 431 By specifying validity periods, the example from Section 13.8 can be re-written using two rules as follows: 432 432 433 -(% style="width:516.294px" %) 434 -|(% style="width:74px" %)Rule|(% style="width:215px" %)Source|(% style="width:223px" %)Target 435 -|(% style="width:74px" %)1|(% style="width:215px" %)((( 443 +|Rule|Source|Target 444 +|1|((( 436 436 If 446 + 437 437 INDICATOR=XULADS. 438 - Validity Period439 - start period=2007440 -end period=2009 441 -)))| (% style="width:223px" %)Set OBS_CONF=F442 -| (% style="width:74px" %)2|(% style="width:215px" %)(((448 + 449 + 450 +Validity Period start period=2007 end period=2009 451 +)))|Set OBS_CONF=F 452 +|2|((( 443 443 If 454 + 444 444 INDICATOR=XULADS. 445 -Validity Period 446 -start period=2010 447 -)))|(% style="width:223px" %)((( 456 + 457 + 458 +Validity Period start period=2010 459 +)))|((( 448 448 Set 461 + 449 449 OBS_CONF=F 450 450 ))) 451 451 ... ... @@ -453,106 +453,117 @@ 453 453 454 454 In Rule 2, no end period is specified so remains in effect from the start of the period (2010-01-01T00:00:00) until the end of time. Any observations reporting data for the Indicator XULADS that fall into that time range will have an OBS_CONF value of C. 455 455 456 - InRule 2, no end period is specified so remains in effect from the start of the period (2010-01-01T00:00:00) until the end of time.Any observations reportingdata for theIndicator XULADS that fall into that time range will havean OBS_CONF value of C.469 +== 13. Mapping examples == 457 457 458 -== 13. 10Mappingexamples==471 +=== 13. Many to one mapping (N-1) === 459 459 460 -=== 13.10.1 Many to one mapping (N3513 -1) === 473 +|Source|Map To 474 +|((( 475 +**FREQ**="A" 461 461 462 -(% style="width:542.294px" %) 463 -|(% style="width:274px" %)**Source**|(% style="width:265px" %)**Map To** 464 -|(% style="width:274px" %)((( 465 -(% style="color:#8e44ad" %)**FREQ**="A" 466 466 ADJUSTMENT="N" 478 + 467 467 **REF_AREA**="PL" 480 + 468 468 **COUNTERPART_AREA**="W0" 482 + 469 469 REF_SECTOR="S1" 484 + 470 470 COUNTERPART_SECTOR="S1" 486 + 471 471 ACCOUNTING_ENTRY="B" 488 + 472 472 STO="B5G" 473 -)))|(% style="width:265px" %)((( 474 -(% style="color:#8e44ad" %)FREQ="A" 490 +)))|((( 491 +FREQ="A" 492 + 475 475 REF_AREA="PL" 494 + 476 476 COUNTERPART_AREA="W0" 477 -INDICATOR="IND_ABC" (%%)496 +INDICATOR="IND_ABC" 478 478 479 479 ))) 480 480 481 -The bold [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]](% style="color:#e74c3c" %)map(%%)from source to target verbatim. The mapping simply specifies:500 +The bold Dimensions map from source to target verbatim. The mapping simply specifies: 482 482 483 -> FREQ => FREQ 484 -> REF_AREA=> REF_AREA 485 -> COUNTERPART_AREA=> COUNTERPART _AREA 502 +FREQ => FREQ 486 486 487 - No [[Representation>>doc:sdmx:Glossary.Representation.WebHome]]Mapping is required. The source value simply copies across unmodified.504 +REF_AREA=> REF_AREA 488 488 489 -T he remaining [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] all (% style="color:#e74c3c" %)map(%%) to the Indicator [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]].This is an example of many [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] mapping to one [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]. In this case a [[Representation>>doc:sdmx:Glossary.Representation.WebHome]]Mapping is required, and the mapping first describes the input 'partial key' and how this (% style="color:#e74c3c" %)maps(%%) to the target indicator:506 +COUNTERPART_AREA=> COUNTERPART _AREA 490 490 491 - >N:S1:S1:B:B5G=>IND_ABC508 +No Representation Mapping is required. The source value simply copies across unmodified. 492 492 493 - Wherethekey sequenceisbasedonthe orderspecifiedinthe(%style="color:#e74c3c"%)mapping(%%)(i.e[[ADJUSTMENT>>doc:sdmx:Glossary.Adjustment.WebHome]],REF_SECTOR,etc willresultin the firstvalueNbeingtakenfrom [[ADJUSTMENT>>doc:sdmx:Glossary.Adjustment.WebHome]]asthiswasthe firstiteminthesource[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] list.510 +The remaining Dimensions all map to the Indicator Dimension. This is an example of many Dimensions mapping to one Dimension. In this case a Representation Mapping is required, and the mapping first describes the input 'partial key' and how this maps to the target indicator: 494 494 495 - **Note**:The key order is NOT based on the [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] order of the [[DSD>>doc:sdmx:Glossary.Datastructure definition.WebHome]], as the (% style="color:#e74c3c" %)mapping(%%) needs to be resilient to the [[DSD>>doc:sdmx:Glossary.Datastructure definition.WebHome]] changing.512 +N:S1:S1:B:B5G => IND_ABC 496 496 497 - ===13.10.2Mappingotherdata types toCodeId===514 +Where the key sequence is based on the order specified in the mapping (i.e ADJUSTMENT, REF_SECTOR, etc will result in the first value N being taken from ADJUSTMENT as this was the first item in the source Dimension list. 498 498 499 - Inthecase wheretheincomingdata type isnotastring and not a [[code>>doc:sdmx:Glossary.Code.WebHome]]identifieri.e.thesource [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]isof type Integer and thetargetisCodelist. This is supportedby the RepresentationMap. The RepresentationMapsource canreference a Codelist,Valuelist,orbefree text,thefreetextcaninclude regular expressions.516 +**Note**: The key order is NOT based on the Dimension order of the DSD, as the mapping needs to be resilient to the DSD changing. 500 500 501 -The following [[representation>>doc:sdmx:Glossary.Representation.WebHome]] (% style="color:#e74c3c" %)mapping(%%) can be used to explicitly (% style="color:#e74c3c" %)map(%%) each [[age>>doc:sdmx:Glossary.Age.WebHome]] to an output [[code>>doc:sdmx:Glossary.Code.WebHome]]. 518 +1. 519 +11. 520 +111. Mapping other data types to Code Id 502 502 503 -(% style="width:402.294px" %) 504 -|(% style="width:197px" %)**Source Input Free Text**|(% style="width:204px" %)**Desired Output Code Id** 505 -|(% style="width:197px" %)0|(% style="width:204px" %)A 506 -|(% style="width:197px" %)1|(% style="width:204px" %)A 507 -|(% style="width:197px" %)2|(% style="width:204px" %)A 508 -|(% style="width:197px" %)3|(% style="width:204px" %)B 509 -|(% style="width:197px" %)4|(% style="width:204px" %)B 522 +In the case where the incoming data type is not a string and not a code identifier i.e. the source Dimension is of type Integer and the target is Codelist. This is supported by the RepresentationMap. The RepresentationMap source can reference a Codelist, Valuelist, or be free text, the free text can include regular expressions. 510 510 524 +The following representation mapping can be used to explicitly map each age to an output code. 525 + 526 +|Source Input Free Text|Desired Output Code Id 527 +|0|A 528 +|1|A 529 +|2|A 530 +|3|B 531 +|4|B 532 + 511 511 If this mapping takes advantage of regular expressions it can be expressed in two rules: 512 512 513 -(% style="width:336.294px" %) 514 -|(% style="width:182px" %)**Regular Expression**|(% style="width:151px" %)**Desired Output** 515 -|(% style="width:182px" %)[0-2]|(% style="width:151px" %)A 516 -|(% style="width:182px" %)[3-4]|(% style="width:151px" %)B 517 517 518 - === 13.10.3 ObservationAttributesforTimePeriod===536 +Regular Expression Desired Output 519 519 520 -This use case is where a specific observation for a specific [[time period>>doc:sdmx:Glossary.Time period.WebHome]] has an [[attribute>>doc:sdmx:Glossary.Attribute.WebHome]] value. 538 +|[0-2]|A 539 +|[3-4]|B 521 521 522 -(% style="width:621.294px" %) 523 -|(% style="width:201px" %)Input INDICATOR|(% style="width:192px" %)Input TIME_PERIOD|(% style="width:225px" %)Output OBS_CONF 524 -|(% style="width:201px" %)XULADS|(% style="width:192px" %)2008|(% style="width:225px" %)C 525 -|(% style="width:201px" %)XULADS|(% style="width:192px" %)2009|(% style="width:225px" %)C 526 -|(% style="width:201px" %)XULADS|(% style="width:192px" %)2010|(% style="width:225px" %)C 541 +=== 13. Observation Attributes for Time Period === 527 527 528 - Orusingavalidityperiod on the[[Representation>>doc:sdmx:Glossary.Representation.WebHome]]Mapping:543 +This use case is where a specific observation for a specific time period has an attribute value. 529 529 530 -(% style="width:629.294px" %) 531 -|(% style="width:202px" %)Input INDICATOR|(% style="width:197px" %)Valid From/ Valid To|(% style="width:227px" %) Output OBS_CONF 532 -|(% style="width:202px" %)XULADS|(% style="width:197px" %) 2008/2010|(% style="width:227px" %)С 545 +|Input INDICATOR|Input TIME_PERIOD|Output OBS_CONF 546 +|XULADS|2008|C 547 +|XULADS|2009|C 548 +|XULADS|2010|C 533 533 534 - ===13.10.4Timemapping===550 +Or using a validity period on the Representation Mapping: 535 535 536 -T hisusecaseistocreatea[[timeperiod>>doc:sdmx:Glossary.Time period.WebHome]]fromaninputthatdoesnotrespect[[SDMX>>doc:sdmx:Glossary.Statisticaldataandmetadataexchange.WebHome]]TimeFormats.552 +Input INDICATOR Valid From/ Valid To Output OBS_CONF 537 537 538 - The[[Component>>doc:sdmx:Glossary.Component.WebHome]]MappingfromSYS_TIMEtoTIME_PERIODspecifiesitselfasatimemappingwiththefollowingdetails:554 +XULADS 2008/2010 C 539 539 540 -(% style="width:652.294px" %) 541 -|(% style="width:139px" %)Source Value|(% style="width:165px" %)Source Mapping|(% style="width:182px" %)Target Frequency|(% style="width:163px" %)Output 542 -|(% style="width:139px" %)18/07/1981|(% style="width:165px" %)dd/MM/yyyy|(% style="width:182px" %)A|(% style="width:163px" %)1981 556 +=== 13. Time mapping === 543 543 544 - Whenthetargetfrequencyisbasedonanothertarget[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]value,inthisexamplethe value oftheFREQ [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]inthetarget[[DSD>>doc:sdmx:Glossary.Datastructure definition.WebHome]].558 +This use case is to create a time period from an input that does not respect SDMX Time Formats. 545 545 546 -(% style="width:658.294px" %) 547 -|(% style="width:143px" %)Source Value|(% style="width:163px" %) Source Mapping|(% style="width:176px" %)Target Dimension|(% style="width:173px" %)Frequency Output 548 -|(% style="width:143px" %)18/07/1981|(% style="width:163px" %)dd/MM/yyyy|(% style="width:176px" %)FREQ|(% style="width:173px" %)1981-07-18 (when FREQ=D) 560 +The Component Mapping from SYS_TIME to TIME_PERIOD specifies itself as a time mapping with the following details: 549 549 550 - When the source is a numerical format. 562 +|Source Value|Source Mapping|Target Frequency|Output 563 +|18/07/1981|dd/MM/yyyy|A|1981 551 551 552 -(% style="width:658.294px" %) 553 -|(% style="width:143px" %)Source Value|(% style="width:163px" %) Start Period|(% style="width:176px" %)Interval|(% style="width:176px" %)Target FREQ|(% style="width:173px" %) Output 554 -|(% style="width:143px" %)1589808220|(% style="width:163px" %)1970|(% style="width:176px" %) millisecond|(% style="width:176px" %)M|(% style="width:173px" %)2020-05 565 +When the target frequency is based on another target Dimension value, in this example the value of the FREQ Dimension in the target DSD. 555 555 567 +Source Value Source Mapping Target Frequency Output 568 + 569 +Dimension 570 + 571 +|18/07/1981 dd/MM/yyyy FREQ| |1981-07-18 (when FREQ=D) 572 +| When the source is a numerical format| | 573 +|Source Value Start Period Interval|((( 574 +Target 575 + 576 +FREQ 577 +)))|Output 578 +|1589808220 1970 millisecond|M|2020-05 579 + 556 556 When the source frequency is lower than the target frequency additional information 3568 can be provided for resolve to start of period, end of period, or mid period, as shown 3569 in the following example: 557 557 558 558 Source Value Source Mapping Target Frequency Output
- 1750074994887-415.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -12.4 KB - Content