Changes for page Guidelines for SDMX Data Structure Definitions
Last modified by Artur K. on 2026/05/29 14:28
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -325,20 +325,12 @@ 325 325 326 326 **Table 7. Data structuring approaches by level of data exchange** 327 327 328 -|**Level of data exchange**|**Data structuring approa one DSD**|(% colspan="2" %)((( 329 -**ch** 330 - 331 -**master + satellite DSDs** 332 -)))|**multiple, indep. DSDs** 328 +|(% colspan="1" rowspan="2" %)**Level of data exchange**|(% colspan="4" rowspan="1" %)**Data structuring approach** 329 +|**one DSD**|(% colspan="2" %)**master + satellite DSDs**|**multiple, indep. DSDs** 333 333 |**within organization**|((( 334 334 best for single-domain, single-purpose can be created on the fly from structured databases 335 335 )))|(% colspan="2" %)use if harmonization is important in covered domains or purposes or if such a set of DSDs is already available at international level|easier to do than master + satellite approach each domain/purpose can maintain DSDs independently can be created on the fly from structured databases 336 336 |**between national organizations**|(% colspan="4" %)the same applies as to the “within organization” scenario 337 -|**Level of data exchange**|(% colspan="3" %)((( 338 -**Data structuring approach** 339 - 340 -**one DSD master + satellite DSDs** 341 -)))|**multiple, indep. DSDs** 342 342 |**between int. organization and national organizations**|(% colspan="2" %)best for single domain, single purpose scenarios that are usually rather restricted with very clear specification of what needs to be exchanged|preferable over multiDSD approach in case of multi-domain and/or multi-purpose scenarios with highly correlated data flows for maintenance reasons|((( 343 343 for multi-domain and/or multipurpose scenarios; only recommended if overlap of domains/purposes is minor (e.g. just w.r.t. cross-domain concepts) equivalent to multiple “one DSD” solutions, one for each domain / purpose 344 344 ))) ... ... @@ -346,11 +346,9 @@ 346 346 |**dissemination to public**|(% colspan="2" %)for single-domain, single-purpose cases in more complex cases this may be the preferable approach for data discovery tools (one data structure to find and access all data)|(% colspan="2" %)((( 347 347 in multi-purpose or –domain scenarios: 348 348 349 -if it is relevant for the public to see the relationship between the data structures: use master + satellites approach 350 - 351 -otherwise the multi-DSD option is preferable, although with the highest possible degree of re-use of code lists and concepts 352 - 353 -in both cases: important to include only concepts, code lists, and codes actually available / used by the data 341 +* if it is relevant for the public to see the relationship between the data structures: use master + satellites approach 342 +* otherwise the multi-DSD option is preferable, although with the highest possible degree of re-use of code lists and concepts 343 +* in both cases: important to include only concepts, code lists, and codes actually available / used by the data 354 354 ))) 355 355 356 356 In general, finding the “perfect” data structure is less important for bilateral data exchange. Independent, custom-tailored DSDs may do the job quite well, as harmonization and standardization are typically not of high importance. If the data exchange is just a part of a more comprehensive scenario (e.g. multi-purpose, multi-domain, gateway, or data-sharing scenarios), a master DSD with satellite DSDs is preferable. ... ... @@ -359,20 +359,17 @@ 359 359 360 360 **Table 8. Data structuring approaches by role in data exchange** 361 361 362 -|**Role in data exchange**|**One DSD vs. master + satellite DSDs vs. multiple, indep. DSDs** 363 -|**Data provider**|It is easier to set up a data submission process against a single DSD (= less initial costs) than against multiple DSDs. 364 -|**Data collector**|((( 352 +|(% style="width:216px" %)**Role in data exchange**|(% style="width:1399px" %)**One DSD vs. master + satellite DSDs vs. multiple, indep. DSDs** 353 +|(% style="width:216px" %)**Data provider**|(% style="width:1399px" %)It is easier to set up a data submission process against a single DSD (= less initial costs) than against multiple DSDs. 354 +|(% style="width:216px" %)**Data collector**|(% style="width:1399px" %)((( 365 365 Data validation is easier with DSDs that only cover what needs to be collected. This is achieved via constraints in the master + satellites approach or via tailor-made independent DSDs. If a single DSD is used in a multi-domain or –purpose scenario, necessary constraints can be specified in the data flow definition or data provision agreement. 366 - 367 367 Further processing of collected data is more flexible and easier if relations are transparent and code lists are shared as in the one DSD or master + satellite DSDs approaches. The “shared context” created through the master DSD increases harmonization and standardization and this way facilitates combined usage of data. 368 368 ))) 369 -|**Role in data exchange**|**One DSD vs. master + satellite DSDs vs. multiple, indep. DSDs** 370 -|**DSD maintenance**|((( 358 +|(% style="width:216px" %)**DSD maintenance**|(% style="width:1399px" %)((( 371 371 The complexity and initial costs for developing and maintaining master + satellite DSDs are higher than for independent DSDs as this involves managing constraints and managing impacts of changes in shared code lists to all DSDs. 372 - 373 373 In the multiple independent DSDs approach, development and maintenance efforts may be distributed. This can be seen as an advantage, but on the other hand requires coordination in case the DSDs are only partially independent (i.e. share some code lists). 374 374 ))) 375 -|**End user (“the public”)**|For data discovery and retrieval the user needs to know what data is actually available (instead of what might be collected/disseminated with a certain data structure). This means that the potential sparseness should be hidden from the user. A reduced DSD derived from the data structure used in the background is more useful in most cases. Whether this is done via one DSD and constraints, master + satellite DSDs, or independent DSDs does not matter that much for the user. 362 +|(% style="width:216px" %)**End user (“the public”)**|(% style="width:1399px" %)For data discovery and retrieval the user needs to know what data is actually available (instead of what might be collected/disseminated with a certain data structure). This means that the potential sparseness should be hidden from the user. A reduced DSD derived from the data structure used in the background is more useful in most cases. Whether this is done via one DSD and constraints, master + satellite DSDs, or independent DSDs does not matter that much for the user. 376 376 377 377 = 5 MINIMUM STRUCTURAL AND SEMANTIC REQUIREMENTS = 378 378 ... ... @@ -402,19 +402,19 @@ 402 402 403 403 **Table 9. Minimum requirements for DSDs~*~*** 404 404 405 -|**Question**|**Concept**|**COG**|**Code list**|**Time series Cross-section** 406 -|Where?|reference area|X|revision|mand. attribute or dimension 407 -|What?|“indicator”|-|domain|one or multiple dimensions 408 -|How?|unit of measure|X|development|mand. attribute or dimension 409 -|How?|unit multiplier|X|available|mandatory attribute 410 -|How?|decimals|X|available|mandatory attribute 411 -|How?|//adjustment//|X|development|mand. att. not relevant 412 -|When?|time period|X|format|dimension mand. att. 413 -|When?|time format|X|available|mandatory attribute 414 -|When?|time period – collection|X|development|mand. att. cond. att. 415 -|When?|data update – last update|X|time stamp|mandatory attribute 416 -|How often?|//frequency//|X|available|mand. att. or not relevant 417 -|(% colspan="2" %)How much? observation value|-|numeric|dimension measure 392 +|(% style="width:205px" %)**Question**|(% style="width:272px" %)**Concept**|(% style="width:178px" %)**COG**|(% style="width:270px" %)**Code list**|(% style="width:690px" %)**Time series Cross-section** 393 +|(% style="width:205px" %)Where?|(% style="width:272px" %)reference area|(% style="width:178px" %)X|(% style="width:270px" %)revision|(% style="width:690px" %)mand. attribute or dimension 394 +|(% style="width:205px" %)What?|(% style="width:272px" %)“indicator”|(% style="width:178px" %)-|(% style="width:270px" %)domain|(% style="width:690px" %)one or multiple dimensions 395 +|(% style="width:205px" %)How?|(% style="width:272px" %)unit of measure|(% style="width:178px" %)X|(% style="width:270px" %)development|(% style="width:690px" %)mand. attribute or dimension 396 +|(% style="width:205px" %)How?|(% style="width:272px" %)unit multiplier|(% style="width:178px" %)X|(% style="width:270px" %)available|(% style="width:690px" %)mandatory attribute 397 +|(% style="width:205px" %)How?|(% style="width:272px" %)decimals|(% style="width:178px" %)X|(% style="width:270px" %)available|(% style="width:690px" %)mandatory attribute 398 +|(% style="width:205px" %)How?|(% style="width:272px" %)//adjustment//|(% style="width:178px" %)X|(% style="width:270px" %)development|(% style="width:690px" %)mand. att. not relevant 399 +|(% style="width:205px" %)When?|(% style="width:272px" %)time period|(% style="width:178px" %)X|(% style="width:270px" %)format|(% style="width:690px" %)dimension mand. att. 400 +|(% style="width:205px" %)When?|(% style="width:272px" %)time format|(% style="width:178px" %)X|(% style="width:270px" %)available|(% style="width:690px" %)mandatory attribute 401 +|(% style="width:205px" %)When?|(% style="width:272px" %)time period – collection|(% style="width:178px" %)X|(% style="width:270px" %)development|(% style="width:690px" %)mand. att. cond. att. 402 +|(% style="width:205px" %)When?|(% style="width:272px" %)data update – last update|(% style="width:178px" %)X|(% style="width:270px" %)time stamp|(% style="width:690px" %)mandatory attribute 403 +|(% style="width:205px" %)How often?|(% style="width:272px" %)//frequency//|(% style="width:178px" %)X|(% style="width:270px" %)available|(% style="width:690px" %)mand. att. or not relevant 404 +|(% colspan="2" style="width:477px" %)How much? observation value|(% style="width:178px" %)-|(% style="width:270px" %)numeric|(% style="width:690px" %)dimension measure 418 418 419 419 ~*~*Concepts in //italics// are only relevant for time series DSDs. An “X” in the COG column means the concept is defined in the COG. Code list “development” means that the SWG will develop a code list to be recommended in the COG; “revision” means that the code list is recommended by the COG and under revision by the SWG; “format” means that a format is defined by another concept; “text”, “time stamp”, and “numeric” provide data types used for uncoded concepts. 420 420 ... ... @@ -422,25 +422,19 @@ 422 422 423 423 **Table 10. Suggested additional concepts for certain scenarios~*~*** 424 424 425 -|**Question**|**Concept**|**COG**|**Code list**|**TS CS**|**Scenario**412 +|**Question**|**Concept**|**COG**|**Code list**|**TS**|**CS**|**Scenario** 426 426 |Who?|compiling agency|X|development|((( 427 -conditional conditional 428 - 429 - (sibling) (obs. level) 430 -)))|data provider different from data compiler 414 +conditional (sibling) 415 +)))|conditional (obs. level)|data provider different from data compiler 431 431 |Who?|((( 432 -confidentiality 433 - 434 -status – observation 435 -)))|X|available|mandatory (obs. level)|except dissemination 436 -|How?|observation status|X|available|conditional (obs. level)|except orig. collection 417 +confidentiality status – observation 418 +)))|X|available|(% colspan="2" rowspan="1" %)mandatory (obs. level)|except dissemination 419 +|How?|observation status|X|available|(% colspan="2" rowspan="1" %)conditional (obs. level)|except orig. collection 437 437 |How much?|((( 438 -//observation pre-// 421 +//observation pre-break value// 422 +)))|-|numeric|cond. (obs.)|not relevant|except orig. collection 423 +|What and how?|//time series title//|X|text|cond. (TS)|not relevant|dissemination 439 439 440 -//break value// 441 -)))|-|numeric|cond. (obs.) not relevant|except orig. collection 442 -|What and how?|//time series title//|X|text|cond. (TS) not relevant|dissemination 443 - 444 444 ~** The legend of Table 9 applies to Table 10 as well. The suggested attachment level of attributes (if any) is provided in parentheses in the TS (time series) or CS (cross-section) columns. In case an attribute does not vary at that level in a certain use case, it should be attached at the highest possible level. 445 445 446 446 == 5.2 Attribute attachment levels and definition of groups == ... ... @@ -462,10 +462,8 @@ 462 462 * //ID//: a unique identifier of the message 463 463 * //Test//: a Boolean attribute that indicates whether the message is for test purposes or not 464 464 * //Prepared//: the date the message was prepared 465 -* //Sender//: the identification of the organization that is transmitting the message 446 +* //Sender//: the identification of the organization that is transmitting the message (recommended: code from the agency code list in the SDMX COG) 466 466 467 -(recommended: code from the agency code list in the SDMX COG) 468 - 469 469 From a business perspective, the inclusion of the //Name// element is highly recommended, as it can help to understand the purpose of the exchange message. Other header elements such as //Receiver// are optional. 470 470 471 471 = 6 STEP-BY-STEP GUIDE =