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)
-
Attachments (0 modified, 0 added, 2 removed)
Details
- Page properties
-
- Content
-
... ... @@ -65,9 +65,7 @@ 65 65 66 66 ==== 2.1.3.1 Irrelevant concepts ==== 67 67 68 -Two options exist to deal with the situation of only a subset of dimensions being relevant{{footnote}}Technically speaking, a third possibility exists. A structure map can be used to define the reduced DSD. The 69 -structure map establishes a mapping between a source structure and a target structure. In this special case, the 70 -aim of the structure map is simply to get rid of irrelevant dimensions. To this end the DSD is mapped to itself, and any unmapped dimensions will not be part of the target structure. The original DSD is not affected by the structure map. The reduced DSD can be derived from the structure map, but from a technical point of view there is no need to actually create the reduced DSD as an artefact. It can exist as a “virtual” DSD that is merely defined by the Structure Map.{{/footnote}}: 68 +Two options exist to deal with the situation of only a subset of dimensions being relevant[[(% class="wikiinternallink" %)^^~[1~]^^>>path:#_ftn1]](%%): 71 71 72 72 1. define a new, reduced concept scheme that includes only the relevant concepts and code lists by reference and a new DSD that uses the reduced concept scheme; 73 73 1. reuse concept scheme, code lists, and DSD, but add constraints to the data flow definition (or to the DSD, but this would also make it a new, derived DSD) that set the irrelevant dimensions to whatever applies from the following: ... ... @@ -85,9 +85,14 @@ 85 85 1. A code list similar to what is needed is available somewhere else. 86 86 11. If only a subset of the existing code list is relevant, the code list can be reused with a constraint imposed either on the code list, or in the DSD, or in the data flow definition (or in the data provisioning agreement). It is also possible to use the entire code list but only report data for the subset. 87 87 11. In case a (different) hierarchy is needed, the underlying flat code list can be referenced and a new hierarchical code list introduced. This means that a flat code list (i.e. without an explicitly defined hierarchy) is available that meets the coverage requirements, but that the existing hierarchy defined on top of the flat code list deviates from the required hierarchy. Hence, the suitable flat code list can be reused, but a new hierarchical code list needs to be defined. Consider for instance the “Reference Area” code list as recommended by the SDMX Content-Oriented Guidelines (COG), i.e. containing ISO-2-character codes for countries. Different groupings of these countries are relevant in different contexts, for example, regional aggregates by continent, by income level, or by membership in certain international groups (e.g. monetary unions). A flat code list can be defined that contains all these country groups in addition to the individual countries. This list does not specify parent-child relationships between groups and countries, as this would entail repeating countries for each group they belong to. It basically provides the value domain for a geographic dimension, but not the semantics of the values in terms of the group composition. 86 + 88 88 On top of this flat code list, different hierarchical code lists can be defined that may use the complete set of codes or just a subset thereof. The flat code list can be referenced by any DSD with a geographical reference, and different DSDs can build their own hierarchical code lists based on the flat list. 88 + 89 +1. 89 89 11. If additional items are needed, a derived code list can be specified by including each element from the existing code list by reference and adding the new elements as required. The current versions of the SDMX Technical Standard do not allow combining existing code lists into one or referencing an entire code list and adding a few elements to be managed in the new code list. Often, simply a copy of the existing list is introduced as new code list with the new items included. This is not optimal, as conceptually identical items have to be managed in multiple code lists. At least in theory it is also possible to just create a new version of the existing code list with the additional items. Existing data flows would then either use the original version of the code list or the new version with constraints, whereas the new version of the code list would be used in the new data flow. Again, this option depends on the organizational background. 91 + 90 90 Consider as an example the inclusion of “Currency” into a DSD with a need for codes for “Domestic currency” and “Foreign currency” in addition to the codes specified in the code list recommended by the SDMX COG. In the first option, the currencies from the recommended code list are included by reference and the two new items added to a new code list. This is superior to the common practice of including copies of the existing codes (the currencies) instead of references. This makes the new code list more independent of the existing one, but it increases the maintenance cost and the risk of inconsistencies. Another option is to extend the existing code list by creating a new code list version. In the currency example, the SDMX consortium as the owner of the recommended code list would need to decide whether this new version should be created or not. 93 + 91 91 1. No appropriate code lists are available. New code lists have to be defined based on the guidelines for the development of code lists. This may often be the case for domain-specific code lists, especially in new areas of investigation. 92 92 93 93 ==== 2.1.3.3 Concepts in different roles ==== ... ... @@ -128,9 +128,9 @@ 128 128 129 129 === 2.3.4 Density and sparseness === 130 130 131 -The //density// of a DSD is closely related to its simplicity whereas //sparseness// often comes along with purity. For a dense DSD, a data flow provides data for all (or the large majority of) cells defined by the Cartesian product {{footnote}}A Cartesian product(orproduct set) is a mathematicalconstruct that buildsa newset out of a number of givensets. Each memberof the Cartesianproduct corresponds to the selection of one element eachinevery one of the original sets.{{/footnote}}of the DSD dimensions. This is typically the case for simple DSDs. For pure DSDs with many dimensions, it is usually not feasible to share data 338 for the entire data space created by the combination of all dimensions.134 +The //density// of a DSD is closely related to its simplicity whereas //sparseness// often comes along with purity. For a dense DSD, a data flow provides data for all (or the large majority of) cells defined by the Cartesian product[[(% class="wikiinternallink" %)^^~[2~]^^>>path:#_ftn2]](%%) of the DSD dimensions. This is typically the case for simple DSDs. For pure DSDs with many dimensions, it is usually not feasible to share data 338 for the entire data space created by the combination of all dimensions. 132 132 133 -For example, a breakdown by “Institutional Sector” or “Gender” may only make sense for a subset of the “Indicators” provided. The sparseness may be measured in terms of the number of dimensions requiring a “not applicable” value or the number of observations that take at least one “not applicable” or “total” value (both as shares of the total number of dimension or the total number of observations, respectively) {{footnote}}Incase astructure mapis used to define reduced versions oftheDSD, the numberof unmapped dimensionsis the equivalentmeasure ofsparseness.{{/footnote}}. An even more precise measure of sparseness is the proportion of theoretically possible key combinations that are irrelevant or not feasible or do not carry data.136 +For example, a breakdown by “Institutional Sector” or “Gender” may only make sense for a subset of the “Indicators” provided. The sparseness may be measured in terms of the number of dimensions requiring a “not applicable” value or the number of observations that take at least one “not applicable” or “total” value (both as shares of the total number of dimension or the total number of observations, respectively)[[(% class="wikiinternallink" %)^^~[3~]^^>>path:#_ftn3]](%%). An even more precise measure of sparseness is the proportion of theoretically possible key combinations that are irrelevant or not feasible or do not carry data. 134 134 135 135 === 2.3.5 Unambiguousness === 136 136 ... ... @@ -138,8 +138,6 @@ 138 138 139 139 **Table 1. Unambiguousness example – dimensions** 140 140 141 -[[image:1768469016538-287.png]] 142 - 143 143 How would an observation of “Gross domestic product, volume, US dollars, reference year = 2005, millions” for the United States be represented with these dimensions? Table 2 provides three different possible representations (there may be even more). 144 144 145 145 **Table 2. Unambiguousness example – ambiguous representations** ... ... @@ -191,7 +191,7 @@ 191 191 192 192 The global BOP DSD that is currently being developed may serve as a more specific example for a multi-purpose DSD. It is supposed to support, amongst others, exchange of the ECB's Balance of Payments (BOP) and International Reserves Template (IRT) data, Eurostat's International Investment Position (IIP) and Trade in Services (TS) data, the OECD's BOP data, and the IMF's Coordinated Portfolio Investment (CPIS) and Coordinated Direct Investment (CDIS) data. 193 193 194 -Table 3 below shows some of the concepts considered relevant for some or all of these related data exchange exercises. {{footnote}}Pleasenote that the example is taken from the developmentstatusof the BOP DSD at the time ofwriting this document. Theconcepts and theirrelevance for certaindata exchanges (representedas data flows or derived DSDs) may be different in thefinal version ofthe DSD.{{/footnote}}Reporting Country and Unit of Measure are required by all data exchanges; the other concepts listed are only necessary (marked by an “X”) for a subset of the data exchanges. For instance, Eurostat's TS and IMF’s CDIS data do not require the distinction of flows and stocks, different maturities, or valuations (indicated by an “O”). Still, there is value in defining one master DSD that covers all concepts required for all of the data exchanges.195 +Table 3 below shows some of the concepts considered relevant for some or all of these related data exchange exercises.[[(% class="wikiinternallink" %)^^~[4~]^^>>path:#_ftn4]](%%) Reporting Country and Unit of Measure are required by all data exchanges; the other concepts listed are only necessary (marked by an “X”) for a subset of the data exchanges. For instance, Eurostat's TS and IMF’s CDIS data do not require the distinction of flows and stocks, different maturities, or valuations (indicated by an “O”). Still, there is value in defining one master DSD that covers all concepts required for all of the data exchanges. 195 195 196 196 If that approach is pursued, satellite DSDs for the individual purposes (or exchange exercises) can be created via constraints (and/or structure maps). Each exchange exercise may also be represented as a data flow (the constraints may also be defined in the data flow instead of the DSD). So there would be one data flow defined for each column in the table below. For instance, the IMF CPIS data flow would restrict “Flows and stocks indicator” and “Valuation” to certain values from the respective code lists. Data provision agreements may then be set up for each data flow with each reporting country. Constraints can be used to restrict the contribution of each country to its own data, so “Reporting country” would be set to the respective value. If the constraints are defined in the data flow and/or structure maps are used to exclude irrelevant dimensions, the satellite DSDs do not materialize; they are “virtual” DSDs. 197 197 ... ... @@ -408,7 +408,7 @@ 408 408 409 409 = 5 MINIMUM STRUCTURAL AND SEMANTIC REQUIREMENTS = 410 410 411 -Although each data exchange scenario has specific requirements, especially on whether a concept needs to be a dimension, a mandatory or conditional attribute, on the attachment level of attributes, and on the attributes provided in the header of a DSD, a small set of minimum structural and semantic requirements can be defined for all scenarios. {{footnote}}Forother more technicalrequirements suchasthe admissible characters inacode orlabelsee the SDMX technical documents.{{/footnote}}412 +Although each data exchange scenario has specific requirements, especially on whether a concept needs to be a dimension, a mandatory or conditional attribute, on the attachment level of attributes, and on the attributes provided in the header of a DSD, a small set of minimum structural and semantic requirements can be defined for all scenarios.[[(% class="wikiinternallink" %)^^~[5~]^^>>path:#_ftn5]] 412 412 413 413 Certain concepts can be broadly agreed upon as being relevant in any data exchange, although their roles may differ between scenarios. The SDMX Content-Oriented Guidelines define many of these cross-domain concepts and, thus, should be referred to for further details on their specification. 414 414 ... ... @@ -510,36 +510,25 @@ 510 510 511 511 Figure 1 provides an overview of the overall process. As a first step, the context of the data exchange(s) that should be covered by the DSD(s) is defined in terms of purpose, domains, level of exchange, type of data, type of recipient, role of in data exchange, process pattern, and GSBPM phase (see Figure 2). Since reusing existing artefacts is one of the guiding principles, the second step identifies existing DSDs that may be reused (see Figure 3). In case relevant DSDs are available, their suitability in the present context is evaluated in step 3. Aspects to be taken into account are concept coverage, concept roles, attribute attachment levels, and code lists (see Figure 4). Step 4 is subject to the outcome of step 3. In case of a favorable assessment, the DSDs are simply reused. If the DSDs are partly suitable, modified versions can be derived. See section 2. for a summary of possible DSD modification scenarios. If the DSDs are not suitable or if no relevant DSDs are available at all, new DSDs will be defined as described in section 3. Finally, supporting artefacts such as data flow definitions and data provision agreements are defined (see Figure 5). 512 512 514 +==== Figure 1. Overview of the DSD design process ==== 513 513 514 -(% class="wikigeneratedid" id="HFigure1.OverviewoftheDSDdesignprocess" %) 515 -Figure 1. Overview of the DSD design process 516 - 517 - 518 518 Figure 2 summarizes the characteristics of the data exchange context that is defined in step 1. These characteristics affect the decision on the data structuring approach that is part of the process of defining the concepts of a new DSD (step 4.3. in Figure 1; see Figure 7 in section 2.). 519 519 520 520 521 -(% class="wikigeneratedid" id="HFigure2.Characteristicsofdataexchangecontext" %) 522 -Figure 2. Characteristics of data exchange context 519 +==== Figure 2. Characteristics of data exchange context ==== 523 523 524 524 Figure 3 recaps the priorities given to different types of existing DSDs when searching for candidates for reuse in step 2. Global DSDs maintained by the SDMX consortium are ranked the highest. They can be found via the Global SDMX Registry. 525 525 523 +==== Figure 3. Priority ranking of existing DSDs for reuse ==== 526 526 527 -(% class="wikigeneratedid" id="HFigure3.PriorityrankingofexistingDSDsforreuse" %) 528 -Figure 3. Priority ranking of existing DSDs for reuse 529 - 530 - 531 531 Figure 4 summarizes the aspects to be considered in the assessment of the suitability of existing DSDs in step 3. For a detailed description of the cases of partial unsuitability see section 2.1. above. 532 532 527 +==== Figure 4. Aspects of DSD suitability ==== 533 533 534 -(% class="wikigeneratedid" id="HFigure4.AspectsofDSDsuitability" %) 535 -Figure 4. Aspects of DSD suitability 536 - 537 - 538 538 Figure 5 lists the most relevant artefacts required in addition to a DSD, its concept scheme, and code lists. 539 539 531 +**Figure 5. Supporting artefacts** 540 540 541 -Figure 5. Supporting artefacts 542 - 543 543 == 6.2 Defining modified DSDs == 544 544 545 545 Figure 6 briefly recapitulates the actions that can be taken to overcome partial unsuitability of DSDs. As far as possible, existing artefacts should be reused in this case. This means that even if a DSD cannot be reused as a whole, concepts and code lists from that DSD can be included in the new DSD by reference. ... ... @@ -572,14 +572,11 @@ 572 572 (% class="wikigeneratedid" id="HFigure13.Codelistspecificationprocess" %) 573 573 Figure 13. Code list specification process 574 574 575 - 576 576 Figure 14 recaps the priorities given to different types of existing code lists when searching for candidates for reuse (step 4.3.2.1.). Code lists recommended by the SDMX COG (and maintained by the SDMX consortium) are ranked the highest. 577 577 578 - 579 579 (% class="wikigeneratedid" id="HFigure14.Priorityrankingofexistingcodelistsforreuse" %) 580 580 Figure 14. Priority ranking of existing code lists for reuse 581 581 582 - 583 583 Figure 15 summarizes the aspects to be considered in the evaluation of the suitability of existing code lists (step 4.3.2.2.). Figure 16 summarizes the scenarios of adapting existing code lists that do not fully meet the specified needs (step 4.3.2.3.2). For a detailed description of the cases of partial unsuitability see section 2.1. above. 584 584 585 585 ... ... @@ -586,7 +586,6 @@ 586 586 (% class="wikigeneratedid" id="HFigure15.Aspectsofcodelistsuitability" %) 587 587 Figure 15. Aspects of code list suitability 588 588 589 - 590 590 (% class="wikigeneratedid" id="HFigure16.Codelistmodificationscenarios" %) 591 591 Figure 16. Code list modification scenarios 592 592 ... ... @@ -613,7 +613,7 @@ 613 613 614 614 Concepts assume different roles in a data structure definition: 615 615 616 -* //dimensions// are required to uniquely identify an observation (a data value); e.g., for time series, at least one geographic, one temporal, and one (“mixed") subject-matter dimension are required to identify a data value (for instance: reference area = Mexico, time = 2002, indicator = GDP nominal, US$) {{footnote}}Please note that thisisnota recommendationtoalways havethree dimensions only. This is just a simplified example.{{/footnote}};602 +* //dimensions// are required to uniquely identify an observation (a data value); e.g., for time series, at least one geographic, one temporal, and one (“mixed") subject-matter dimension are required to identify a data value (for instance: reference area = Mexico, time = 2002, indicator = GDP nominal, US$)[[(% class="wikiinternallink" %)^^~[6~]^^>>path:#_ftn6]](%%); 617 617 * //measures// are the containers of the actual observation or data values; 618 618 * //attributes// provide additional meta-information required to interpret the data correctly but not to identify the observations; for instance, data for the same observation defined by a value combination of the dimensions (also termed “key”) will usually only be provided for one unit multiplier, e.g. in millions; hence unit multiplier is not necessary to identify an observation, but it is still required for a proper interpretation. Attributes can be defined as mandatory or not mandatory, and they can be attached at different levels, e.g. at observation level or at the level of groups defined by the value combinations of a predefined subset of dimensions (for example reporting currency may be attached at the country level). 619 619 ... ... @@ -653,6 +653,17 @@ 653 653 654 654 METIS: Generic Statistical Business Process Model (GSBPM). Available online at http:~/~/www1.unece.org/stat/platform/display/metis/The+Generic+Statistical+Business+Process+Model. UN's System of National Accounts Manual 2008 (SNA2008). Available online at http:~/~/unstats.un.org/unsd/nationalaccount/sna2008.asp. 655 655 642 + 656 656 ---- 657 657 658 -{{putFootnotes/}} 645 +[[~[1~]>>path:#_ftnref1]] Technically speaking, a third possibility exists. A structure map can be used to define the reduced DSD. The structure map establishes a mapping between a source structure and a target structure. In this special case, the aim of the structure map is simply to get rid of irrelevant dimensions. To this end the DSD is mapped to itself, and any unmapped dimensions will not be part of the target structure. The original DSD is not affected by the structure map. The reduced DSD can be derived from the structure map, but from a technical point of view there is no need to actually create the reduced DSD as an artefact. It can exist as a “virtual” DSD that is merely defined by the Structure Map. 646 + 647 +[[~[2~]>>path:#_ftnref2]] A Cartesian product (or product set) is a mathematical construct that builds a new set out of a number of given sets. Each member of the Cartesian product corresponds to the selection of one element each in every one of the original sets. 648 + 649 +[[~[3~]>>path:#_ftnref3]] In case a structure map is used to define reduced versions of the DSD, the number of unmapped dimensions is the equivalent measure of sparseness. 650 + 651 +[[~[4~]>>path:#_ftnref4]] Please note that the example is taken from the development status of the BOP DSD at the time of writing this document. The concepts and their relevance for certain data exchanges (represented as data flows or derived DSDs) may be different in the final version of the DSD. 652 + 653 +[[~[5~]>>path:#_ftnref5]] For other more technical requirements such as the admissible characters in a code or label see the SDMX technical documents. 654 + 655 +[[~[6~]>>path:#_ftnref6]] Please note that this is not a recommendation to always have three dimensions only. This is just a simplified example.
- 1768468989793-901.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -52.9 KB - Content
- 1768469016538-287.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -42.6 KB - Content