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, 1 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -358,7 +358,7 @@ 358 358 359 359 === 13.7.2 Numerical based datetime === 360 360 361 -Where the source datetime input is purely numerical, the mapping rules are defined by the **Base** as a valid SDMX Time Period, and the **Period** which must take one of the following enumerated values: 361 +Where the source datetime input is purely numerical, the mapping rules are defined by the **Base** as a valid [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] [[Time Period>>doc:sdmx:Glossary.Time period.WebHome]], and the **Period** which must take one of the following enumerated values: 362 362 363 363 * day 364 364 * second ... ... @@ -366,75 +366,63 @@ 366 366 * microsecond 367 367 * nanosecond 368 368 369 -|Numerical datetime systems|Base|Period 370 -|((( 369 +(% style="width:545.294px" %) 370 +|(% style="width:268px" %)Numerical datetime systems|(% style="width:121px" %)Base|(% style="width:153px" %)Period 371 +|(% style="width:268px" %)((( 371 371 Epoch Time (UNIX) 372 - 373 373 Milliseconds since 01 Jan 1970 374 -)))|1970|millisecond 375 -|((( 374 +)))|(% style="width:121px" %)1970|(% style="width:153px" %)millisecond 375 +|(% style="width:268px" %)((( 376 376 Windows System Time 377 - 378 378 Milliseconds since 01 Jan 1601 379 -)))|1601|millisecond 378 +)))|(% style="width:121px" %)1601|(% style="width:153px" %)millisecond 380 380 381 381 The example above illustrates numerical based datetime mapping rules for two commonly used time standards. 382 382 383 383 The model is illustrated below: 384 384 385 -[[image:175007 2341491-790.jpeg]]384 +[[image:1750074994887-415.png]] 386 386 387 -**Figure 26 showing the component map mapping the SOURCE_DATE Dimension to the** 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 ** 388 388 389 -=== =TIME_PERIODDimension with theadditionalinformation on the componentmapto describe the numericaldatetime system inuse====388 +=== 13.7.3 Mapping more complex time inputs === 390 390 391 - ===Mapping more complex time inputs===390 +[[VTL>>doc:sdmx:Glossary.Validation and transformation language.WebHome]] should be used for more complex time inputs that cannot be interpreted using the pattern based on numerical methods. 392 392 393 - VTLshouldbe used for more complex time inputsthatcannot beinterpretedusingthe pattern based on numericalmethods.392 +== 13.8 Using TIME_PERIOD in mapping rules == 394 394 395 - ==UsingTIME_PERIOD in mapping rules==394 +The source TIME_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 rules where the output is conditional on the [[time period>>doc:sdmx:Glossary.Time period.WebHome]] value. 396 396 397 -The sourceTIME_PERIOD Dimensioncan be usedin conjunctionwith otherinputDimensionstocreate discretemappingrules wheretheoutputis conditionalonthetimeperiod value.396 +The main use case is setting the value of Observation [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] in the target [[dataset>>doc:sdmx:Glossary.Data set.WebHome]]. 398 398 399 -The main use case is setting the value of Observation Attributes in the target dataset. 400 - 401 -|Rule|Source|Target 402 -|1|((( 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" %)((( 403 403 If 404 - 405 405 INDICATOR=XULADS; and TIME_PERIOD=2007. 406 -)))|((( 407 -Set 408 - 409 -OBS_CONF=F 403 +)))|(% style="width:198px" %)((( 404 +Set OBS_CONF=F 410 410 ))) 411 -|2|((( 406 +|(% style="width:103px" %)2|(% style="width:405px" %)((( 412 412 If 413 - 414 414 INDICATOR=XULADS; and TIME_PERIOD=2008. 415 -)))|Set OBS_CONF=F 416 -|3|((( 409 +)))|(% style="width:198px" %)Set OBS_CONF=F 410 +|(% style="width:103px" %)3|(% style="width:405px" %)((( 417 417 If 418 - 419 419 INDICATOR=XULADS; and TIME_PERIOD=2009. 420 -)))|((( 421 -Set 422 - 423 -OBS_CONF=F 413 +)))|(% style="width:198px" %)((( 414 +Set OBS_CONF=F 424 424 ))) 425 -|4|((( 416 +|(% style="width:103px" %)4|(% style="width:405px" %)((( 426 426 If 427 - 428 428 INDICATOR=XULADS; and TIME_PERIOD=2010. 429 -)))|((( 430 -Set 431 - 432 -OBS_CONF=**C** 419 +)))|(% style="width:198px" %)((( 420 +Set OBS_CONF=**C** 433 433 ))) 434 434 435 -In the example above, OBS_CONF is an Observation Attribute. 423 +In the example above, OBS_CONF is an Observation [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]. 436 436 437 -== 13. Time span mapping rules using validity periods == 425 +== 13.9 Time span mapping rules using validity periods == 438 438 439 439 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. 440 440 ... ... @@ -442,25 +442,22 @@ 442 442 443 443 By specifying validity periods, the example from Section 13.8 can be re-written using two rules as follows: 444 444 445 -|Rule|Source|Target 446 -|1|((( 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" %)((( 447 447 If 448 - 449 449 INDICATOR=XULADS. 450 - 451 - 452 - Validity Period start period=2007 end period=2009453 -)))|Set OBS_CONF=F 454 -|2|((( 438 +Validity Period 439 +start period=2007 440 +end period=2009 441 +)))|(% style="width:223px" %)Set OBS_CONF=F 442 +|(% style="width:74px" %)2|(% style="width:215px" %)((( 455 455 If 456 - 457 457 INDICATOR=XULADS. 458 - 459 - 460 -Validity Period start period=2010 461 -)))|((( 445 +Validity Period 446 +start period=2010 447 +)))|(% style="width:223px" %)((( 462 462 Set 463 - 464 464 OBS_CONF=F 465 465 ))) 466 466 ... ... @@ -468,78 +468,68 @@ 468 468 469 469 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. 470 470 471 - ==13.Mapping examples==456 +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. 472 472 473 -== =13. Many to one mapping(N-1)===458 +== 13.10 Mapping examples == 474 474 475 -|Source|Map To 476 -|((( 477 -**FREQ**="A" 460 +=== 13.10.1 Many to one mapping (N3513 -1) === 478 478 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" 479 479 ADJUSTMENT="N" 480 - 481 481 **REF_AREA**="PL" 482 - 483 483 **COUNTERPART_AREA**="W0" 484 - 485 485 REF_SECTOR="S1" 486 - 487 487 COUNTERPART_SECTOR="S1" 488 - 489 489 ACCOUNTING_ENTRY="B" 490 - 491 491 STO="B5G" 492 -)))|((( 493 -FREQ="A" 494 - 473 +)))|(% style="width:265px" %)((( 474 +(% style="color:#8e44ad" %)FREQ="A" 495 495 REF_AREA="PL" 496 - 497 497 COUNTERPART_AREA="W0" 498 -INDICATOR="IND_ABC" 477 +INDICATOR="IND_ABC"(%%) 499 499 500 500 ))) 501 501 502 -The bold Dimensions map from source to target verbatim. The mapping simply specifies: 481 +The bold [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)map(%%) from source to target verbatim. The mapping simply specifies: 503 503 504 -FREQ => FREQ 483 +> FREQ => FREQ 484 +> REF_AREA=> REF_AREA 485 +> COUNTERPART_AREA=> COUNTERPART _AREA 505 505 506 -R EF_AREA=>REF_AREA487 +No [[Representation>>doc:sdmx:Glossary.Representation.WebHome]] Mapping is required. The source value simply copies across unmodified. 507 507 508 - COUNTERPART_AREA=>COUNTERPART_AREA489 +The 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: 509 509 510 -N oRepresentationMapping is required. The source value simply copies across unmodified.491 +> N:S1:S1:B:B5G => IND_ABC 511 511 512 - TheremainingDimensions allmap to theIndicatorDimension. Thisis an exampleofmanyDimensionsmappingto one Dimension. In thiscaseaRepresentationMappingisrequired,andthemappingfirstdescribestheinput'partial key'andhow this mapstothetargetindicator:493 +Where the key sequence is based on the order specified in the (% style="color:#e74c3c" %)mapping(%%) (i.e [[ADJUSTMENT>>doc:sdmx:Glossary.Adjustment.WebHome]], REF_SECTOR, etc will result in the first value N being taken from [[ADJUSTMENT>>doc:sdmx:Glossary.Adjustment.WebHome]] as this was the first item in the source [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] list. 513 513 514 -N: S1:S1:B:B5G =>IND_ABC495 +**Note**: The key order is NOT based on the [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] order of the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]], as the (% style="color:#e74c3c" %)mapping(%%) needs to be resilient to the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] changing. 515 515 516 - Wherethekey sequence is based on the order specified in the mapping(i.e ADJUSTMENT, REF_SECTOR, etc will result in thefirstvalue N beingtakenfrom ADJUSTMENT asthis was thefirstitemin the sourceDimensionlist.497 +=== 13.10.2 Mapping other data types to Code Id === 517 517 518 - **Note**:ThekeyorderisNOTbased on the Dimensionorder of theDSD,as themappingneeds to be resilienttotheDSDchanging.499 +In the case where the incoming data type is not a string and not a [[code>>doc:sdmx:Glossary.Code.WebHome]] identifier i.e. the source [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] 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. 519 519 520 -1. 521 -11. 522 -111. Mapping other data types to Code Id 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]]. 523 523 524 -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. 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 525 525 526 - Thefollowingrepresentationmappingcan beusedto explicitlymapeachageto anoutput code.511 +If this mapping takes advantage of regular expressions it can be expressed in two rules: 527 527 528 -|Source Input Free Text|Desired Output Code Id 529 -|0|A 530 -|1|A 531 -|2|A 532 -|3|B 533 -|4|B 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 534 534 535 -If this mapping takes advantage of regular expressions it can be expressed in two rules: 536 - 537 - 538 -Regular Expression Desired Output 539 - 540 -|[0-2]|A 541 -|[3-4]|B 542 - 543 543 === 13. Observation Attributes for Time Period === 544 544 545 545 This use case is where a specific observation for a specific time period has an attribute value.
- 1750074994887-415.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.helena - Size
-
... ... @@ -1,0 +1,1 @@ 1 +12.4 KB - Content