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