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,86 +453,95 @@ 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 552 +Input INDICATOR Valid From/ Valid To Output OBS_CONF 553 + 554 +XULADS 2008/2010 C 555 + 556 +=== 13. Time mapping === 557 + 536 536 This use case is to create a time period from an input that does not respect SDMX Time Formats. 537 537 538 538 The Component Mapping from SYS_TIME to TIME_PERIOD specifies itself as a time mapping with the following details:
- 1750074994887-415.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -12.4 KB - Content