Last modified by Artur K. on 2026/05/29 14:28

From version 1.17
edited by Helena K.
on 2026/01/15 12:50
Change comment: There is no comment for this version
To version 1.4
edited by Helena K.
on 2026/01/15 12:22
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -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 (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.{{/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.
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[[(% class="wikiinternallink wikiinternallink 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}}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.{{/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.
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)[[(% class="wikiinternallink wikiinternallink 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}}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.{{/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.
192 +Table 3 below shows some of the concepts considered relevant for some or all of these related data exchange exercises.[[(% class="wikiinternallink wikiinternallink 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  
... ... @@ -245,29 +245,50 @@
245 245  
246 246  The range of options between the “//just one//”// //(mixed) and “//all component//” subject-matter dimensions approaches is subject to the comprehensiveness (i.e. size, coverage) of the data exchange that the DSD is being developed for. If using a “mixed dimensions” approach, rules for the composition of the mixed dimension(s) may be specified (e.g. concatenate concepts A, B, and C to get mixed dimension X), allowing their easy re-decomposition. In general composite dimensions should be avoided as previously recommended by the SDMX Technical Notes, but there are cases that suggest the usage of composite dimensions. Table 4 juxtaposes general pros and cons of the “//many pure concepts//” and “//fewer composite concepts//” approaches.
247 247  
246 +|**Many pure concepts**|**Few composite concepts**
247 +|cleaner data structure|(((
248 +Mixed dimensions may be composed inconsistently making the decomposition into purer concepts and code lists difficult
249 +
250 +(requiring complex mapping etc.). Information that corresponds to the same concept may be included in different dimensions, e.g. reference year is contained in the indicator dimension in the first example but in the unit in the second example below. The optimal common data structure would consist of Economic Indicator, Unit, and Base period.
251 +)))
252 +
248 248  **Table 4. General comparison of data structuring approaches**
249 249  
250 -|(% style="width:416px" %)**Many pure concepts**|(% style="width:1199px" %)**Few composite concepts**
251 -|(% style="width:416px" %)cleaner data structure|(% style="width:1199px" %)(((
252 -Mixed dimensions may be composed inconsistently making the decomposition into purer concepts and code lists difficult (requiring complex mapping etc.). Information that corresponds to the same concept may be included in different dimensions, e.g. reference year is contained in the indicator dimension in the first example but in the unit in the second example below. The optimal common data structure would consist of Economic Indicator, Unit, and Base period.
255 +|(% rowspan="3" %)(((
256 +
253 253  
254 -[[image:1768469652632-803.png||height="106" width="352"]]
255 -)))
256 -|(% style="width:416px" %)shorter and simpler code lists|(% style="width:1199px" %)code lists longer and more complex, may require hierarchy to be “readable”
257 -|(% style="width:416px" %)more flexible in terms of defining constraints, but constraints more complex|(% style="width:1199px" %)simpler constraints, but some constraints may be difficult to be represented because of mixed dimensions. Consider for instance a constraint “Base period = 1995” in the above example, where some observations include the base period in the Economic Indicator dimension, others in the Unit dimension. Instead of specifying a constraint on a pure Base Period dimension, the constraints may have to be specified at observation (or time series) level
258 -|(% style="width:416px" %)more flexible in terms of mapping to other data structures (used by other systems), further processing and analysis (e.g. tabulation, dissemination format), and future needs|(% style="width:1199px" %)“mixed” dimensions make data structure less flexible in these respects
259 -|(% style="width:416px" %)longer (i.e. more complex) observation keys|(% style="width:1199px" %)shorter keys
260 -|(% style="width:416px" %)special values of code lists such as “not applicable”, “total” may be rather heavily used|(% style="width:1199px" %)less usage of these special values
261 -|(% style="width:416px" %)creates sparse data if many observations use “not applicable”|(% style="width:1199px" %)way to avoid sparseness
262 -|(% style="width:416px" %)many constraints may be necessary due to sparseness|(% style="width:1199px" %)typically fewer constraints required because data are less sparse
263 -|(% style="width:416px" %)many dimensions are tantamount to many attachment levels for attributes (i.e. DSD more flexible in terms of attribute attachment)|(% style="width:1199px" %)less dimensions = less possible attribute attachment levels
264 -|(% style="width:416px" %)more difficult to handle by an end user|(% style="width:1199px" %)presumably more easily comprehensible and manageable by an end user
265 -|(% style="width:416px" %)more flexible in terms of defining queries; can be mapped to any “mixed” representation|(% style="width:1199px" %)less flexible in terms of search and retrieval
258 +
259 +)))|**Economic Indicator**|**Unit**
260 +|Industrial production (2000=100)|Index
261 +|GDP real|US Dollars at 2005 prices
266 266  
263 +shorter and simpler code lists code lists longer and more complex, may
264 +
265 +require hierarchy to be “readable”
266 +
267 +
268 +**Many pure concepts Few composite concepts**
269 +
270 +more flexible in terms of defining constraints, simpler constraints, but some constraints may
271 +
272 +but constraints more complex be difficult to be represented because of mixed
273 +
274 +dimensions. Consider for instance a constraint “Base period = 1995” in the above example, where some observations include the base period in the Economic Indicator dimension, others in the Unit dimension. Instead of specifying a constraint on a pure Base Period dimension, the constraints may have to be specified at observation (or time series) level
275 +
276 +|more flexible in terms of mapping to other data structures (used by other systems), further processing and analysis (e.g. tabulation, dissemination format), and future needs|“mixed” dimensions make data structure less flexible in these respects
277 +|longer (i.e. more complex) observation keys|shorter keys
278 +|special values of code lists such as “not applicable”, “total” may be rather heavily used|less usage of these special values
279 +|creates sparse data if many observations use “not applicable”|way to avoid sparseness
280 +|many constraints may be necessary due to sparseness|typically fewer constraints required because data are less sparse
281 +|many dimensions are tantamount to many attachment levels for attributes (i.e. DSD more flexible in terms of attribute attachment)|less dimensions = less possible attribute attachment levels
282 +|more difficult to handle by an end user|presumably more easily comprehensible and manageable by an end user
283 +|more flexible in terms of defining queries; can be mapped to any “mixed” representation|less flexible in terms of search and retrieval
284 +
285 +
286 +
267 267  The latter two aspects mentioned in the table could be summarized as the “many pure dimensions” approach being more difficult to handle for a “basic” user, but providing fewer options for an “advanced” user. When it comes to dissemination to end users, a purer data structure is the appropriate format for consumption by applications and advanced users. For less advanced user groups it makes sense to hide the (for them: unnecessary) complexity by means of concatenating dimensions, for instance to create a time series view.
268 268  
269 -Comparing single-purpose and single-domain exchange scenarios with multi-domain and/or multi-purpose scenarios, pure concepts are typically easier to achieve in the former, whereas composite concepts/dimensions may make life easier in the latter, especially because certain cross-classification concepts may only apply to some domains and/or purposes covered. “Purpose” mean“mixed” dimensions make data structure less
270 -flexible in these respectsither a certain data exchange exercise or data flow, for instance in the BOP DSD endeavor mentioned above each column represents one “purpose”, e.g. ECB IRT or OECD BOP. In multi-domain or –purpose scenarios, pure concepts are more easily obtained by a “many DSDs” approach, no matter if those are independent from each other or linked by a “master DSD”. Although it does not rule out the specification of pure concepts, a “one DSD” approach typically leads to using fewer, composite concepts (dimensions) in those scenarios.
289 +Comparing single-purpose and single-domain exchange scenarios with multi-domain and/or multi-purpose scenarios, pure concepts are typically easier to achieve in the former, whereas composite concepts/dimensions may make life easier in the latter, especially because certain cross-classification concepts may only apply to some domains and/or purposes covered. “Purpose” means either a certain data exchange exercise or data flow, for instance in the BOP DSD endeavor mentioned above each column represents one “purpose”, e.g. ECB IRT or OECD BOP. In multi-domain or –purpose scenarios, pure concepts are more easily obtained by a “many DSDs” approach, no matter if those are independent from each other or linked by a “master DSD”. Although it does not rule out the specification of pure concepts, a “one DSD” approach typically leads to using fewer, composite concepts (dimensions) in those scenarios.
271 271  
272 272  Table 5 provides an overview of the pros and cons of the “many pure concepts" and “fewer composite concepts” approaches in different data exchange settings with respect to the type of organizations involved. In any of these settings it is always possible to use one of the data structures that may already exist at one of the involved parties as DSD for the data exchange. The benefits and drawbacks discussed in the table assume that a new DSD is to be defined. A distinction between two different types of intended recipients is implicitly made. Inter-organizational data exchange is mostly machine-to-machine, whereas dissemination of data to end-users is often machine-to-user.
273 273  
... ... @@ -276,13 +276,18 @@
276 276  |**Level of data exchange**|**Pure vs. composite concepts approach**
277 277  |**within an organization**|(((
278 278  Depends on diversity of systems involved in data exchange.
298 +
279 279  The approach that requires the least mapping (and similar processing) steps between the two communicating data structures is preferable in terms of a “quick win” solution.
300 +
280 280  In general, a more granular model is preferable due to its flexibility that helps support potential future needs (with respect to processing, analysis, exchange, dissemination, etc.).
302 +
281 281  However, an internal exchange should not be made more complex than necessary. If the structures of the communicating systems are comparable, it may not make sense to create an artificial intermediary structure that is more pure, but also more complex than both underlying structures.
304 +
282 282  Still, as a longer-term strategy it seems reasonable to define a set of internal “standard” code lists that all systems can map to. This allows bilateral communication via the shared concepts and code lists meaning that every data structure only has to be mapped once – to the internal standard – to be able to communicate with all other participating (i.e. mapped) systems.
283 283  )))
284 284  |**between organizations at national level**|(((
285 285  The pros and cons at this level of exchange are comparable to those at the “within organization” level. If the data structures of the communicating systems are comparable, there is no need to introduce complexity by a conceptually optimal, pure data structure. However, if the data structures deviate to a greater extent (and they often do), they should both be decomposed to find a “common denominator”, a more granular “exchange vocabulary” which they can be mapped to.
309 +
286 286  If related international or national standards exist, they should be used, even though national labels and/or additional levels of detail may be required in the code lists.
287 287  )))
288 288  |**between international organization and national organizations of member countries**|International organizations should collect data at a level of granularity and purity that is most suitable for the intended (and potential future) analyses. The tradeoff with the higher complexity of constraints required to check structural validity of collected data needs to be taken into account as well. Also it is recommended to consider the burden that a more complex data structure may put on national data providers. However, once a DSD is defined, its lifetime is expected to be a number of years. The main effort of the data provider is to specify the mapping from the production data structure to the DSD. Once this is done the data exchange can be automated and the complexity of the DSD does not matter that much.
... ... @@ -296,14 +296,15 @@
296 296  
297 297  **Table 6. Data structuring approaches by role in data exchange**
298 298  
299 -|(% style="width:215px" %)**Role in data exchange**|(% style="width:1400px" %)**Pure vs. composite concepts approach**
300 -|(% style="width:215px" %)**Data provider**|(% style="width:1400px" %)(((
323 +|**Role in data exchange**|**Pure vs. composite concepts approach**
324 +|**Data provider**|(((
301 301  If the composition of the concepts in the data provider's production system largely differs from the one in the DSD, mapping it to a few composite concepts may be more complex than mapping it to many pure concepts. (Mapping to just one mixed concept is straightforward, though.) This is due to the need to decompose and recombine concepts in case of a “mixed concepts” DSD. If the data provider’s internal data structure is very granular or very similar to the DSD, it does not make a huge difference if the concepts in that DSD are pure or not.
326 +
302 302  For a “final” data provider disseminating data to the public, the flexibility offered by a pure data structure in terms of defining different output formats may be beneficial.
303 303  )))
304 -|(% style="width:215px" %)**Data collector**|(% style="width:1400px" %)Defining constraints for data validation is more complex for a highdimensional, pure DSD. But such a DSD provides more flexibility in terms of consumption and reuse, i.e. mapping to the data collector’s internal data model mapping easier.
305 -|(% style="width:215px" %)**DSD maintenance**|(% style="width:1400px" %)Pure concepts usually have shorter, less complex code lists and are thus easier to maintain. In contrast, the maintenance of constraints, hierarchical code lists, and derived, composite concepts (e.g. for dissemination) requires more effort.
306 -|(% style="width:215px" %)**End user (“the public”)**|(% style="width:1400px" %)Consumption and reuse are more flexible in a pure data structure, but it is more difficult to identify observation keys that actually have data because of the created sparseness. (Constraints may help in this respect.) Frequent occurrences of “non applicable” values may also make data usage cumbersome.
329 +|**Data collector**|Defining constraints for data validation is more complex for a highdimensional, pure DSD. But such a DSD provides more flexibility in terms of consumption and reuse, i.e. mapping to the data collector’s internal data model mapping easier.
330 +|**DSD maintenance**|Pure concepts usually have shorter, less complex code lists and are thus easier to maintain. In contrast, the maintenance of constraints, hierarchical code lists, and derived, composite concepts (e.g. for dissemination) requires more effort.
331 +|**End user (“the public”)**|Consumption and reuse are more flexible in a pure data structure, but it is more difficult to identify observation keys that actually have data because of the created sparseness. (Constraints may help in this respect.) Frequent occurrences of “non applicable” values may also make data usage cumbersome.
307 307  
308 308  == 4.2 Number and relations of DSDs ==
309 309  
... ... @@ -325,23 +325,38 @@
325 325  
326 326  **Table 7. Data structuring approaches by level of data exchange**
327 327  
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**
353 +|**Level of data exchange**|**Data structuring approa one DSD**|(% colspan="2" %)(((
354 +**ch**
355 +
356 +**master + satellite DSDs**
357 +)))|**multiple, indep. DSDs**
330 330  |**within organization**|(((
331 -best for single-domain, single-purpose can be created on the fly from structured databases
359 +best for single-domain, single-purpose can be created on the
360 +
361 +fly from structured databases
332 332  )))|(% 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
333 333  |**between national organizations**|(% colspan="4" %)the same applies as to the “within organization” scenario
364 +|**Level of data exchange**|(% colspan="3" %)(((
365 +**Data structuring approach**
366 +
367 +**one DSD master + satellite DSDs**
368 +)))|**multiple, indep. DSDs**
334 334  |**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|(((
335 -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
370 +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)
371 +
372 +equivalent to multiple “one DSD” solutions, one for each domain / purpose
336 336  )))
337 337  |**between international organizations**|(% colspan="3" %)comparable to “national to international” scenario|
338 338  |**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" %)(((
339 339  in multi-purpose or –domain scenarios:
340 340  
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
378 +if it is relevant for the public to see the relationship between the data structures: use master + satellites approach
379 +
380 +otherwise the multi-DSD option is preferable, although with the highest possible degree of re-use of code lists and concepts
381 +
382 +in both cases: important to include only concepts, code lists, and codes actually available / used by the data
344 344  )))
384 +| | | | |
345 345  
346 346  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.
347 347  
... ... @@ -349,21 +349,24 @@
349 349  
350 350  **Table 8. Data structuring approaches by role in data exchange**
351 351  
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" %)(((
392 +|**Role in data exchange**|**One DSD vs. master + satellite DSDs vs. multiple, indep. DSDs**
393 +|**Data provider**|It is easier to set up a data submission process against a single DSD (= less initial costs) than against multiple DSDs.
394 +|**Data collector**|(((
355 355  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.
396 +
356 356  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.
357 357  )))
358 -|(% style="width:216px" %)**DSD maintenance**|(% style="width:1399px" %)(((
399 +|**Role in data exchange**|**One DSD vs. master + satellite DSDs vs. multiple, indep. DSDs**
400 +|**DSD maintenance**|(((
359 359  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.
402 +
360 360  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).
361 361  )))
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.
405 +|**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.
363 363  
364 364  = 5 MINIMUM STRUCTURAL AND SEMANTIC REQUIREMENTS =
365 365  
366 -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}}For other more technical requirements such as the admissible characters in a code or label see the SDMX technical documents.{{/footnote}}
409 +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 wikiinternallink wikiinternallink" %)^^~[5~]^^>>path:#_ftn5]]
367 367  
368 368  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.
369 369  
... ... @@ -389,19 +389,19 @@
389 389  
390 390  **Table 9. Minimum requirements for DSDs~*~***
391 391  
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
435 +|**Question**|**Concept**|**COG**|**Code list**|**Time series Cross-section**
436 +|Where?|reference area|X|revision|mand. attribute or dimension
437 +|What?|“indicator”|-|domain|one or multiple dimensions
438 +|How?|unit of measure|X|development|mand. attribute or dimension
439 +|How?|unit multiplier|X|available|mandatory attribute
440 +|How?|decimals|X|available|mandatory attribute
441 +|How?|//adjustment//|X|development|mand. att. not relevant
442 +|When?|time period|X|format|dimension mand. att.
443 +|When?|time format|X|available|mandatory attribute
444 +|When?|time period – collection|X|development|mand. att. cond. att.
445 +|When?|data update – last update|X|time stamp|mandatory attribute
446 +|How often?|//frequency//|X|available|mand. att. or not relevant
447 +|(% colspan="2" %)How much? observation value|-|numeric|dimension measure
405 405  
406 406  ~*~*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.
407 407  
... ... @@ -409,25 +409,33 @@
409 409  
410 410  **Table 10. Suggested additional concepts for certain scenarios~*~***
411 411  
412 -|**Question**|**Concept**|**COG**|**Code list**|**TS**|**CS**|**Scenario**
455 +|**Question**|**Concept**|**COG**|**Code list**|**TS CS**|**Scenario**
413 413  |Who?|compiling agency|X|development|(((
414 -conditional (sibling)
415 -)))|conditional (obs. level)|data provider different from data compiler
457 +conditional conditional
458 +
459 + (sibling) (obs. level)
460 +)))|data provider different from data compiler
416 416  |Who?|(((
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
462 +confidentiality
463 +
464 +status – observation
465 +)))|X|available|mandatory (obs. level)|except dissemination
466 +|How?|observation status|X|available|conditional (obs. level)|except orig. collection
420 420  |How much?|(((
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
468 +//observation pre-//
424 424  
470 +//break value//
471 +)))|-|numeric|cond. (obs.) not relevant|except orig. collection
472 +|What and how?|//time series title//|X|text|cond. (TS) not relevant|dissemination
473 +
425 425  ~** 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.
426 426  
427 427  == 5.2 Attribute attachment levels and definition of groups ==
428 428  
429 -Each concept can only be used once as a dimension or an attribute in one DSD. Each attribute must be explicitly attached to an observation, series, or group. The attachment level depends on whether the value of the attribute changes by observation, observation group, or time series, or is the same for all observations. In the latter case, the attribute has to be specified at the //data flow// or //dataset// level. For some attributes described in the previous section, a certain attachment level applies, for others the attachment level depends on the data. For example, the time series title has to be attached at the time series level and the observation status at the observation level.
478 +Each concept can only be used once as a dimension or an attribute in one DSD. Each attribute must be explicitly attached to an observation, series, or group. The attachment level
430 430  
480 +depends on whether the value of the attribute changes by observation, observation group, or time series, or is the same for all observations. In the latter case, the attribute has to be specified at the //data flow// or //dataset// level. For some attributes described in the previous section, a certain attachment level applies, for others the attachment level depends on the data. For example, the time series title has to be attached at the time series level and the observation status at the observation level.
481 +
431 431  Series and groups are useful groupings of data that allow the specification of attributes for a set of observations instead of having to declare those attributes for every data point thereby. This increases the readability of an SDMX data file, reduces the size of the data file, and (in some cases) even increases the processing efficiency.
432 432  
433 433  Series is relevant for time series data only. It refers to a group of observations that differ only with respect to the time dimension, i.e. all dimensions except time define the series attachment level. The best-known example of a group definition is the sibling group that combines time series with different frequencies. Observations in a sibling group differ with respect to frequency and time; all other dimensions are used to define the sibling group. A sibling group can be regarded as a time series group with the frequency excluded from the group definition. Any other combination of dimensions (or a single dimension) can also be used to define an observation group. An example for a group defined by a single dimension is reporting country. For instance, attributes related to methodology are often the same for all data of a country. In order to attach attributes to a group, a name for that group has to be specified.
... ... @@ -443,8 +443,10 @@
443 443  * //ID//: a unique identifier of the message
444 444  * //Test//: a Boolean attribute that indicates whether the message is for test purposes or not
445 445  * //Prepared//: the date the message was prepared
446 -* //Sender//: the identification of the organization that is transmitting the message (recommended: code from the agency code list in the SDMX COG)
497 +* //Sender//: the identification of the organization that is transmitting the message
447 447  
499 +(recommended: code from the agency code list in the SDMX COG)
500 +
448 448  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.
449 449  
450 450  = 6 STEP-BY-STEP GUIDE =
... ... @@ -455,41 +455,25 @@
455 455  
456 456  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).
457 457  
458 -(% class="wikigeneratedid" %)
459 -[[image:1768470533088-795.png]]
511 +==== Figure 1. Overview of the DSD design process ====
460 460  
461 -(% class="wikigeneratedid" id="HFigure1.OverviewoftheDSDdesignprocess" %)
462 -Figure 1. Overview of the DSD design process
463 -
464 464  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.).
465 465  
466 -[[image:1768470575978-226.png]]
467 467  
468 -(% class="wikigeneratedid" id="HFigure2.Characteristicsofdataexchangecontext" %)
469 -Figure 2. Characteristics of data exchange context
516 +==== Figure 2. Characteristics of data exchange context ====
470 470  
471 471  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.
472 472  
473 -(% class="wikigeneratedid" %)
474 -[[image:1768470596130-305.png]]
520 +==== Figure 3. Priority ranking of existing DSDs for reuse ====
475 475  
476 -(% class="wikigeneratedid" id="HFigure3.PriorityrankingofexistingDSDsforreuse" %)
477 -Figure 3. Priority ranking of existing DSDs for reuse
478 -
479 479  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.
480 480  
481 -(% class="wikigeneratedid" %)
482 -[[image:1768470626558-321.png]]
524 +==== Figure 4. Aspects of DSD suitability ====
483 483  
484 -(% class="wikigeneratedid" id="HFigure4.AspectsofDSDsuitability" %)
485 -Figure 4. Aspects of DSD suitability
486 -
487 487  Figure 5 lists the most relevant artefacts required in addition to a DSD, its concept scheme, and code lists.
488 488  
489 -[[image:1768470646456-652.png]]
528 +**Figure 5. Supporting artefacts**
490 490  
491 -Figure 5. Supporting artefacts
492 -
493 493  == 6.2 Defining modified DSDs ==
494 494  
495 495  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.
... ... @@ -522,14 +522,11 @@
522 522  (% class="wikigeneratedid" id="HFigure13.Codelistspecificationprocess" %)
523 523  Figure 13. Code list specification process
524 524  
525 -
526 526  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.
527 527  
528 -
529 529  (% class="wikigeneratedid" id="HFigure14.Priorityrankingofexistingcodelistsforreuse" %)
530 530  Figure 14. Priority ranking of existing code lists for reuse
531 531  
532 -
533 533  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.
534 534  
535 535  
... ... @@ -536,7 +536,6 @@
536 536  (% class="wikigeneratedid" id="HFigure15.Aspectsofcodelistsuitability" %)
537 537  Figure 15. Aspects of code list suitability
538 538  
539 -
540 540  (% class="wikigeneratedid" id="HFigure16.Codelistmodificationscenarios" %)
541 541  Figure 16. Code list modification scenarios
542 542  
... ... @@ -563,7 +563,7 @@
563 563  
564 564  Concepts assume different roles in a data structure definition:
565 565  
566 -* //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 this is not a recommendation to always have three dimensions only. This is just a simplified example.{{/footnote}};
599 +* //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 wikiinternallink wikiinternallink" %)^^~[6~]^^>>path:#_ftn6]](%%);
567 567  * //measures// are the containers of the actual observation or data values;
568 568  * //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).
569 569  
... ... @@ -603,6 +603,19 @@
603 603  
604 604  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.
605 605  
639 +
606 606  ----
607 607  
642 +[[~[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.
643 +
644 +[[~[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.
645 +
646 +[[~[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.
647 +
648 +[[~[5~]>>path:#_ftnref5]] For other more technical requirements such as the admissible characters in a code or label see the SDMX technical documents.
649 +
650 +[[~[6~]>>path:#_ftnref6]] Please note that this is not a recommendation to always have three dimensions only. This is just a simplified example.
651 +
652 +----
653 +
608 608  {{putFootnotes/}}
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
1768469652632-803.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -10.7 KB
Content
1768470533088-795.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -48.6 KB
Content
1768470575978-226.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -95.8 KB
Content
1768470596130-305.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -44.4 KB
Content
1768470611326-907.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -51.5 KB
Content
1768470626558-321.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -51.5 KB
Content
1768470646456-652.png
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.helena
Size
... ... @@ -1,1 +1,0 @@
1 -32.7 KB
Content
© Semantic R&D Group, 2026