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, 3 removed)
Details
- Page properties
-
- Content
-
... ... @@ -63,11 +63,9 @@ 63 63 64 64 In case an existing DSD is close to but differs from what is needed, it may: (i) contain irrelevant concepts, (ii) lack some required concepts, (iii) use the concepts in different roles than required, (iv) deviate with respect to some of the code lists, or (v) contain pure dimensions when mixed dimensions would make more sense or vice versa. More complex situations that are combinations of several (or even all) of these five cases may occur as well. For example, an existing DSD could contain unnecessary concepts and lack other concepts at the same time. 65 65 66 - ====2.1.3.1 Irrelevant concepts====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: ... ... @@ -75,7 +75,7 @@ 75 75 11. If a concept is obsolete because only total values aggregated over the corresponding dimension are relevant, the dimension (or code list) should be restricted to a “total” item. For instance, an existing DSD on bilateral trade contains “Partner Country” as dimension, since data are collected with a breakdown by country of trade counterpart. The new data exchange disseminates similar data, but only the trade totals “vis-à-vis all countries”. 76 76 11. If a concept is not needed because it cannot even be relevant for the data at all or because an additional breakdown is just not available, the concept should be restricted to “not applicable” or “unknown” via constraints. For example, a financial instrument breakdown was not collected and it is unclear whether data for all or only for some financial instruments were included, that is whether the “total” value can be used. In this case, the dimension would be restricted to “unknown”. Consider another simple example of a DSD that contains, amongst others, the two dimensions “Unit of Measure” and “Base Period”. The code list for “Unit of Measure” consists of percent per annum, percentage, and index with base year=100. “Base Period” can contain dates, years, months, etc. If the new data exchange restricts “Unit of Measure” to percent per annum, “Base Period” becomes obsolete and should be constrained to “not applicable”. 77 77 78 - ====2.1.3.2 Missing concepts====76 +**2.1.3.2 Missing concepts** 79 79 80 80 In this case additional concepts (and possibly code lists) are required, for example to accommodate an additional cross-classification. One option is to adapt the existing DSD to satisfy the new needs, i.e., create a new version of the DSD by adding the concepts, dimensions/attributes, and code lists. The feasibility of this solution depends on the relation between the organization requiring the new data structure and the organization maintaining the existing DSD, and the relation between the two usage contexts. The original, restricted model needed for the existing data flows can be specified by means of constraints, as described above for irrelevant concepts, or by referring to the original version of the DSD. 81 81 ... ... @@ -85,22 +85,27 @@ 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 - ====2.1.3.3 Concepts in different roles====96 +**2.1.3.3 Concepts in different roles** 94 94 95 95 In this case concepts are available in other roles than required, for example what needs to be a dimension is merely an attribute or vice versa. This case is already briefly discussed above as part of the first case (“irrelevant concepts”). Basically, a new DSD has to be defined. It can reuse the concept scheme and code lists, but specifies the concepts in the new DSD as dimensions or attributes as required. In case an attribute needs to become a dimension, it may be necessary to define a new code list for that dimension in case it did not exist previously. 96 96 97 97 An example for an attribute having to be redefined as a dimension may be the “Unit of measure” that is frequently just specified as an attribute. If certain indicators are presented in different units in the same data flow, the corresponding DSD must contain “Unit of measure” as dimension, though. 98 98 99 - ====2.1.3.4 Different code lists====102 +**2.1.3.4 Different code lists** 100 100 101 101 In this case the new requirements differ from the existing DSD with respect to some of the code lists, either by only a subset of codes being relevant, by a deviating hierarchical structure, or by necessitating additional codes. These three scenarios are discussed above as special cases of the “missing concepts” case. In theory, just defining a new code list whenever an existing one is not completely appropriate is also possible (but not desirable). However, this means that the overlapping items have to be managed in multiple code lists unless they are included by reference. Also, different DSDs have to be maintained. If the constraints are neither imposed at the code list nor at the DSD level, but at the data flow level, the DSD is simply reused. This is highly recommended. The cost of maintaining multiple DSDs or multiple, largely overlapping code lists can be high. The lack of harmonization has one advantage, though: the increased maintenance and versioning flexibility. For global data exchange, this is not regarded as a reasonable solution. 102 102 103 - ====2.1.3.5 Pure vs. mixed dimensions====106 +**2.1.3.5 Pure vs. mixed dimensions** 104 104 105 105 The design principle of pure dimensions is explained in more detail in subsections 3.3 and section 4 on data structuring approaches. If an existing DSD does not have the desired degree of dimension purity, it is necessary to further decompose and/or combine dimensions of that DSD. This will lead to a new derived DSD and also requires the definition of new (combined or split) code lists, unless they are available from elsewhere. 106 106 ... ... @@ -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 ... ... @@ -199,13 +199,13 @@ 199 199 200 200 |(% rowspan="2" %)**Concept**|(% colspan="2" %)**ECB**|(% colspan="2" %)**Eurostat**|**OECD**|(% colspan="2" %)**IMF** 201 201 |**IRT**|**BOP**|**IIP**|**TS**|**BOP**|**CPIS**|**CDIS** 202 -|Reporting country or area|X|X|X|X|X|X|X 203 -|Unit of measure|X|X|X|X|X|X|X 204 -|Flows and stocks indicator|X|O|O|O|O|O|O 205 -|Reporting sector|X|X|X|O|X|X|X 206 -|Financial instrument|X|X|X|O|X|X|X 207 -|Maturity|X|X|X|O|X|X|O 208 -|Valuation|X|O|X|O|O|O|O 203 +|**Reporting country or area**|X|X|X|X|X|X|X 204 +|**Unit of measure**|X|X|X|X|X|X|X 205 +|**Flows and stocks indicator**|X|O|O|O|O|O|O 206 +|**Reporting sector**|X|X|X|O|X|X|X 207 +|**Financial instrument**|X|X|X|O|X|X|X 208 +|**Maturity**|X|X|X|O|X|X|O 209 +|**Valuation**|X|O|X|O|O|O|O 209 209 210 210 == 3.4 Type of data exchange and recipient == 211 211 ... ... @@ -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 249 +|**Many pure concepts**|**Few composite concepts** 250 +|cleaner data structure|((( 251 +Mixed dimensions may be composed inconsistently making the decomposition into purer concepts and code lists difficult 252 + 253 +(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. 254 +))) 255 + 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. 258 +|(% rowspan="3" %)((( 259 + 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 261 + 262 +)))|**Economic Indicator**|**Unit** 263 +|Industrial production (2000=100)|Index 264 +|GDP real|US Dollars at 2005 prices 266 266 266 +shorter and simpler code lists code lists longer and more complex, may 267 + 268 +require hierarchy to be “readable” 269 + 270 + 271 +**Many pure concepts Few composite concepts** 272 + 273 +more flexible in terms of defining constraints, simpler constraints, but some constraints may 274 + 275 +but constraints more complex be difficult to be represented because of mixed 276 + 277 +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 278 + 279 +|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 280 +|longer (i.e. more complex) observation keys|shorter keys 281 +|special values of code lists such as “not applicable”, “total” may be rather heavily used|less usage of these special values 282 +|creates sparse data if many observations use “not applicable”|way to avoid sparseness 283 +|many constraints may be necessary due to sparseness|typically fewer constraints required because data are less sparse 284 +|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 285 +|more difficult to handle by an end user|presumably more easily comprehensible and manageable by an end user 286 +|more flexible in terms of defining queries; can be mapped to any “mixed” representation|less flexible in terms of search and retrieval 287 + 288 + 289 + 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. 292 +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. 301 + 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. 303 + 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.). 305 + 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. 307 + 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. 312 + 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" %)(((326 +|**Role in data exchange**|**Pure vs. composite concepts approach** 327 +|**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. 329 + 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.332 +|**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. 333 +|**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. 334 +|**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** 356 +|**Level of data exchange**|**Data structuring approa one DSD**|(% colspan="2" %)((( 357 +**ch** 358 + 359 +**master + satellite DSDs** 360 +)))|**multiple, indep. DSDs** 330 330 |**within organization**|((( 331 -best for single-domain, single-purpose can be created on the fly from structured databases 362 +best for single-domain, single-purpose can be created on the 363 + 364 +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 367 +|**Level of data exchange**|(% colspan="3" %)((( 368 +**Data structuring approach** 369 + 370 +**one DSD master + satellite DSDs** 371 +)))|**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 373 +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) 374 + 375 +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 381 +if it is relevant for the public to see the relationship between the data structures: use master + satellites approach 382 + 383 +otherwise the multi-DSD option is preferable, although with the highest possible degree of re-use of code lists and concepts 384 + 385 +in both cases: important to include only concepts, code lists, and codes actually available / used by the data 344 344 ))) 387 +| | | | | 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" %)(((395 +|**Role in data exchange**|**One DSD vs. master + satellite DSDs vs. multiple, indep. DSDs** 396 +|**Data provider**|It is easier to set up a data submission process against a single DSD (= less initial costs) than against multiple DSDs. 397 +|**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. 399 + 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" %)((( 402 +|**Role in data exchange**|**One DSD vs. master + satellite DSDs vs. multiple, indep. DSDs** 403 +|**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. 405 + 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.408 +|**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}}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]] 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 dimension394 -| (% style="width:205px" %)What?|(% style="width:272px" %)“indicator”|(% style="width:178px" %)-|(% style="width:270px" %)domain|(% style="width:690px" %)one or multiple dimensions395 -| (% style="width:205px" %)How?|(% style="width:272px" %)unit of measure|(% style="width:178px" %)X|(% style="width:270px" %)development|(% style="width:690px" %)mand. attribute or dimension396 -| (% style="width:205px" %)How?|(% style="width:272px" %)unit multiplier|(% style="width:178px" %)X|(% style="width:270px" %)available|(% style="width:690px" %)mandatory attribute397 -| (% style="width:205px" %)How?|(% style="width:272px" %)decimals|(% style="width:178px" %)X|(% style="width:270px" %)available|(% style="width:690px" %)mandatory attribute398 -| (% style="width:205px" %)How?|(% style="width:272px" %)//adjustment//|(% style="width:178px" %)X|(% style="width:270px" %)development|(% style="width:690px" %)mand. att. not relevant399 -| (% 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 attribute401 -| (% 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 attribute403 -| (% style="width:205px" %)How often?|(% style="width:272px" %)//frequency//|(% style="width:178px" %)X|(% style="width:270px" %)available|(% style="width:690px" %)mand. att. or not relevant404 -|(% colspan="2" style="width:477px"%)How much? observation value|(% style="width:178px" %)-|(% style="width:270px" %)numeric|(% style="width:690px" %)dimension measure438 +|**Question**|**Concept**|**COG**|**Code list**|**Time series Cross-section** 439 +|Where?|reference area|X|revision|mand. attribute or dimension 440 +|What?|“indicator”|-|domain|one or multiple dimensions 441 +|How?|unit of measure|X|development|mand. attribute or dimension 442 +|How?|unit multiplier|X|available|mandatory attribute 443 +|How?|decimals|X|available|mandatory attribute 444 +|How?|//adjustment//|X|development|mand. att. not relevant 445 +|When?|time period|X|format|dimension mand. att. 446 +|When?|time format|X|available|mandatory attribute 447 +|When?|time period – collection|X|development|mand. att. cond. att. 448 +|When?|data update – last update|X|time stamp|mandatory attribute 449 +|How often?|//frequency//|X|available|mand. att. or not relevant 450 +|(% 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**458 +|**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 460 +conditional conditional 461 + 462 + (sibling) (obs. level) 463 +)))|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 465 +confidentiality 466 + 467 +status – observation 468 +)))|X|available|mandatory (obs. level)|except dissemination 469 +|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 471 +//observation pre-// 424 424 473 +//break value// 474 +)))|-|numeric|cond. (obs.) not relevant|except orig. collection 475 +|What and how?|//time series title//|X|text|cond. (TS) not relevant|dissemination 476 + 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.481 +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 483 +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. 484 + 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. ... ... @@ -457,36 +457,25 @@ 457 457 458 458 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). 459 459 514 +==== 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 - 465 465 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.). 466 466 467 467 468 -(% class="wikigeneratedid" id="HFigure2.Characteristicsofdataexchangecontext" %) 469 -Figure 2. Characteristics of data exchange context 519 +==== 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 523 +==== Figure 3. Priority ranking of existing DSDs for reuse ==== 473 473 474 -(% class="wikigeneratedid" id="HFigure3.PriorityrankingofexistingDSDsforreuse" %) 475 -Figure 3. Priority ranking of existing DSDs for reuse 476 - 477 - 478 478 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. 479 479 527 +==== Figure 4. Aspects of DSD suitability ==== 480 480 481 -(% class="wikigeneratedid" id="HFigure4.AspectsofDSDsuitability" %) 482 -Figure 4. Aspects of DSD suitability 483 - 484 - 485 485 Figure 5 lists the most relevant artefacts required in addition to a DSD, its concept scheme, and code lists. 486 486 531 +**Figure 5. Supporting artefacts** 487 487 488 -Figure 5. Supporting artefacts 489 - 490 490 == 6.2 Defining modified DSDs == 491 491 492 492 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. ... ... @@ -516,27 +516,19 @@ 516 516 The second step in the process of defining a new DSD is the specification of code lists for all coded concepts. All dimensions must be coded (with time being an exception to this rule); attributes may be coded. For uncoded concepts, a data format has to be specified. Existing formats may be reused or new ones defined. An example is the time format that is specified in the SDMX COG. Figure 13 illustrates the code list specification process. If no relevant and suitable code list exists, a new one will be defined or a partially suitable one will be adapted (see Figure 16). Suitable code lists can simply be reused via reference. 517 517 518 518 519 -(% class="wikigeneratedid" id="HFigure13.Codelistspecificationprocess" %) 520 -Figure 13. Code list specification process 562 +==== Figure 13. Code list specification process ==== 521 521 522 - 523 523 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. 524 524 566 +==== Figure 14. Priority ranking of existing code lists for reuse ==== 525 525 526 -(% class="wikigeneratedid" id="HFigure14.Priorityrankingofexistingcodelistsforreuse" %) 527 -Figure 14. Priority ranking of existing code lists for reuse 528 - 529 - 530 530 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. 531 531 532 532 533 -(% class="wikigeneratedid" id="HFigure15.Aspectsofcodelistsuitability" %) 534 -Figure 15. Aspects of code list suitability 571 +==== Figure 15. Aspects of code list suitability ==== 535 535 573 +==== Figure 16. Code list modification scenarios ==== 536 536 537 -(% class="wikigeneratedid" id="HFigure16.Codelistmodificationscenarios" %) 538 -Figure 16. Code list modification scenarios 539 - 540 540 If new code lists need to be defined, please refer to the SDMX Guidelines for the creation of code lists. Basically, code, name, and definition need to be provided for each item in the code list. In addition, hierarchical code lists may be defined. 541 541 542 542 The final step in defining a new DSD covers the assembly of all components specified during the process, i.e. concept scheme(s), code lists, data formats, concept roles, attribute attachment levels, and the assignment of code lists and data formats to concepts. ... ... @@ -545,10 +545,10 @@ 545 545 546 546 Figure 17 provides an overview of all steps in the DSD design process as described in the previous subsections 1. to 3. Figure 18 compiles those steps into a checklist for DSD designers to help them make sure all aspects are considered. 547 547 548 -Figure 17. DSD design process 583 +**Figure 17. DSD design process** 549 549 550 550 551 -Figure 18. Checklist for DSD design process 586 +**Figure 18. Checklist for DSD design process** 552 552 553 553 = 7 ANNEX 1. GLOSSARY OF TERMS = 554 554 ... ... @@ -560,7 +560,7 @@ 560 560 561 561 Concepts assume different roles in a data structure definition: 562 562 563 -* //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}};598 +* //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]](%%); 564 564 * //measures// are the containers of the actual observation or data values; 565 565 * //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). 566 566 ... ... @@ -600,6 +600,17 @@ 600 600 601 601 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. 602 602 638 + 603 603 ---- 604 604 605 -{{putFootnotes/}} 641 +[[~[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. 642 + 643 +[[~[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. 644 + 645 +[[~[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. 646 + 647 +[[~[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. 648 + 649 +[[~[5~]>>path:#_ftnref5]] For other more technical requirements such as the admissible characters in a code or label see the SDMX technical documents. 650 + 651 +[[~[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
- 1768469652632-803.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -10.7 KB - Content