Last modified by Elena on 2025/09/10 11:19

From version 3.6
edited by Helena
on 2025/06/08 11:18
Change comment: There is no comment for this version
To version 3.4
edited by Helena
on 2025/06/08 11:14
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -36,22 +36,28 @@
36 36  
37 37  Those classes in the SDMX metamodel which require annotations inherit from //AnnotableArtefact//. These are:
38 38  
39 -//IdentifiableArtefact
40 -DataSet
41 -Key// (and therefore //SeriesKey// and //GroupKey//)
39 +//IdentifiableArtefact//
40 +
41 +//DataSet//
42 +
43 +//Key// (and therefore //SeriesKey// and //GroupKey//)
44 +
42 42  //Observation//
43 43  
44 44  Those classes in the SDMX metamodel which require annotations and global identity are derived from //IdentifiableArtefact//. These are:
45 45  
46 -//NameableArtefact
47 -ComponentList
48 -Component//
49 +//NameableArtefact//
49 49  
51 +//ComponentList//
52 +
53 +//Component//
54 +
50 50  Those classes in the SDMX metamodel which require annotations, global identity, multilingual name and multilingual description are derived from //NameableArtefact//. These are:
51 51  
52 -//VersionableArtefact
53 -Item//
57 +//VersionableArtefact//
54 54  
59 +//Item//
60 +
55 55  The classes in the SDMX metamodel which require annotations, global identity, multilingual name and multilingual description, and versioning are derived from //VersionableArtefact//. These are:
56 56  
57 57  //MaintainableArtefact//
... ... @@ -58,17 +58,22 @@
58 58  
59 59  Abstract classes which represent information that is maintained by Maintenance Agencies all inherit from //MaintainableArtefact//, they also inherit all the features of a //VersionableArtefact//, and are:
60 60  
61 -//StructureUsage
62 -Structure
63 -ItemScheme//
67 +//StructureUsage//
64 64  
69 +//Structure//
70 +
71 +//ItemScheme//
72 +
65 65  All the above classes are abstract. The key to understanding the class diagrams presented in this section are the concrete classes that inherit from these abstract classes.
66 66  
67 67  Those concrete classes in the SDMX Data Structure Definition and Dataset packages of the metamodel which require to be maintained by Agencies all inherit (via other abstract classes) from //MaintainableArtefact//, these are:
68 68  
69 69  Dataflow
78 +
70 70  DataStructureDefinition
80 +
71 71  The component structures that are lists of lists, inherit directly from //Structure//. A //Structure// contains several lists of components. The concrete class that inherits from //Structure// is:
82 +
72 72  DataStructureDefinition
73 73  
74 74  A DataStructureDefinition contains a list of dimensions, a list of measures and a list of attributes.
... ... @@ -76,14 +76,19 @@
76 76  The concrete classes which inherit from //ComponentList// and are subcomponents of the DataStructureDefinition are:
77 77  
78 78  DimensionDescriptor – content is Dimension and TimeDimension
90 +
79 79  DimensionGroupDescriptor – content is an association to Dimension, TimeDimension
92 +
80 80  MeasureDescriptor – content is Measure
94 +
81 81  AttributeDescriptor – content is DataAttribute and an association to MetadataAttribute
82 82  
83 83  The classes that inherit from //Component// are:
84 84  
85 85  Measure
100 +
86 86  //DimensionComponent// and thereby its sub classes of Dimension and TimeDimension
102 +
87 87  //Attribute// and thereby its sub classes of DataAttribute and MetadataAttribute
88 88  
89 89  The concrete classes identified above are the majority of the classes required to define the metamodel for the DataStructureDefinition. The diagrams and explanations in the rest of this section show how these concrete classes are related in order to support the functionality required.
... ... @@ -143,12 +143,11 @@
143 143  
144 144  The following table details the possible relationships a DataAttribute may specify. Note that these relationships are mutually exclusive, and therefore only one of the following is possible.
145 145  
146 -(% style="width:1142.83px" %)
147 -|**Relationship**|(% style="width:537px" %)**Meaning**|(% style="width:434px" %)**Location in Data Set at which the Attribute is reported**
148 -|DataflowRelationship|(% style="width:537px" %)The value of the attribute is fixed for all data contained in the dataset. The Attribute value applies to all data defined by the underlying Dataflow.|(% style="width:434px" %)The attribute is reported at the Dataset level.
149 -|Dimension (1..n)|(% style="width:537px" %)The value of the attribute will vary with the value(s) of the referenced Dimension(s). In this case, Group(s) to which the attribute should be attached may optionally be specified.|(% style="width:434px" %)The attribute is reported at the lowest level of the Dimension to which the Attribute is related, otherwise at the level of the Group if Attachment Group(s) is specified.
150 -|Group|(% style="width:537px" %)The value of the Attribute varies with combination of values for all of the Dimensions contained in the Group. This is added as a convenience to listing all Dimensions and the attachment Group, but should only be used when the Attribute value varies based on all Group Dimension values.|(% style="width:434px" %)The attribute is reported at the level of Group.
151 -|Observation|(% style="width:537px" %)The value of the Attribute varies with the observed value.|(% style="width:434px" %)The attribute is reported at the level of Observation.
162 +|**Relationship**|**Meaning**|**Location in Data Set at which the Attribute is reported**
163 +|DataflowRelationship|The value of the attribute is fixed for all data contained in the dataset. The Attribute value applies to all data defined by the underlying Dataflow.|The attribute is reported at the Dataset level.
164 +|Dimension (1..n)|The value of the attribute will vary with the value(s) of the referenced Dimension(s). In this case, Group(s) to which the attribute should be attached may optionally be specified.|The attribute is reported at the lowest level of the Dimension to which the Attribute is related, otherwise at the level of the Group if Attachment Group(s) is specified.
165 +|Group|The value of the Attribute varies with combination of values for all of the Dimensions contained in the Group. This is added as a convenience to listing all Dimensions and the attachment Group, but should only be used when the Attribute value varies based on all Group Dimension values.|The attribute is reported at the level of Group.
166 +|Observation|The value of the Attribute varies with the observed value.|The attribute is reported at the level of Observation.
152 152  
153 153  [[image:1749246368790-555.jpeg]]
154 154  
... ... @@ -208,6 +208,9 @@
208 208  TimeDimension
209 209  )))|An abstract class representing any Component that can be used for identifying observations.
210 210  
226 +
227 +
228 +
211 211  |**Class**|**Feature**|**Description**
212 212  | |Order|Specifies the order of the Dimension Components within the DSD. The property is used to indicate the position of the Dimension Component and determines the Key for identifying observations, or series. The Time Dimension, when specified, must be the last within the Dimension Descriptor.
213 213  |Dimension|(((
... ... @@ -300,7 +300,7 @@
300 300  
301 301  The GroupKey is a subunit of the //Key// that has the same dimensionality as the SeriesKey but defines a subset of the KeyValues of the SeriesKey. Its sub dimension structure is defined in the GroupDimensionDescriptor of the DataStructureDefinition identified by the same id as the GroupKey. The id identifies a “type” of group and the purpose of the GroupKey is to report one or more //AttributeValue// that are contained at this group level. The GroupKey is present when the GroupDimensionDescriptor is related to the GroupRelationship in the DataStructureDefinition. There can be many types of groups in a //DataSet//. If the Group is related to the DimensionRelationship in the DataStructureDefinition then the //AttributeValue// will be reported with the appropriate dimension in the SeriesKey or Observation.
302 302  
303 -In this way each of SeriesKey, GroupKey, and Observation can have zero or more //AttributeValue//s that define some metadata about the object to which it is associated. The //AttributeValue// may be either a //DataAttributeValue// or a //MetadataAttributeValue//, representing values of DataAttributes defined in the DSD or MetadataAttributes of the linked MSD, respectively. The allowable Concepts and the objects to which these metadata can be associated (attached) are defined in the DataStructureDefinition and the linked MetadataStructureDefinition.
321 +In this way each of SeriesKey, GroupKey, and Observation can have zero or more //AttributeValue//s that define some metadata about the object to which it is associated. The //AttributeValue// may be either a //DataAttributeValue// or a //MetadataAttributeValue//, representing values of DataAttributes defined in the DSD or MetadataAttributes of the linked MSD, respectively. The allowable Concepts and the objects to which these metadata can be associated (attached) are defined in the DataStructureDefinition and the linked MetadataStructureDefinition.
304 304  
305 305  The //AttributeValue// links to the object type (SeriesKey, GroupKey, Observation) to which it is associated.
306 306