Difference between revisions of "Content Constraints"

From FMR Knowledge Base
Jump to navigation Jump to search
(Overview)
(Step 1 - High Level Details)
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Structural Metadata]]
 
[[Category:Structural Metadata]]
 +
[[Category:Structural Metadata V11]]
 
=Overview=
 
=Overview=
  
Line 11: Line 12:
  
  
[[File:CONST1.PNG|1000px]]<br>
+
[[File:CONST1.PNG|Included Cube|1000px]]<br>
  
A Constrainable Structure, such as a Provision Agreement will inherit any Reporting Constraints which are attached to lower-level structures that it references.  For example the Provision Agreement will inherit any Reporting Constraints against the Dataflow it uses, and the DSD that the Dataflow uses.  It will also inherit any Content Constraints against the Data Provider it references.
+
A Constrainable Structure, such as a Provision Agreement will inherit any Reporting Constraints which are attached to lower-level structures that it references.  For example, the Provision Agreement will inherit any Reporting Constraints against the Dataflow it uses, and the DSD that the Dataflow uses.  It will also inherit any Content Constraints against the Data Provider it references.
  
 
The rules defined by Content Constraints will be enforced when performing data validation.  The rules are also reflected when viewing a DSD, Dataflow, or Provision Agreement, as shown below.
 
The rules defined by Content Constraints will be enforced when performing data validation.  The rules are also reflected when viewing a DSD, Dataflow, or Provision Agreement, as shown below.
  
  
[[File:CONST2.PNG|1000px]]<br>
+
[[File:CONST2.PNG|Restriction|1000px]]<br>
  
See this article [https://fmrwiki.sdmxcloud.org/All_Structures_-_FMR for more information on authoring and maintaining structures.]
+
See this article [https://fmrwiki.sdmxcloud.org/All_Structures for more information on authoring and maintaining structures.]
  
  
Line 29: Line 30:
 
==Step 1 - High Level Details==
 
==Step 1 - High Level Details==
  
The steps in a Constraint Wizard includes step 1 which provides the generic, high level details about the Constraint. See this article [https://fmrwiki.sdmxcloud.org/All_Structures_-_FMR for more information on authoring and maintaining structures.]
+
The steps in a Constraint Wizard includes step 1 which provides the generic, high level details about the Constraint. See this article[https://fmrwiki.sdmxcloud.org/All_Structures for more information on authoring and maintaining structures.]
  
 
==Step 2 - Attachment==
 
==Step 2 - Attachment==
Line 35: Line 36:
  
  
[[File:CONST3.PNG|800px]]<br>
+
[[File:CONST3.PNG|Selecting Structures|800px]]<br>
  
 
==Steps 3 and 4 - Included and Excluded Values==
 
==Steps 3 and 4 - Included and Excluded Values==
The third and fourth steps are to define the included and excluded values respectively.  A Component can only be defined to contain included codes or excluded Codes not both.
+
The third and fourth steps are to define the included and excluded values, respectively.  A Component can only be defined to contain included codes or excluded Codes not both.
  
  
[[File:CONST4.PNG|1000px]]<br>
+
[[File:CONST4.PNG|Included Values|1000px]]<br>
  
 
=Wizard - Series Constraint=
 
=Wizard - Series Constraint=
Line 58: Line 59:
  
  
[[File:seriescon1.PNG|1000px]]<br>
+
[[File:seriescon1.PNG|Series Constraint - Attachment|1000px]]<br>
 
 
  
 
==Steps 3 - CSV Import Values==
 
==Steps 3 - CSV Import Values==
Line 69: Line 69:
 
Step 4 allows you to add restrictions manually.
 
Step 4 allows you to add restrictions manually.
  
[[File:seriescon2.PNG|1000px]]<br>
+
[[File:seriescon2.PNG|Series Constraint - Manual Editing|1000px]]<br>

Revision as of 05:24, 5 September 2022

Overview

Content Constraints or Reporting Constraints are used to further restrict the allowable content of a Codelist in the context of a DSD, Dataflow, Provision Agreement, or Data Provider. Collectively these are termed as Constrainable Structures. The restrictions imposed by Reporting Constraints are considered when validating a dataset reported by a Data Provider. A Reporting Constraint defines restrictions against Dimensions and Attributes of a DSD which take allowable content from an enumerated list (e.g. Codelist).

The Codelists which can be constrained are determined from the Constrainable structures that the Reporting Constraint is referencing.

A Content Constraint can impose a rule on any of the available Codelists to remove any number of allowable Codes, therefore reducing the universe of the enumerated list. A Codelist is constrained by either defining which Codes in the Codelist are included (remain valid) or which codes are excluded (are not valid). An included or excluded Code may also be marked as cascade, which means any Codes which are children of that Code also inherit the rule of inclusion or exclusion.

When viewing a Content Constraint, the Included Cube shows which Codes remain valid for any of the Constrained Components. The excluded Cube shows which Codes are no longer valid.


Included Cube

A Constrainable Structure, such as a Provision Agreement will inherit any Reporting Constraints which are attached to lower-level structures that it references. For example, the Provision Agreement will inherit any Reporting Constraints against the Dataflow it uses, and the DSD that the Dataflow uses. It will also inherit any Content Constraints against the Data Provider it references.

The rules defined by Content Constraints will be enforced when performing data validation. The rules are also reflected when viewing a DSD, Dataflow, or Provision Agreement, as shown below.


Restriction

See this article for more information on authoring and maintaining structures.


From the Data menu, select the Reporting Constraints page and use the maintenance button to create either a Series Constraint or a Cube Region Constraint. Cogs.PNG

Wizard - Cube Region Constraint

Step 1 - High Level Details

The steps in a Constraint Wizard includes step 1 which provides the generic, high level details about the Constraint. See this articlefor more information on authoring and maintaining structures.

Step 2 - Attachment

The second step is used to define what Structures are being constrained and of the constrained structures, which Components will be included in the Constraints. Only Components which reference a Codelist are included in the available list. If the Constrained structure is a Data Provider, the list of Components will be derived from all the Dataflows the Data Provider has a Provision Agreement for.


Selecting Structures

Steps 3 and 4 - Included and Excluded Values

The third and fourth steps are to define the included and excluded values, respectively. A Component can only be defined to contain included codes or excluded Codes not both.


Included Values

Wizard - Series Constraint

Step 1 - High Level Details

The steps in a Constraint Wizard includes step 1 which provides the generic, high level details about the Constraint. See this article for more information on authoring and maintaining structures.

Step 2 - Attachment

The second step is used to define what type of Structure is being constrained and the actual structure to be constrained.

Options are:

  • Data Structure
  • Dataflow
  • Provision Agreement


Series Constraint - Attachment

Steps 3 - CSV Import Values

The third step allows the user to import Codes from CSV. CSV text can be copied and pasted into the text field. On clicking ‘Next’, the CSV is checked for correctness. If valid, Codes are created and added to the Constraint.

Step 4 - Manual Editing

Step 4 allows you to add restrictions manually.

Series Constraint - Manual Editing