Changes for page 10 Constraints

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

From version 1.1
edited by Helena
on 2025/06/16 12:03
Change comment: There is no comment for this version
To version 4.1
edited by Helena
on 2025/06/16 12:33
Change comment: There is no comment for this version

Summary

Details

Page properties
Tags
... ... @@ -1,0 +1,1 @@
1 +Age|Artefact|Attribute|Code|Code list|Comment|Component|Data set|Data structure definition|Dataflow|Dimension|Maintainable artefact|Measure|Member selection|Metadata set|Metadata structure definition|Metadataflow|Observation value|Provision agreement|Reference metadata|Series key|Sex|Statistical data and metadata exchange|Time period
Content
... ... @@ -2,317 +2,316 @@
2 2  {{toc/}}
3 3  {{/box}}
4 4  
5 -1.
6 -11. Introduction
5 +== 10.1 Introduction ==
7 7  
8 -Constraints are used as a way to restrict what data can be reported, or to report what data exists in a given context.  There are three types of Constraint, which serve different purposes
7 +(% style="color:#e74c3c" %)Constraints(%%) are used as a way to restrict what data can be reported, or to report what data exists in a given context.  There are three types of (% style="color:#e74c3c" %)Constraint(%%), which serve different purposes
9 9  
10 -* Availability Constraint
11 -* Dimension Constraint
12 -* Reporting Constraints
9 +* Availability (% style="color:#e74c3c" %)Constraint
10 +* [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint
11 +* Reporting (% style="color:#e74c3c" %)Constraints
13 13  
14 -An Availability Constraint defines the data that exists in the context of a data query.
13 +An Availability (% style="color:#e74c3c" %)Constraint(%%) defines the data that exists in the context of a data query.
15 15  
16 -They form part of the response message from the Availability REST API. Availability Constraints are dynamically generated by a system based on the data that exists and the query context.  Availability Constraints are therefore not Identifiable structures (they have no URN).
15 +They form part of the response message from the Availability REST API. Availability (% style="color:#e74c3c" %)Constraints(%%) are dynamically generated by a system based on the data that exists and the query context.  Availability (% style="color:#e74c3c" %)Constraints(%%) are therefore not Identifiable structures (they have no URN).
17 17  
18 -A Dimension Constraint is a property of a Dataflow, they are used to fix the Dimensions that they use in the Data Structure Definition which they use. Dimension Constraints enable Data Structure Definitions to evolve over time by having new Dimensions added, without having to undergo a major version change. 
17 +A [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%) is a property of a [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]], they are used to fix the [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] that they use in the [[Data Structure Definition>>doc:sdmx:Glossary.Data structure definition.WebHome]] which they use. [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraints(%%) enable [[Data Structure Definitions>>doc:sdmx:Glossary.Data structure definition.WebHome]] to evolve over time by having new [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] added, without having to undergo a major (% style="color:#e74c3c" %)version(%%) change. 
19 19  
20 -A Reporting Constraint is used to define the set of allowed and/or disallowed values that can be reported in a data or metadata set.
19 +A Reporting (% style="color:#e74c3c" %)Constraint(%%) is used to define the set of allowed and/or disallowed values that can be reported in a data or [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]].
21 21  
22 -1.
23 -11. Availability Constraint
21 +== 10.2 Availability Constraint ==
24 24  
25 -An Availability Constraint is not a maintained structure, instead it is generated dynamically as a response to the availability REST API. The purpose of the Availability Constraint is to define the distinct set of values that have data over 1 or more Dimensions.  Unlike a Data and Metadata Constraint, which can attach to multiple Constrainable structures (of the same type), an Availability Constraint can only attach to only one structure.  The attachment defines the context of the response (data exists for components in the context of).  The subset of Constrainable structures the Availability Constraint can attach to are:
23 +An Availability (% style="color:#e74c3c" %)Constraint(%%) is not a maintained structure, instead it is generated dynamically as a response to the availability REST API. The purpose of the Availability (% style="color:#e74c3c" %)Constraint(%%) is to define the distinct set of values that have data over 1 or more [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]].  Unlike a Data and Metadata (% style="color:#e74c3c" %)Constraint(%%), which can attach to multiple Constrainable structures (of the same type), an Availability (% style="color:#e74c3c" %)Constraint(%%) can only attach to only one structure.  The attachment defines the context of the response (data exists for [[components>>doc:sdmx:Glossary.Component.WebHome]] in the context of).  The subset of Constrainable structures the Availability (% style="color:#e74c3c" %)Constraint(%%) can attach to are:
26 26  
27 -* Data Structure Definition
28 -* Dataflow
29 -* Provision Agreement
30 -*1. Dimension Constraint
25 +* [[Data Structure Definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]
26 +* [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]
27 +* [[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]]
31 31  
32 -A Dimension Constraint is a property of a Dataflow; its purpose is to explicitly list the Dimensions from the corresponding DSD that are being used by the Dataflow. 
29 +== 10.3 Dimension Constraint ==
33 33  
34 -Dimension Constraints were introduced in SDMX 3.1 and are not required for most Dataflows where the dataset must always contain the full complement of Dimensions as defined by the corresponding DSD. However, for some complex data collections, which may span long periods and where the full complement of required Dimensions are not necessarily known at design time, the DSD is subject to increasing its Dimensionality over time In this scenario it is possible to define the DSD as an evolving structure, this property tells the user that the DSD can have new Dimensions added without having to undergo a major version change; a DSD at version 1.0.0 for example would be able to add a new Dimension and move to version 1.1.0; a change that would not ordinarily be allowed.  A minor version change on the addition of a new Dimension is only possible if the DSD defines itself as an evolving structure.   This is a new property of the DSD introduced in version 3.1 to satisfy this use case.  The evolving structure  property is either true or false, defaulting to false if not specified.  Setting the evolving structure property to true requires a major version change, and therefore can only be introduced on an x.0.0 release (e.g. 1.0.0).  The evolving structure property can be set to false to indicate that there will be no additional Dimensions added to the Data Structure under the same major version number; setting the evolving structure property to false does not require require a major version change on the Data Structure 
31 +A [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%) is a property of a [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]; its purpose is to explicitly list the [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] from the corresponding [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] that are being used by the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]
35 35  
36 -When a Dataflow references a DSD, late binding on the minor release, and the DSD has the evolving structure property set to true, then the Dataflow must contain a Dimension Constraint to protect its Dimensionality from changing over time without a version change. 
33 +[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraints(%%) were introduced in [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] 3.1 and are not required for most [[Dataflows>>doc:sdmx:Glossary.Dataflow.WebHome]] where the [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] must always contain the full complement of [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] as defined by the corresponding [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]]. However, for some complex data collections, which may span long periods and where the full complement of required [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] are not necessarily known at design time, the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] is subject to increasing its Dimensionality over time.  In this scenario it is possible to define the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] as an evolving structure, this property tells the user that the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] can have new [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] added without having to undergo a major (% style="color:#e74c3c" %)version(%%) change; a [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] at (% style="color:#e74c3c" %)version(%%) 1.0.0 for example would be able to add a new [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] and move to (% style="color:#e74c3c" %)version(%%) 1.1.0; a change that would not ordinarily be allowed.  A minor (% style="color:#e74c3c" %)version(%%) change on the addition of a new [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] is only possible if the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] defines itself as an evolving structure.   This is a new property of the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] introduced in (% style="color:#e74c3c" %)version(%%) 3.1 to satisfy this use case.  The evolving structure  property is either true or false, defaulting to false if not specified.  Setting the evolving structure property to true requires a major (% style="color:#e74c3c" %)version(%%) change, and therefore can only be introduced on an x.0.0 release (e.g. 1.0.0).  The evolving structure property can be set to false to indicate that there will be no additional [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] added to the Data Structure under the same major (% style="color:#e74c3c" %)version(%%) number; setting the evolving structure property to false does not require require a major (% style="color:#e74c3c" %)version(%%) change on the Data Structure  
37 37  
38 -The Dimension Constraint provides the explicit list of Dimensions that the Dataflow uses from the DSD that it references.  This enables the DSD to evolve over time without breaking the compatibility of datasets against the Dataflow
35 +When a [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] references a [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]], late binding on the minor release, and the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] has the evolving structure property set to true, then the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] must contain a [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%) to protect its Dimensionality from changing over time without a (% style="color:#e74c3c" %)version(%%) change
39 39  
40 -==== Rules for a Dimension Constraint ====
37 +The [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%) provides the explicit list of [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] that the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] uses from the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] that it references.  This enables the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] to evolve over time without breaking the compatibility of [[datasets>>doc:sdmx:Glossary.Data set.WebHome]] against the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]. 
41 41  
42 -* A Dataflow must contain a Dimension Constraint if the DSD which it uses states that it is an evolving structure and the Dataflow is late binding on the minor release (latest minor release of a given major version, e.g. 1.0+.0)
43 -* The Dimension Constraint can only include Dimensions from the DSD that is referenced by the Dataflow.
44 -* A Dimension Constraint can only be changed if the Dataflow undergoes a major version change
45 -* Datasets reported against the Dataflow must only contain reported values for the Dimensions specified in the Dimension Constraint. 
46 -* When exporting data for the Dataflow, the dataset should only include the Dimensions specified by the Dimension Constraint.
47 -* When exporting data for the DSD the dataset must contain the full set of Dimensions as specified by the DSD. The tilde ‘~~’ character is used to represent a value which is not present due to the Dimension not being included in the corresponding Dataflow.
39 +__**Rules for a Dimension Constraint**__
48 48  
49 -==== Example Datasets with Evolving Structures ====
41 +* A [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] must contain a [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%) if the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] which it uses states that it is an evolving structure and the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] is late binding on the minor release (latest minor release of a given major (% style="color:#e74c3c" %)version(%%), e.g. 1.0+.0)
42 +* The [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%) can only include [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] from the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] that is referenced by the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]].
43 +* A [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%) can only be changed if the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] undergoes a major (% style="color:#e74c3c" %)version(%%) change
44 +* [[Datasets>>doc:sdmx:Glossary.Data set.WebHome]] reported against the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] must only contain reported values for the [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] specified in the [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%). 
45 +* When exporting data for the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]], the [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] should only include the [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] specified by the [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%).
46 +* When exporting data for the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] the [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] must contain the full set of [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] as specified by the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]]. The tilde ‘’ character is used to represent a value which is not present due to the [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] not being included in the corresponding [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]].
50 50  
51 -A dataset is built against a Data Structure Definition.  The dataset contains data for two Dataflows.  Dataflows ‘DF_POP’ uses a Dimension Constraint which fixes its Dimensions to  FREQ and REF_AREA.  Dataflow ‘DF_POP_SA’ does not reference a
48 +__**Example Datasets with Evolving Structures**__
52 52  
53 -Dimension Constraint, and as such includes all Dimensions as specified by the DSD.  
50 +A [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] is built against a [[Data Structure Definition>>doc:sdmx:Glossary.Data structure definition.WebHome]].  The [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] contains data for two [[Dataflows>>doc:sdmx:Glossary.Dataflow.WebHome]].  [[Dataflows>>doc:sdmx:Glossary.Dataflow.WebHome]] ‘DF_POP’ uses a [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%) which fixes its [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] to  FREQ and REF_AREA.  [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] ‘DF_POP_SA’ does not reference a [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] (% style="color:#e74c3c" %)Constraint(%%), and as such includes all [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] as specified by the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]].  
54 54  
55 -The resulting dataset contains values ‘~~’ for both the SEX and AGE Dimension for the series related to DF_POP.
52 +The resulting [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] contains values ‘’ for both the [[SEX>>doc:sdmx:Glossary.Sex.WebHome]] and [[AGE>>doc:sdmx:Glossary.Age.WebHome]] [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] for the series related to DF_POP.
56 56  
54 +(% style="width:758.294px" %)
55 +|(% style="width:119px" %)**[[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]**|(% colspan="7" style="width:635px" %)**FREQ REF_AREA [[SEX>>doc:sdmx:Glossary.Sex.WebHome]] [[AGE>>doc:sdmx:Glossary.Age.WebHome]] OBS_VALUE TIME_PERIOD UNIT**
56 +|(% style="width:119px" %)**DF_POP**|(% style="width:55px" %)A|(% style="width:103px" %)UK|(% style="width:79px" %) |(% style="width:92px" %) |(% style="width:93px" %)65|(% style="width:111px" %)2022|(% style="width:101px" %)6
57 +|(% style="width:119px" %)**DF_POP**|(% style="width:55px" %)A|(% style="width:103px" %)FR|(% style="width:79px" %) |(% style="width:92px" %) |(% style="width:93px" %)50|(% style="width:111px" %)2022|(% style="width:101px" %)6
58 +|(% style="width:119px" %)**DF_POP_SA**|(% style="width:55px" %)A|(% style="width:103px" %)UK|(% style="width:79px" %)M|(% style="width:92px" %)1|(% style="width:93px" %)1.2|(% style="width:111px" %)2022|(% style="width:101px" %)6
57 57  
58 -|**Dataflow**|(% colspan="7" %)**FREQ REF_AREA SEX AGE OBS_VALUE TIME_PERIOD UNIT**
59 -|**DF_POP**|A|UK|~~|~~|65|2022|6
60 -|**DF_POP**|A|FR|~~|~~|50|2022|6
61 -|**DF_POP_SA**|A|UK|M|1|1.2|2022|6
60 +== 10.4 Reporting Constraints ==
62 62  
63 -1.
64 -11. Reporting Constraints
62 +A Reporting (% style="color:#e74c3c" %)Constraint(%%) is a [[Maintainable Artefact>>doc:sdmx:Glossary.Maintainable artefact.WebHome]] which restricts the values that can be reported in a [[dataset>>doc:sdmx:Glossary.Data set.WebHome]] or [[metadata set>>doc:sdmx:Glossary.Metadata set.WebHome]] based on one or more inclusion or exclusion rules. 
65 65  
66 -A Reporting Constraint is a Maintainable Artefact which restricts the values that can be reported in a dataset or metadata set based on one or more inclusion or exclusion rules. 
64 +A reporting (% style="color:#e74c3c" %)constraint(%%) is one of the following concrete types:
67 67  
68 -A reporting constraint is one of the following concrete types:
66 +* Data (% style="color:#e74c3c" %)Constraint
67 +* Metadata (% style="color:#e74c3c" %)Constraint
69 69  
70 -* Data Constraint
71 -* Metadata Constraint
72 -*1.
73 -*11. Data Constraint
69 +=== 10.4.1 Data Constraint ===
74 74  
75 -A Data Constraint is used to add additional restrictions to the allowable values reported in a dataset.  Data Constraints can be applied to the follow structures which are collectively known as Constrainable structures:
71 +A Data (% style="color:#e74c3c" %)Constraint(%%) is used to add additional restrictions to the allowable values reported in a [[dataset>>doc:sdmx:Glossary.Data set.WebHome]].  Data (% style="color:#e74c3c" %)Constraints(%%) can be applied to the follow structures which are collectively known as Constrainable structures:
76 76  
77 -* Data Structure Definition
78 -* Dataflow
79 -* Provision Agreement
73 +* [[Data Structure Definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]
74 +* [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]
75 +* [[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]]
80 80  * Data Provider
81 81  
82 -**Note** regardless of the Constrainable structure, the restricted values relate to  the allowable content for the Component of the DSD to which the constrained object relates. 
78 +**Note** regardless of the Constrainable structure, the restricted values relate to  the allowable content for the [[Component>>doc:sdmx:Glossary.Component.WebHome]] of the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] to which the constrained object relates. 
83 83  
84 -1.
85 -11.
86 -111. Metadata Constraint
80 +=== 10.4.2 Metadata Constraint ===
87 87  
88 -A Metadata Constraint is used to add additional restrictions to the allowable values reported in a metadataset.  Metadata Constraints can be applied to the follow structures which are collectively known as Constrainable structures:
82 +A Metadata (% style="color:#e74c3c" %)Constraint(%%) is used to add additional restrictions to the allowable values reported in a metadataset.  Metadata (% style="color:#e74c3c" %)Constraints(%%) can be applied to the follow structures which are collectively known as Constrainable structures:
89 89  
90 90  * Metadata Structure Definition
91 -* Metadataflow
92 -* Metadata Provision Agreement
85 +* [[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]]
86 +* Metadata [[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]]
93 93  * Metadata Provider
94 94  
95 -**Note** regardless of the Constrainable structure,  the restricted values relate to  the allowable content for the Component of the MSD to which the constrained object relates. 
89 +**Note** regardless of the Constrainable structure,  the restricted values relate to  the allowable content for the [[Component>>doc:sdmx:Glossary.Component.WebHome]] of the [[MSD>>doc:sdmx:Glossary.Metadata structure definition.WebHome]] to which the constrained object relates. 
96 96  
97 -1.
98 -11.
99 -111. Scope of a Constraint
91 +=== 10.4.3 Scope of a Constraint ===
100 100  
101 -A Constraint is used specify the content of a data or metadata source in terms of the component values or the keys.
93 +A (% style="color:#e74c3c" %)Constraint(%%) is used specify the content of a data or metadata source in terms of the [[component>>doc:sdmx:Glossary.Component.WebHome]] values or the keys.
102 102  
103 -In terms of data the components are:
95 +In terms of data the [[components>>doc:sdmx:Glossary.Component.WebHome]] are:
104 104  
105 -* Dimension
106 -* Time Dimension
107 -* Data Attribute
108 -* Measure
109 -* Metadata Attribute
110 -* DataKeySets: the keys are the content of the KeyDescriptor – i.e., the series keys composed, for each key, by a value for each Dimension.
97 +* [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]
98 +* Time [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]
99 +* Data [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]
100 +* [[Measure>>doc:sdmx:Glossary.Measure.WebHome]]
101 +* Metadata [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]
102 +* DataKeySets: the keys are the content of the KeyDescriptor – i.e., the [[series keys>>doc:sdmx:Glossary.Series key.WebHome]] composed, for each key, by a value for each [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]].
111 111  
112 -In terms of reference metadata the components are:
104 +In terms of [[reference metadata>>doc:sdmx:Glossary.Reference metadata.WebHome]] the [[components>>doc:sdmx:Glossary.Component.WebHome]] are:
113 113  
114 -* Metadata Attribute
106 +* Metadata [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]
115 115  
116 -For a Constraint based on a DSD the Constraint can reference one or more of:
108 +For a (% style="color:#e74c3c" %)Constraint(%%) based on a [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] the (% style="color:#e74c3c" %)Constraint(%%) can reference one or more of:
117 117  
118 -* Data Structure Definition
119 -* Dataflow
120 -* Provision Agreement
110 +* [[Data Structure Definition>>doc:sdmx:Glossary.Data structure definition.WebHome]]
111 +* [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]
112 +* [[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]]
121 121  * Data Provider
122 122  
123 -For a Constraint based on an MSD the Constraint can reference one or more of:
115 +For a (% style="color:#e74c3c" %)Constraint(%%) based on an [[MSD>>doc:sdmx:Glossary.Metadata structure definition.WebHome]] the (% style="color:#e74c3c" %)Constraint(%%) can reference one or more of:
124 124  
125 125  * Metadata Structure Definition
126 -* Metadataflow
127 -* Metadata Provision Agreement
118 +* [[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]]
119 +* Metadata [[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]]
128 128  * Metadata Provider
129 -* Metadata Set
121 +* [[Metadata Set>>doc:sdmx:Glossary.Metadata set.WebHome]]
130 130  
131 -Furthermore, there can be more than one Constraint specified for a specific object e.g., more than one Constraint for a specific DSD.
123 +Furthermore, there can be more than one (% style="color:#e74c3c" %)Constraint(%%) specified for a specific object e.g., more than one (% style="color:#e74c3c" %)Constraint(%%) for a specific [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]].
132 132  
133 -In view of the flexibility of constraints attachment, clear rules on their usage are required. These are elaborated below.
125 +In view of the flexibility of (% style="color:#e74c3c" %)constraints(%%) attachment, clear rules on their usage are required. These are elaborated below.
134 134  
135 -1.
136 -11.
137 -111. Multiple Constraints
127 +=== 10.4.4 Multiple Constraints ===
138 138  
139 -There can be many Constraints for any Constrainable Artefact (e.g., DSD), subject to the following restrictions:
129 +There can be many (% style="color:#e74c3c" %)Constraints(%%) for any Constrainable [[Artefact>>doc:sdmx:Glossary.Artefact.WebHome]] (e.g., [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]]), subject to the following restrictions:
140 140  
141 -**10.4.4.1 Cube Region**
131 +==== 10.4.4.1 Cube Region ====
142 142  
143 -A Constraint can contain multiple Member Selections (e.g., Dimensions).
133 +A (% style="color:#e74c3c" %)Constraint(%%) can contain multiple [[Member Selections>>doc:sdmx:Glossary.Member selection.WebHome]] (e.g., [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]]).
144 144  
145 -* A specific Member Selection (e.g., Dimension FREQ) can only be contained in one Cube Region for any one attached object (e.g., a specific DSD or specific Dataflow).
146 -* Component values within a Member Selection may define a validity period. Otherwise, the value is valid for the whole validity of the Cube Region.
147 -* For partial reference resolution purposes (as per the SDMX REST API), the latest non-draft Constraint must be considered.
148 -* A Member Selection may include wildcarding of values (using character ‘%’ to represent zero or more occurrences of any character), as well as cascading through hierarchic structures (e.g., parents in Codelist), or localised values (e.g., text for English only). Lack of locale means any language may match. Cascading values are mutual exclusive to localised values, as the former refer to coded values, while the latter refer to uncoded values.
149 -* Any values included in a Member Selection for Components with an array data type (i.e., Measures, Attributes or Metadata Attributes), will be applied as single values and will not be assessed combined with other values to match all possible array values. For example, including the Code ‘A’ for an Attribute will allow any instance of the Attribute that includes ‘A’, like [‘A’, ‘B’] or [‘A’, ‘C’, ‘D’]. Similarly, if Code ‘A’ was excluded, all those arrays of values would also be excluded.
135 +* A specific [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]] (e.g., [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] FREQ) can only be contained in one Cube Region for any one attached object (e.g., a specific [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] or specific [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]).
136 +* [[Component>>doc:sdmx:Glossary.Component.WebHome]] values within a [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]] may define a validity period. Otherwise, the value is valid for the whole validity of the Cube Region.
137 +* For partial reference resolution purposes (as per the [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] REST API), the latest non-draft (% style="color:#e74c3c" %)Constraint(%%) must be considered.
138 +* A [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]] may include wildcarding of values (using character ‘%’ to represent zero or more occurrences of any character), as well as cascading through hierarchic structures (e.g., parents in Codelist), or localised values (e.g., text for English only). Lack of locale means any language may match. Cascading values are mutual exclusive to localised values, as the former refer to coded values, while the latter refer to uncoded values.
139 +* Any values included in a [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]] for [[Components>>doc:sdmx:Glossary.Component.WebHome]] with an array data type (i.e., [[Measures>>doc:sdmx:Glossary.Measure.WebHome]], [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]] or Metadata [[Attributes>>doc:sdmx:Glossary.Attribute.WebHome]]), will be applied as single values and will not be assessed combined with other values to match all possible array values. For example, including the [[Code>>doc:sdmx:Glossary.Code.WebHome]] ‘A’ for an [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] will allow any instance of the [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] that includes ‘A’, like [‘A’, ‘B’] or [‘A’, ‘C’, ‘D’]. Similarly, if [[Code>>doc:sdmx:Glossary.Code.WebHome]] ‘A’ was excluded, all those arrays of values would also be excluded.
150 150  
151 -**10.4.4.2 Key Set**
141 +==== 10.4.4.2 Key Set ====
152 152  
153 -Key Sets will be processed in the order they appear in the Constraint and wildcards can be used (e.g., any key position not reference explicitly is deemed to be "all values").
143 +Key Sets will be processed in the order they appear in the (% style="color:#e74c3c" %)Constraint(%%) and wildcards can be used (e.g., any key position not reference explicitly is deemed to be "all values").
154 154  
155 -As the Key Sets can be "included" or "excluded" it is recommended that Key Sets with wildcards are declared before KeySets with specific series keys. This will minimize the risk that keys are inadvertently included or excluded.
145 +As the Key Sets can be "included" or "excluded" it is recommended that Key Sets with wildcards are declared before KeySets with specific [[series keys>>doc:sdmx:Glossary.Series key.WebHome]]. This will minimize the risk that keys are inadvertently included or excluded.
156 156  
157 -In addition, Attribute, Measure and Metadata Attribute constraints may accompany KeySets, in order to specify the allowed values per Key. Those are expressed following the rules for Cube Regions, as explained above.
147 +In addition, [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]], [[Measure>>doc:sdmx:Glossary.Measure.WebHome]] and Metadata [[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]] (% style="color:#e74c3c" %)constraints(%%) may accompany KeySets, in order to specify the allowed values per Key. Those are expressed following the rules for Cube Regions, as explained above.
158 158  
159 159  Finally, a validity period may be specified per Key.
160 160  
161 -1.
162 -11.
163 -111. Versioning
151 +=== 10.4.4 Versioning ===
164 164  
165 -When Data and Metadata Constraints are versioned, the latest version of the Constraint is used to generate the reporting restriction rules; all previous versions are for historical information only.
153 +When Data and Metadata (% style="color:#e74c3c" %)Constraints(%%) are versioned, the latest (% style="color:#e74c3c" %)version(%%) of the (% style="color:#e74c3c" %)Constraint(%%) is used to generate the reporting restriction rules; all previous (% style="color:#e74c3c" %)versions(%%) are for historical information only.
166 166  
167 -If restrictions are applicable to certain periods in time, the validFrom and validTo properties can be set on the specific values. This allows Constraints to evolve over time, increasing their version number as they do so, whilst being able to maintain a complete set of reporting restrictions for current and past datasets.
155 +If restrictions are applicable to certain periods in time, the validFrom and validTo properties can be set on the specific values. This allows (% style="color:#e74c3c" %)Constraints(%%) to evolve over time, increasing their (% style="color:#e74c3c" %)version(%%) number as they do so, whilst being able to maintain a complete set of reporting restrictions for current and past [[datasets>>doc:sdmx:Glossary.Data set.WebHome]].
168 168  
169 169  Example:
170 170  
171 -Data Constraint 1.0.0
159 +Data (% style="color:#e74c3c" %)Constraint(%%) 1.0.0
172 172  
173 -|Component|Valid Value|Valid from|Valid to
174 -|(% rowspan="3" %)COUNTRY|UK| |
175 -|FR| |
176 -|DE| |
161 +(% style="width:573.294px" %)
162 +|(% style="width:108px" %)[[Component>>doc:sdmx:Glossary.Component.WebHome]]|(% style="width:127px" %)Valid Value|(% style="width:150px" %)Valid from|(% style="width:185px" %)Valid to
163 +|(% rowspan="3" style="width:108px" %)COUNTRY|(% style="width:127px" %)UK|(% style="width:150px" %) |(% style="width:185px" %)
164 +|(% style="width:127px" %)FR|(% style="width:150px" %) |(% style="width:185px" %)
165 +|(% style="width:127px" %)DE|(% style="width:150px" %) |(% style="width:185px" %)
177 177  
178 -Data Constraint 1.1.0
167 +Data (% style="color:#e74c3c" %)Constraint(%%) 1.1.0
179 179  
180 -|Component|Valid Value|Valid from|Valid to
181 -|(% rowspan="3" %)COUNTRY|UK| |
182 -|FR| |2012
183 -|DE| |
169 +(% style="width:576.294px" %)
170 +|(% style="width:110px" %)[[Component>>doc:sdmx:Glossary.Component.WebHome]]|(% style="width:129px" %)Valid Value|(% style="width:145px" %)Valid from|(% style="width:189px" %)Valid to
171 +|(% rowspan="3" style="width:110px" %)COUNTRY|(% style="width:129px" %)UK|(% style="width:145px" %) |(% style="width:189px" %)
172 +|(% style="width:129px" %)FR|(% style="width:145px" %) |(% style="width:189px" %)2012
173 +|(% style="width:129px" %)DE|(% style="width:145px" %) |(% style="width:189px" %)
184 184  
185 -When both versions of the Data Constraint are in a system, an observation value reported against COUNTRY FR for time period 2013 would be deemed invalid as the 1.1.0 rule would be applied.
175 +When both (% style="color:#e74c3c" %)versions(%%) of the Data (% style="color:#e74c3c" %)Constraint(%%) are in a system, an [[observation value>>doc:sdmx:Glossary.Observation value.WebHome]] reported against COUNTRY FR for [[time period>>doc:sdmx:Glossary.Time period.WebHome]] 2013 would be deemed invalid as the 1.1.0 rule would be applied.
186 186  
187 -1.
188 -11.
189 -111. Inheritance
177 +=== 10.4.6 Inheritance ===
190 190  
191 -**10.4.6.1 Attachment levels of a Constraint**
179 +==== 10.4.6.1 Attachment levels of a Constraint ====
192 192  
193 -There are three levels of constraint attachment for which these inheritance rules apply:
181 +There are three (% style="color:#e74c3c" %)levels(%%) of (% style="color:#e74c3c" %)constraint(%%) attachment for which these inheritance rules apply:
194 194  
195 -• DSD/MSD – top level o Dataflow/Metadataflow – second level
183 +* [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]]/[[MSD>>doc:sdmx:Glossary.Metadata structure definition.WebHome]] – top (% style="color:#e74c3c" %)level
184 +** [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]/[[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]] – second (% style="color:#e74c3c" %)level
185 +*** [[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] – third (% style="color:#e74c3c" %)level
196 196  
197 -§ Provision Agreement third level
187 +It is not necessary for a (% style="color:#e74c3c" %)Constraint(%%) to be attached to a higher (% style="color:#e74c3c" %)level(%%) [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]]. e.g., it is valid to have a (% style="color:#e74c3c" %)Constraint(%%) for a [[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] where there are no (% style="color:#e74c3c" %)constraints(%%) attached the relevant [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] or [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]].
198 198  
199 -It is not necessary for a Constraint to be attached to a higher level artefact. e.g., it is valid to have a Constraint for a Provision Agreement where there are no constraints attached the relevant Dataflow or DSD.
189 +==== 10.4.6.2 Cascade rules for processing Constraints ====
200 200  
201 -**10.4.6.2 Cascade rules for processing Constraints**
191 +The processing of the (% style="color:#e74c3c" %)constraints(%%) on either [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]/[[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]] or [[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] must take into account the (% style="color:#e74c3c" %)constraints(%%) declared at higher (% style="color:#e74c3c" %)levels(%%). The rules for the lower-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)constraints(%%) (attached to [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]/ [[Metadataflow>>doc:sdmx:Glossary.Metadataflow.WebHome]] and [[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]]) are detailed below.
202 202  
203 -The processing of the constraints on either Dataflow/Metadataflow or Provision Agreement must take into account the constraints declared at higher levels. The rules for the lower-level constraints (attached to Dataflow/ Metadataflow and Provision Agreement) are detailed below.
193 +Note that there can be a situation where a (% style="color:#e74c3c" %)constraint(%%) is specified at a lower (% style="color:#e74c3c" %)level(%%) before a (% style="color:#e74c3c" %)constraint(%%) is specified at a higher (% style="color:#e74c3c" %)level(%%). Therefore, it is possible that a higher-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)constraint(%%) makes a lower-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)constraint(%%) invalid. [[SDMX>>doc:sdmx:Glossary.Statistical data and metadata exchange.WebHome]] makes no rules on how such a conflict should be handled when processing the (% style="color:#e74c3c" %)constraint(%%) for attachment. However, the cascade rules on evaluating (% style="color:#e74c3c" %)constraints(%%) for usage are clear – the higher-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)constraint(%%) takes precedence in any conflicts that result in a less restrictive specification at the lower (% style="color:#e74c3c" %)level(%%).
204 204  
205 -Note that there can be a situation where a constraint is specified at a lower level before a constraint is specified at a higher level. Therefore, it is possible that a higher-level constraint makes a lower-level constraint invalid. SDMX makes no rules on how such a conflict should be handled when processing the constraint for attachment. However, the cascade rules on evaluating constraints for usage are clear – the higher-level constraint takes precedence in any conflicts that result in a less restrictive specification at the lower level.
195 +==== 10.4.6.3 Cube Region ====
206 206  
207 -**10.4.6.3 Cube Region**
197 +It is not necessary to have a (% style="color:#e74c3c" %)Constraint(%%) on the higher-(% style="color:#e74c3c" %)level(%%) [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] (e.g., [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] referenced by the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]), but if there is such a (% style="color:#e74c3c" %)Constraint(%%) at the higher (% style="color:#e74c3c" %)level(%%)(s) then:
208 208  
209 -It is not necessary to have a Constraint on the higher-level artefact (e.g., DSD referenced by the Dataflow), but if there is such a Constraint at the higher level(s) then:
199 +* The lower-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)Constraint(%%) cannot be less restrictive than the (% style="color:#e74c3c" %)Constraint(%%) specified for the same [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]] (e.g. [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]) at the next higher (% style="color:#e74c3c" %)level(%%), which constrains that [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]]. For example, if the [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] FREQ is constrained to A, Q in a [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]], then the (% style="color:#e74c3c" %)Constraint(%%) at the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] or [[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] cannot be A, Q, M or even just M – it can only further constrain A, Q.
200 +* The (% style="color:#e74c3c" %)Constraint(%%) at the lower (% style="color:#e74c3c" %)level(%%) for any one [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]] further constrains the content for the same [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]] at the higher (% style="color:#e74c3c" %)level(%%)(s).
201 +* Any [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]], which is not referenced in a (% style="color:#e74c3c" %)Constraint(%%), is deemed to be constrained according to the (% style="color:#e74c3c" %)Constraint(%%) specified at the next higher (% style="color:#e74c3c" %)level(%%) which (% style="color:#e74c3c" %)constraints(%%) that [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]].
202 +* If there is a conflict when resolving the (% style="color:#e74c3c" %)Constraint(%%) in terms of a lower-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)Constraint(%%) being less restrictive than a higher-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)Constraint(%%), then the (% style="color:#e74c3c" %)Constraint(%%) at the higher-(% style="color:#e74c3c" %)level(%%) is used.
210 210  
211 -* The lower-level Constraint cannot be less restrictive than the Constraint specified for the same Member Selection (e.g. Dimension) at the next higher level, which constrains that Member Selection. For example, if the Dimension FREQ is constrained to A, Q in a DSD, then the Constraint at the Dataflow or Provision Agreement cannot be A, Q, M or even just M – it can only further constrain A, Q.
212 -* The Constraint at the lower level for any one Member Selection further constrains the content for the same Member Selection at the higher level(s).
213 -* Any Member Selection, which is not referenced in a Constraint, is deemed to be constrained according to the Constraint specified at the next higher level which constraints that Member Selection.
214 -* If there is a conflict when resolving the Constraint in terms of a lower-level Constraint being less restrictive than a higher-level Constraint, then the Constraint at the higher-level is used.
204 +Note that it is possible for a (% style="color:#e74c3c" %)Constraint(%%) at a higher (% style="color:#e74c3c" %)level(%%) to constrain, say, four [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]] in a single (% style="color:#e74c3c" %)Constraint(%%), and a (% style="color:#e74c3c" %)Constraint(%%) at a lower (% style="color:#e74c3c" %)level(%%) to constrain the same four in two, three, or four (% style="color:#e74c3c" %)Constraints(%%).
215 215  
216 -Note that it is possible for a Constraint at a higher level to constrain, say, four Dimensions in a single Constraint, and a Constraint at a lower level to constrain the same four in two, three, or four Constraints.
206 +==== 10.4.6.4 Key Set ====
217 217  
218 -**10.4.6.4 Key Set**
208 +It is not necessary to have a (% style="color:#e74c3c" %)Constraint(%%) on the higher-(% style="color:#e74c3c" %)level(%%) [[artefact>>doc:sdmx:Glossary.Artefact.WebHome]] (e.g., [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] referenced by the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]]), but if there is such a (% style="color:#e74c3c" %)Constraint(%%) at the higher (% style="color:#e74c3c" %)level(%%)(s) then:
219 219  
220 -It is not necessary to have a Constraint on the higher-level artefact (e.g., DSD referenced by the Dataflow), but if there is such a Constraint at the higher level(s) then:
210 +* The lower-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)Constraint(%%) cannot be less restrictive than the (% style="color:#e74c3c" %)Constraint(%%) specified at the higher (% style="color:#e74c3c" %)level(%%).
211 +* The (% style="color:#e74c3c" %)Constraint(%%) at the lower (% style="color:#e74c3c" %)level(%%) for any one [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]] further constrains the keys specified at the higher (% style="color:#e74c3c" %)level(%%)(s).
212 +* Any [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]], which is not referenced in a (% style="color:#e74c3c" %)Constraint(%%), is deemed to be constrained according to the (% style="color:#e74c3c" %)Constraint(%%) specified at the next higher (% style="color:#e74c3c" %)level(%%) which (% style="color:#e74c3c" %)constraints(%%) that [[Member Selection>>doc:sdmx:Glossary.Member selection.WebHome]].
213 +* If there is a conflict when resolving the keys in the (% style="color:#e74c3c" %)Constraint(%%) at two (% style="color:#e74c3c" %)levels(%%), in terms of a lower-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)constraint(%%) being less restrictive than a higher-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)Constraint(%%), then the offending keys specified at the lower (% style="color:#e74c3c" %)level(%%) are not deemed part of the (% style="color:#e74c3c" %)Constraint(%%).
221 221  
222 -* The lower-level Constraint cannot be less restrictive than the Constraint specified at the higher level.
223 -* The Constraint at the lower level for any one Member Selection further constrains the keys specified at the higher level(s).
224 -* Any Member Selection, which is not referenced in a Constraint, is deemed to be constrained according to the Constraint specified at the next higher level which constraints that Member Selection.
225 -* If there is a conflict when resolving the keys in the Constraint at two levels, in terms of a lower-level constraint being less restrictive than a higher-level Constraint, then the offending keys specified at the lower level are not deemed part of the Constraint.
215 +Note that a Key in a Key Set can have wildcarded [[Components>>doc:sdmx:Glossary.Component.WebHome]]. For instance, the (% style="color:#e74c3c" %)Constraint(%%) may simply constrain the [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] FREQ to "A", and all keys where the FREQ="A" are therefore valid.
226 226  
227 -Note that a Key in a Key Set can have wildcarded Components. For instance, the Constraint may simply constrain the Dimension FREQ to "A", and all keys where the FREQ="A" are therefore valid.
228 -
229 229  The following logic explains how the inheritance mechanism works. Note that this is conceptual logic and actual systems may differ in the way this is implemented.
230 230  
231 -1.
232 -11. Determine all possible keys that are valid at the higher level.
233 -11. These keys are deemed to be inherited by the lower-level constrained object, subject to the Constraints specified at the lower level.
234 -11. Determine all possible keys that are possible using the Constraints specified at the lower level.
235 -11. At the lower level inherit all keys that match with the higher-level Constraint.
236 -11. If there are keys in the lower-level Constraint that are not inherited then the key is invalid (i.e., it is less restrictive).
237 -111. Constraints Examples
219 +1. Determine all possible keys that are valid at the higher (% style="color:#e74c3c" %)level(%%).
220 +1. These keys are deemed to be inherited by the lower-(% style="color:#e74c3c" %)level(%%) constrained object, subject to the (% style="color:#e74c3c" %)Constraints(%%) specified at the lower (% style="color:#e74c3c" %)level(%%).
221 +1. Determine all possible keys that are possible using the (% style="color:#e74c3c" %)Constraints(%%) specified at the lower (% style="color:#e74c3c" %)level(%%).
222 +1. At the lower (% style="color:#e74c3c" %)level(%%) inherit all keys that match with the higher-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)Constraint(%%).
223 +1. If there are keys in the lower-(% style="color:#e74c3c" %)level(%%) (% style="color:#e74c3c" %)Constraint(%%) that are not inherited then the key is invalid (i.e., it is less restrictive).
238 238  
239 -**10.4.7.1 Data Constraint and Cascading **The following scenario is used.
225 +=== 10.4.7 Constraints Examples ===
240 240  
241 -A DSD contains the following Dimensions:
227 +==== 10.4.7.1 Data Constraint and Cascading ====
242 242  
229 +The following scenario is used.
230 +
231 +A [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] contains the following [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]]:
232 +
243 243  * GEO – Geography
244 -* SEX – Sex
245 -* AGE – Age
234 +* [[SEX>>doc:sdmx:Glossary.Sex.WebHome]][[Sex>>doc:sdmx:Glossary.Sex.WebHome]]
235 +* [[AGE>>doc:sdmx:Glossary.Age.WebHome]][[Age>>doc:sdmx:Glossary.Age.WebHome]]
246 246  * CAS – Current Activity Status
247 247  
248 -In the DSD, common code lists are used and the requirement is to restrict these at various levels to specify the actual code that are valid for the object to which the Constraint is attached.
238 +In the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]], common [[code lists>>doc:sdmx:Glossary.Code list.WebHome]] are used and the requirement is to restrict these at various (% style="color:#e74c3c" %)levels(%%) to specify the actual [[code>>doc:sdmx:Glossary.Code.WebHome]] that are valid for the object to which the (% style="color:#e74c3c" %)Constraint(%%) is attached.
249 249  
240 +[[image:1750065279010-260.png]]
250 250  
251 -**Figure 20: Example Scenario for Constraints **Constraints are declared as follows:
242 +**Figure 20: Example Scenario for Constraints **
252 252  
244 +Constraints are declared as follows:
253 253  
246 +[[image:1750065319060-899.png]]
247 +
254 254  **Figure 21: Example Constraints**
255 255  
256 256  Notes:
257 257  
258 -AGE is constrained for the DSD and is further restricted for the Dataflow CENSUS_CUBE1.
252 +[[AGE>>doc:sdmx:Glossary.Age.WebHome]] is constrained for the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] and is further restricted for the [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] CENSUS_CUBE1.
259 259  
260 -* The same Constraint applies to both Provision Agreements.
254 +* The same (% style="color:#e74c3c" %)Constraint(%%) applies to both Provision Agreements.
261 261  
262 262  The cascade rules elaborated above result as follows:
263 263  
264 -DSD
258 +[[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]]
265 265  
266 -* Constrained by eliminating code 001 from the code list for the AGE Dimension.
260 +* Constrained by eliminating [[code>>doc:sdmx:Glossary.Code.WebHome]] 001 from the [[code list>>doc:sdmx:Glossary.Code list.WebHome]] for the [[AGE>>doc:sdmx:Glossary.Age.WebHome]] [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]].
267 267  
268 -Dataflow CENSUS_CUBE1
262 +[[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] CENSUS_CUBE1
269 269  
270 -* Constrained by restricting the code list for the AGE Dimension to codes 002 and 003 (note that this is a more restrictive constraint than that declared for the DSD which specifies all codes except code 001).
271 -** Restricts the CAS codes to 003 and 004.
264 +* Constrained by restricting the [[code list>>doc:sdmx:Glossary.Code list.WebHome]] for the [[AGE>>doc:sdmx:Glossary.Age.WebHome]] [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] to [[codes>>doc:sdmx:Glossary.Code.WebHome]] 002 and 003 (note that this is a more restrictive (% style="color:#e74c3c" %)constraint(%%) than that declared for the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] which specifies all [[codes>>doc:sdmx:Glossary.Code.WebHome]] except [[code>>doc:sdmx:Glossary.Code.WebHome]] 001).
265 +** Restricts the CAS [[codes>>doc:sdmx:Glossary.Code.WebHome]] to 003 and 004.
272 272  
273 -Dataflow CENSUS_CUBE2
267 +[[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] CENSUS_CUBE2
274 274  
275 -* Restricts the code list for the CAS Dimension to codes TOT and NAP.
276 -** Inherits the AGE constraint applied at the level of the DSD.
269 +* Restricts the [[code list>>doc:sdmx:Glossary.Code list.WebHome]] for the CAS [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] to [[codes>>doc:sdmx:Glossary.Code.WebHome]] TOT and NAP.
270 +** Inherits the [[AGE>>doc:sdmx:Glossary.Age.WebHome]] (% style="color:#e74c3c" %)constraint(%%) applied at the (% style="color:#e74c3c" %)level(%%) of the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]].
277 277  
278 -Provision Agreement CENSUS_CUBE1_IT
272 +[[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] CENSUS_CUBE1_IT
279 279  
280 -* Restricts the codes for the GEO Dimension to IT and its children.
281 -** Inherits the constraints from Dataflow CENSUS_CUBE1 for the AGE and CAS Dimensions.
274 +* Restricts the [[codes>>doc:sdmx:Glossary.Code.WebHome]] for the GEO [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] to IT and its children.
275 +** Inherits the (% style="color:#e74c3c" %)constraints(%%) from [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] CENSUS_CUBE1 for the [[AGE>>doc:sdmx:Glossary.Age.WebHome]] and CAS [[Dimensions>>doc:sdmx:Glossary.Dimension.WebHome]].
282 282  
277 +[[Provision Agreement>>doc:sdmx:Glossary.Provision agreement.WebHome]] CENSUS_CUBE2_IT
283 283  
279 +* Restricts the [[codes>>doc:sdmx:Glossary.Code.WebHome]] for the GEO [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]] to IT and its children.
280 +** Inherits the (% style="color:#e74c3c" %)constraints(%%) from [[Dataflow>>doc:sdmx:Glossary.Dataflow.WebHome]] CENSUS_CUBE2 for the CAS [[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]].
281 +** Inherits the [[AGE>>doc:sdmx:Glossary.Age.WebHome]] (% style="color:#e74c3c" %)constraint(%%) applied at the (% style="color:#e74c3c" %)level(%%) of the [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]].
284 284  
285 -Provision Agreement CENSUS_CUBE2_IT
283 +The (% style="color:#e74c3c" %)Constraints(%%) are defined as follows:
286 286  
287 -* Restricts the codes for the GEO Dimension to IT and its children.
288 -** Inherits the constraints from Dataflow CENSUS_CUBE2 for the CAS Dimension.
289 -** Inherits the AGE constraint applied at the level of the DSD.
290 -
291 -The Constraints are defined as follows:
292 -
293 293  DSD Constraint
294 294  
287 +[[image:1750065367824-357.png]]
288 +
295 295  Dataflow Constraints
296 296  
291 +[[image:1750065392163-400.png]]
292 +
297 297  Provision Agreement Constraint
298 298  
295 +[[image:1750065461589-995.png]]
296 +
299 299  **10.4.7.2 Combination of Constraints**
300 300  
301 301  The possible combination of constraining terms are explained in this section, following a few examples.
302 302  
303 -Let’s assume a DSD with the following Components:
301 +Let’s assume a [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] with the following [[Components>>doc:sdmx:Glossary.Component.WebHome]]:
304 304  
305 -|Dimension|FREQ
306 -|Dimension|JD_TYPE
307 -|Dimension|JD_CATEGORY
308 -|Dimension|VIS_CTY
309 -|TimeDimension|TIME_PERIOD
310 -|Attribute|OBS_STATUS
311 -|Attribute|UNIT
312 -|Attribute|COMMENT
313 -|MetadataAttribute|CONTACT
314 -|Measure|MULTISELECT
315 -|Measure|CHOICE
303 +(% style="width:459.294px" %)
304 +|(% style="width:204px" %)(% style="color:#3498db" %)[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]|(% style="width:252px" %)(% style="color:#3498db" %)FREQ
305 +|(% style="width:204px" %)(% style="color:#3498db" %)[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]|(% style="width:252px" %)(% style="color:#3498db" %)JD_TYPE
306 +|(% style="width:204px" %)(% style="color:#3498db" %)[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]|(% style="width:252px" %)(% style="color:#3498db" %)JD_CATEGORY
307 +|(% style="width:204px" %)(% style="color:#3498db" %)[[Dimension>>doc:sdmx:Glossary.Dimension.WebHome]]|(% style="width:252px" %)(% style="color:#3498db" %)VIS_CTY
308 +|(% style="width:204px" %)(% style="color:#2980b9" %)TimeDimension|(% style="width:252px" %)(% style="color:#2980b9" %)TIME_PERIOD
309 +|(% style="width:204px" %)(% style="color:#16a085" %)[[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]|(% style="width:252px" %)(% style="color:#16a085" %)OBS_STATUS
310 +|(% style="width:204px" %)(% style="color:#16a085" %)[[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]|(% style="width:252px" %)(% style="color:#16a085" %)UNIT
311 +|(% style="width:204px" %)(% style="color:#16a085" %)[[Attribute>>doc:sdmx:Glossary.Attribute.WebHome]]|(% style="width:252px" %)(% style="color:#16a085" %)[[COMMENT>>doc:sdmx:Glossary.Comment.WebHome]]
312 +|(% style="width:204px" %)(% style="color:#f39c12" %)MetadataAttribute|(% style="width:252px" %)(% style="color: rgb(243, 156, 18); color: rgb(231, 76, 60)" %)CONTACT
313 +|(% style="width:204px" %)(% style="color:#e74c3c" %)[[Measure>>doc:sdmx:Glossary.Measure.WebHome]]|(% style="width:252px" %)(% style="color:#e74c3c" %)MULTISELECT
314 +|(% style="width:204px" %)(% style="color:#e74c3c" %)[[Measure>>doc:sdmx:Glossary.Measure.WebHome]]|(% style="width:252px" %)(% style="color:#e74c3c" %)CHOICE
316 316  
317 317  On the above, let’s assume the following use cases with their constraining requirements:
318 318  
... ... @@ -324,8 +324,9 @@
324 324  
325 325  This is expressed with the following CubeRegion:
326 326  
327 -|FREQ|M, Q
328 -|VIS_CTY|MX
326 +(% style="width:287.294px" %)
327 +|(% style="width:131px" %)(% style="color:#3498db" %)FREQ|(% style="width:153px" %)(% style="color:#3498db" %)M, Q
328 +|(% style="width:131px" %)(% style="color:#3498db" %)VIS_CTY|(% style="width:153px" %)(% style="color:#3498db" %)MX
329 329  
330 330  **Use Case 2: A Constraint on allowed combinations for some Dimensions**
331 331  
... ... @@ -335,10 +335,11 @@
335 335  
336 336  This is expressed with the following DataKeySet:
337 337  
338 -|Key1|FREQ|M
339 -| |VIS_CTY|DE
340 -|(% rowspan="2" %)Key2|FREQ|Q
341 -|VIS_CTY|MX
338 +(% style="width:388.294px" %)
339 +|(% style="width:105px" %)(% style="color:#2980b9" %)Key1|(% style="width:137px" %)(% style="color:#2980b9" %)FREQ|(% style="width:143px" %)(% style="color:#2980b9" %)M
340 +|(% style="width:105px" %) |(% style="width:137px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:143px" %)(% style="color:#2980b9" %)DE
341 +|(% rowspan="2" style="width:105px" %)(% style="color:#2980b9" %)Key2|(% style="width:137px" %)(% style="color:#2980b9" %)FREQ|(% style="width:143px" %)(% style="color:#2980b9" %)Q
342 +|(% style="width:137px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:143px" %)(% style="color:#2980b9" %)MX
342 342  
343 343  **Use Case 3: A Constraint on allowed values for some Dimensions combined with allowed values for some Attributes** R1: Allow monthly and quarterly data
344 344  
... ... @@ -348,9 +348,10 @@
348 348  
349 349  This may be expressed with the following CubeRegion:
350 350  
351 -|FREQ|M, Q
352 -|VIS_CTY|MX
353 -|OBS_STATUS|A
352 +(% style="width:285.294px" %)
353 +|(% style="width:143px" %)(% style="color:#2980b9" %)FREQ|(% style="width:139px" %)(% style="color:#2980b9" %)M, Q
354 +|(% style="width:143px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:139px" %)(% style="color:#2980b9" %)MX
355 +|(% style="width:143px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:139px" %)(% style="color:#27ae60" %)A
354 354  
355 355  **Use Case 4: A Constraint on allowed combinations for some Dimensions combined with specific Attribute values**
356 356  
... ... @@ -360,12 +360,13 @@
360 360  
361 361  This may be expressed with the following DataKeySet:
362 362  
363 -|(% rowspan="3" %)Key1|FREQ|M
364 -|VIS_CTY|DE
365 -|UNIT|EUR
366 -|(% rowspan="3" %)Key2|FREQ|Q
367 -|VIS_CTY|MX
368 -|UNIT|USD
365 +(% style="width:389.294px" %)
366 +|(% rowspan="3" style="width:89px" %)(% style="color:#2980b9" %)Key1|(% style="width:153px" %)(% style="color:#2980b9" %)FREQ|(% style="width:142px" %)(% style="color:#2980b9" %)M
367 +|(% style="width:153px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:142px" %)(% style="color:#2980b9" %)DE
368 +|(% style="width:153px" %)(% style="color:#27ae60" %)UNIT|(% style="width:142px" %)(% style="color:#27ae60" %)EUR
369 +|(% rowspan="3" style="width:89px" %)(% style="color:#2980b9" %)Key2|(% style="width:153px" %)(% style="color:#2980b9" %)FREQ|(% style="width:142px" %)(% style="color:#2980b9" %)Q
370 +|(% style="width:153px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:142px" %)(% style="color:#2980b9" %)MX
371 +|(% style="width:153px" %)(% style="color:#27ae60" %)UNIT|(% style="width:142px" %)(% style="color:#27ae60" %)USD
369 369  
370 370  **Use Case 5: A Constraint on allowed values for some Dimensions together with some combination of Dimension values**
371 371  
... ... @@ -375,52 +375,59 @@
375 375  
376 376  Considering the above examples, the following CubeRegions would be created:
377 377  
378 -|(% rowspan="3" %)CubeRegion1|FREQ|Q, A
379 -|VIS_CTY|MX, DE
380 -|OBS_STATUS|A
381 -|(% rowspan="3" %)CubeRegion2|FREQ|M
382 -|VIS_CTY|MX, DE
383 -|OBS_STATUS|F
381 +(% style="width:449.294px" %)
382 +|(% rowspan="3" style="width:126px" %)(% style="color:#2980b9" %)CubeRegion1|(% style="width:137px" %)(% style="color:#2980b9" %)FREQ|(% style="width:183px" %)(% style="color:#2980b9" %)Q, A
383 +|(% style="width:137px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:183px" %)(% style="color:#2980b9" %)MX, DE
384 +|(% style="width:137px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:183px" %)(% style="color:#27ae60" %)A
385 +|(% rowspan="3" style="width:126px" %)(% style="color:#2980b9" %)CubeRegion2|(% style="width:137px" %)(% style="color:#2980b9" %)FREQ|(% style="width:183px" %)(% style="color:#2980b9" %)M
386 +|(% style="width:137px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:183px" %)(% style="color:#2980b9" %)MX, DE
387 +|(% style="width:137px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:183px" %)(% style="color:#27ae60" %)F
384 384  
385 -The problem with this approach is that according to the business rule for Constraints, only one should be specified per Component. Thus, if a software would perform some conflict resolution would end up with empty sets for FREQ and OBS_STATUS (as they do not share any values).
389 +The problem with this approach is that according to the business rule for (% style="color:#e74c3c" %)Constraints(%%), only one should be specified per [[Component>>doc:sdmx:Glossary.Component.WebHome]]. Thus, if a software would perform some conflict resolution would end up with empty sets for FREQ and OBS_STATUS (as they do not share any values).
386 386  
387 -Nevertheless, there is a much easier approach to that; this is the cascading mechanism of Constraints (as shown in 10.4.7.1). Hence, these rules would be expressed into two levels of Constraints, e.g., DSD and Dataflows:
391 +Nevertheless, there is a much easier approach to that; this is the cascading mechanism of (% style="color:#e74c3c" %)Constraints(%%) (as shown in 10.4.7.1). Hence, these rules would be expressed into two (% style="color:#e74c3c" %)levels(%%) of (% style="color:#e74c3c" %)Constraints(%%), e.g., [[DSD>>doc:sdmx:Glossary.Data structure definition.WebHome]] and [[Dataflows>>doc:sdmx:Glossary.Dataflow.WebHome]]:
388 388  
389 389  DSD CubeRegion:
390 390  
391 -|FREQ|M, Q, A
392 -|VIS_CTY|MX, DE
393 -|OBS_STATUS|A, F
395 +(% style="width:280.294px" %)
396 +|(% style="width:156px" %)(% style="color:#2980b9" %)FREQ|(% style="width:121px" %)(% style="color:#2980b9" %)M, Q, A
397 +|(% style="width:156px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:121px" %)(% style="color:#2980b9" %)MX, DE
398 +|(% style="width:156px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:121px" %)(% style="color:#27ae60" %)A, F
394 394  
395 395  Dataflow1 CubeRegion:
396 396  
397 -|FREQ|Q, A
398 -|VIS_CTY|MX, DE
399 -|OBS_STATUS|F
402 +(% style="width:285.294px" %)
403 +|(% style="width:157px" %)(% style="color:#2980b9" %)FREQ|(% style="width:125px" %)(% style="color:#2980b9" %)Q, A
404 +|(% style="width:157px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:125px" %)(% style="color:#2980b9" %)MX, DE
405 +|(% style="width:157px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:125px" %)(% style="color:#27ae60" %)F
400 400  
401 401  Dataflow2 CubeRegion:
402 402  
403 -|FREQ|M
404 -|VIS_CTY|MX, DE
405 -|OBS_STATUS|A
409 +(% style="width:288.294px" %)
410 +|(% style="width:159px" %)(% style="color:#2980b9" %)FREQ|(% style="width:126px" %)(% style="color:#2980b9" %)M
411 +|(% style="width:159px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:126px" %)(% style="color:#2980b9" %)MX, DE
412 +|(% style="width:159px" %)(% style="color:#27ae60" %)OBS_STATUS|(% style="width:126px" %)(% style="color:#27ae60" %)A
406 406  
407 407  **Use case 6: A Constraint on allowed values for some Dimensions combined with allowed values for Measures**
408 408  
409 -R1: Allow monthly data, for Germany, with unit euro, and measure choice is  'A' R2: Allow quarterly data, for Mexico, with unit usd, and measure choice is  'B'
416 +R1: Allow monthly data, for Germany, with unit euro, and [[measure>>doc:sdmx:Glossary.Measure.WebHome]] choice is  'A' R2: Allow quarterly data, for Mexico, with unit usd, and [[measure>>doc:sdmx:Glossary.Measure.WebHome]] choice is  'B'
410 410  
411 411  This may be expressed with the following DataKeySet:
412 412  
413 -|(% rowspan="4" %)Key1|FREQ|M
414 -|VIS_CTY|DE
415 -|UNIT|EUR
416 -|CHOICE|A
417 -|(% rowspan="4" %)Key2|FREQ|Q
418 -|VIS_CTY|MX
419 -|UNIT|USD
420 -|CHOICE|B
420 +(% style="width:404.294px" %)
421 +|(% rowspan="4" style="width:99px" %)(% style="color:#2980b9" %)Key1|(% style="width:153px" %)(% style="color:#2980b9" %)FREQ|(% style="width:149px" %)(% style="color:#2980b9" %)M
422 +|(% style="width:153px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:149px" %)(% style="color:#2980b9" %)DE
423 +|(% style="width:153px" %)(% style="color:#27ae60" %)UNIT|(% style="width:149px" %)(% style="color:#27ae60" %)EUR
424 +|(% style="width:153px" %)(% style="color:#e74c3c" %)CHOICE|(% style="width:149px" %)(% style="color:#e74c3c" %)A
425 +|(% rowspan="4" style="width:99px" %)(% style="color:#2980b9" %)Key2|(% style="width:153px" %)(% style="color:#2980b9" %)FREQ|(% style="width:149px" %)(% style="color:#2980b9" %)Q
426 +|(% style="width:153px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:149px" %)(% style="color:#2980b9" %)MX
427 +|(% style="width:153px" %)(% style="color:#27ae60" %)UNIT|(% style="width:149px" %)(% style="color:#27ae60" %)USD
428 +|(% style="width:153px" %)(% style="color:#e74c3c" %)CHOICE|(% style="width:149px" %)(% style="color:#e74c3c" %)B
421 421  
422 -**Use Case 7: A Constraint with wildcards for Codes and removePrefix property** For this example, we assume that the VIS_CTY representation has been prefixed with prefix ‘AREA_’. In this Constraint, we need to remove the prefix.
430 +**Use Case 7: A Constraint with wildcards for Codes and removePrefix property**
423 423  
432 +For this example, we assume that the VIS_CTY representation has been prefixed with prefix ‘AREA_’. In this Constraint, we need to remove the prefix.
433 +
424 424  R1: Allow monthly and quarterly data
425 425  
426 426  R2: Allow vis-à-vis countries that start with M
... ... @@ -429,8 +429,9 @@
429 429  
430 430  This may be expressed with the following CubeRegion:
431 431  
432 -|FREQ|M, Q
433 -|VIS_CTY (removePrefix=’AREA_’)|M%
442 +(% style="width:379.294px" %)
443 +|(% style="width:264px" %)(% style="color:#2980b9" %)FREQ|(% style="width:112px" %)(% style="color:#2980b9" %)M, Q
444 +|(% style="width:264px" %)(% style="color:#2980b9" %)VIS_CTY (removePrefix=’AREA_’)|(% style="width:112px" %)(% style="color:#2980b9" %)M%
434 434  
435 435  **Use Case 8: A Constraint with multilingual support on Attributes**
436 436  
... ... @@ -438,22 +438,24 @@
438 438  
439 439  R2: Allow Mexico for vis-à-vis country
440 440  
441 -R3: Allow a comment, in English, which includes the term adjusted for status
452 +R3: Allow a [[comment>>doc:sdmx:Glossary.Comment.WebHome]], in English, which includes the term adjusted for status
442 442  
443 443  This may be expressed with the following CubeRegion:
444 444  
445 -|FREQ|M, Q
446 -|VIS_CTY|MX
447 -|COMMENT (lang=’en’)|%adjusted%
456 +(% style="width:382.294px" %)
457 +|(% style="width:190px" %)(% style="color:#2980b9" %)FREQ|(% style="width:189px" %)(% style="color:#2980b9" %)M, Q
458 +|(% style="width:190px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:189px" %)(% style="color:#2980b9" %)MX
459 +|(% style="width:190px" %)(% style="color:#27ae60" %)[[COMMENT>>doc:sdmx:Glossary.Comment.WebHome]] (lang=’en’)|(% style="width:189px" %)(% style="color:#27ae60" %)%adjusted%
448 448  
449 449  **Use Case 9: A Constraint on allowed values for Dimensions combined with allowed** values for Metadata Attributes R1: Allow monthly and quarterly data
450 450  
451 451  R2: Allow Mexico for vis-à-vis country
452 452  
453 -R3: Allow John Doe for contact
465 +R3: Allow John Doe for (% style="color:#e74c3c" %)contact(%%)
454 454  
455 455  This may be expressed with the following CubeRegion:
456 456  
457 -|FREQ|M, Q
458 -|VIS_CTY|MX
459 -|CONTACT|John Doe
469 +(% style="width:388.294px" %)
470 +|(% style="width:181px" %)(% style="color:#2980b9" %)FREQ|(% style="width:204px" %)(% style="color:#2980b9" %)M, Q
471 +|(% style="width:181px" %)(% style="color:#2980b9" %)VIS_CTY|(% style="width:204px" %)(% style="color:#2980b9" %)MX
472 +|(% style="width:181px" %)(% style="color:#f39c12" %)CONTACT|(% style="width:204px" %)(% style="color:#f39c12" %)John Doe
1750065279010-260.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.helena
Size
... ... @@ -1,0 +1,1 @@
1 +60.3 KB
Content
1750065319060-899.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.helena
Size
... ... @@ -1,0 +1,1 @@
1 +91.0 KB
Content
1750065367824-357.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.helena
Size
... ... @@ -1,0 +1,1 @@
1 +51.4 KB
Content
1750065392163-400.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.helena
Size
... ... @@ -1,0 +1,1 @@
1 +104.8 KB
Content
1750065461589-995.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.helena
Size
... ... @@ -1,0 +1,1 @@
1 +43.9 KB
Content
SUZ.Methodology.Code.MethodologyClass[0]
index
... ... @@ -1,0 +1,1 @@
1 +10