Difference between revisions of "Structure Sets"

From FMR Knowledge Base
Jump to navigation Jump to search
(Data Structure Maps)
(Step 1 - High Level Details)
 
(37 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:FMR_Structures_Reference]]
+
[[Category:Structural Metadata]]
 +
=Overview=
  
General text about concept etc
+
The Structure Maps area allows you to define a number of map types that can be used to map components (Dimensions and Attributes) from one Data Structure to another. This relationship between two Data Structures can be used to map data queries, or datasets from the source Data Structure to the target Data Structure.
  
===Structure Sets===
+
=Structure Sets=
to be written
 
===Data Structure Maps===
 
to be written
 
  
 +
All maps MUST belong to a structure set which is selected when the map is created. It is simply a container and only has one step in the wizard as shown in the example below.
  
[[File:DSMAP.PNG|1000px]]<br>
 
  
Back to [[https://wiki.sdmxcloud.org/Category:FMR_Structures_Reference Structures Reference options]]
+
[[File:SM1.PNG|Structure Set - Step 1|600px]]<br>
  
===Dataflow Maps===
+
=Data Structure Maps=
to be written
+
 
===Codelist Maps===
+
==Overview==
to be written
+
 
===Concept Scheme Maps===
+
Data Structure Maps are used to map Components (Dimensions and Attributes) from one Data Structure to another. This relationship between two Data Structures can be used to map data queries, or datasets from the source Data Structure to the target Data Structure.
to be written
+
 
 +
==Wizard==
 +
From the Structure Maps menu, select the Data Structure Maps Page and use the maintenance button to create a map. [[File :cogs.PNG|40px]]<br>
 +
 
 +
===Step 1 - High Level Details===
 +
The steps in a Data Structure Map Wizard includes step 1 which provides the generic, high level details about the Data Structure Map. See this article [https://fmrwiki.sdmxcloud.org/All_Structures for more information on authoring and maintaining structures.] Additionally, you must select the Structure set in Step 1. <br>
 +
 
 +
===Step 2 - Mapped Structures===
 +
The second step of the wizard is to pick a source and target Data Structure; this defines which two Data Structures will be mapped. To add or modify a source or target, click in the input field to open a list of available structures.
 +
 
 +
 
 +
[[File:SM3.PNG|Data Structure Map - Step 2|800px]]<br>
 +
 
 +
===Step 3 - Mapped Components===
 +
The third step is used to define how the Components of the source Data Structure map to the Components of the target Data Structure. The '''Source''' table on the left of the page shows the available Components of the source Data Structure. Selecting a source will update the '''Target''' table in the middle of the page, which shows all currently mapped targets. The '''Available''' table on the right of the page shows all the Components of the target Data Structure which are not yet mapped to the selected Source. Components can be moved from Available to Target and vice versa by selecting the component in the target or available table and clicking the left or right arrow.
 +
 
 +
[[File:SM4.PNG|Step 3 - Mapped Components|800px]]<br>
 +
 
 +
===Step 4 - Mapped Representation===
 +
The last step of the wizard provides a mechanism to define, for each mapped Component, how their representation is mapped. For example, if two Reference Area Components are being mapped, with the source Reference Area using an ISO 2 character country Codelist and the target using the ISO 3 character Country Codelist, this step of the wizard provides the mechanism to define the mapping used between each Code in the source and target Reference Area Codelists.
 +
 
 +
 
 +
[[File:SM5.PNG|Step 4 - Mapped Representation|700px]]<br>
 +
 
 +
The above image shows the Component Maps on the left of the page, as defined in step 3 of the wizard. Each mapped Component can have a Representation Map defined. A Representation Map falls into one of the following three categories:
 +
 
 +
'''Implicit''' – this type of mapping states that the source and targets values will be the same and therefore there is no need explicitly define the mapping. For example, if the content is textual, or if the components use the same Codelist, or the source and target Codelists share the same Code Ids then implicit mapping can be used.
 +
 
 +
'''Explicit''' (Value Map) – this type of mapping is ‘inlne’ and stored as part of this Data Structure Map. A value map is imported using CSV, of source to target (as shown below). A Value Map can be used to map any text content and therefore does not have to be a valid Id ($, £, % can all be mapped for example).
 +
 
 +
 
 +
[[File:SM6.PNG|Item Mapping|700px]]<br>
 +
 
 +
'''Explicit''' (Codelist Map) – this type of mapping references an existing Codelist Map, which is created and maintained separately of this Data Structure Map. This option is only available if there is a Codelist Map defined for the Agency which maps between the source and target Codelist as used by the source and target Components that are being mapped.  Codelist Maps are discussed in the next section of this document.
 +
 
 +
 
 +
[[File:SM7.PNG|Explicit Mapping|500px]]<br>
 +
 
 +
=Dataflow Maps=
 +
 
 +
Dataflow Maps are almost identical to a Data Structure Map, except that the mapping is performed between two Dataflows. Please refer to the section on Data Structure Maps above for guidance.
 +
 
 +
=Codelist Maps=
 +
 
 +
==Overview==
 +
Codelist Maps are used to map Codes from one Codelist to another. This relationship between two Codelists can be used when mapping between Dataflows or Data Structures (see Data Structure Maps and Dataflow Maps). This information may also be used for reference or processing from external applications.
 +
 
 +
==Wizard==
 +
From the Structure Maps menu, select the Codelist Maps Page and use the maintenance button to create a map. [[File :cogs.PNG|40px]]<br>
 +
 
 +
===Step 1 - High Level Details===
 +
The steps in a Codelist Map Wizard includes step 1 which provides the generic, high level details about the Map. See this article [https://fmrwiki.sdmxcloud.org/All_Structures for more information on authoring and maintaining structures.] Additionally, you must select the Structure set in Step 1.
 +
 
 +
===Step 2 - Mapped Structures===
 +
The second step of the wizard is to pick a source and target Codelist, this defines which two Codelists will be mapped. To pick (or edit) a source or target Codelist, click in the input box and a pop up window will appear showing all the Codelists in the system, allowing one of them to be selected.
 +
 
 +
====Mapping Function - Optional====
 +
An optional mapping function can be specified which operates on the source codelist.
 +
 
 +
'''SubString''' allows a substring of the source code to be mapped. The values are zero-indexed. The end index is optional and is non-inclusive.
 +
SubString example: to use only the 2nd and 3rd characters of the source code, specify a start index of 1 and an end index of 3.
 +
 
 +
'''Regular Expression''' allows the source codes to be mapped via a Regular expression. Remember to escape special characters.
 +
RegEx example: to use the characters up to the first underscore, specify a regex of [^_]*
 +
 
 +
===Step 3 - Import Mapping===
 +
 
 +
The third step allows Code mapping information to be imported from CSV. This step is optional if Manual Mapping is preferred (step 4) then this can be used.
 +
 
 +
The CSV is expected to have 2 entries per line, one for the source Code Id, and one for the target Code Id. This is shown in the image below.
 +
 
 +
 
 +
[[File:SM8.PNG|700px]]<br>
 +
 
 +
===Step 4 - Manual Mapping===
 +
The final step allows codes to be manually mapped to the source code. To manually map a code, select the source code, the current Target and a list of Available targets will be presented, as shown in the image below. On selecting an available target, it can be moved to be a target by clicking on the left arrow. Current Targets can be moved into the Available target by clicking on the right arrow.
 +
 
 +
 
 +
[[File:SM9.PNG|800px]]<br>
 +
 
 +
=Concept Scheme Maps=
 +
 
 +
Concept Scheme Maps are almost identical to a Codelist Map, except that the mapping is performed between two Concept Schemes as opposed to two Codelists.

Latest revision as of 05:30, 5 September 2022

Overview

The Structure Maps area allows you to define a number of map types that can be used to map components (Dimensions and Attributes) from one Data Structure to another. This relationship between two Data Structures can be used to map data queries, or datasets from the source Data Structure to the target Data Structure.

Structure Sets

All maps MUST belong to a structure set which is selected when the map is created. It is simply a container and only has one step in the wizard as shown in the example below.


Structure Set - Step 1

Data Structure Maps

Overview

Data Structure Maps are used to map Components (Dimensions and Attributes) from one Data Structure to another. This relationship between two Data Structures can be used to map data queries, or datasets from the source Data Structure to the target Data Structure.

Wizard

From the Structure Maps menu, select the Data Structure Maps Page and use the maintenance button to create a map. Cogs.PNG

Step 1 - High Level Details

The steps in a Data Structure Map Wizard includes step 1 which provides the generic, high level details about the Data Structure Map. See this article for more information on authoring and maintaining structures. Additionally, you must select the Structure set in Step 1.

Step 2 - Mapped Structures

The second step of the wizard is to pick a source and target Data Structure; this defines which two Data Structures will be mapped. To add or modify a source or target, click in the input field to open a list of available structures.


Data Structure Map - Step 2

Step 3 - Mapped Components

The third step is used to define how the Components of the source Data Structure map to the Components of the target Data Structure. The Source table on the left of the page shows the available Components of the source Data Structure. Selecting a source will update the Target table in the middle of the page, which shows all currently mapped targets. The Available table on the right of the page shows all the Components of the target Data Structure which are not yet mapped to the selected Source. Components can be moved from Available to Target and vice versa by selecting the component in the target or available table and clicking the left or right arrow.

Step 3 - Mapped Components

Step 4 - Mapped Representation

The last step of the wizard provides a mechanism to define, for each mapped Component, how their representation is mapped. For example, if two Reference Area Components are being mapped, with the source Reference Area using an ISO 2 character country Codelist and the target using the ISO 3 character Country Codelist, this step of the wizard provides the mechanism to define the mapping used between each Code in the source and target Reference Area Codelists.


Step 4 - Mapped Representation

The above image shows the Component Maps on the left of the page, as defined in step 3 of the wizard. Each mapped Component can have a Representation Map defined. A Representation Map falls into one of the following three categories:

Implicit – this type of mapping states that the source and targets values will be the same and therefore there is no need explicitly define the mapping. For example, if the content is textual, or if the components use the same Codelist, or the source and target Codelists share the same Code Ids then implicit mapping can be used.

Explicit (Value Map) – this type of mapping is ‘inlne’ and stored as part of this Data Structure Map. A value map is imported using CSV, of source to target (as shown below). A Value Map can be used to map any text content and therefore does not have to be a valid Id ($, £, % can all be mapped for example).


Item Mapping

Explicit (Codelist Map) – this type of mapping references an existing Codelist Map, which is created and maintained separately of this Data Structure Map. This option is only available if there is a Codelist Map defined for the Agency which maps between the source and target Codelist as used by the source and target Components that are being mapped. Codelist Maps are discussed in the next section of this document.


Explicit Mapping

Dataflow Maps

Dataflow Maps are almost identical to a Data Structure Map, except that the mapping is performed between two Dataflows. Please refer to the section on Data Structure Maps above for guidance.

Codelist Maps

Overview

Codelist Maps are used to map Codes from one Codelist to another. This relationship between two Codelists can be used when mapping between Dataflows or Data Structures (see Data Structure Maps and Dataflow Maps). This information may also be used for reference or processing from external applications.

Wizard

From the Structure Maps menu, select the Codelist Maps Page and use the maintenance button to create a map. Cogs.PNG

Step 1 - High Level Details

The steps in a Codelist Map Wizard includes step 1 which provides the generic, high level details about the Map. See this article for more information on authoring and maintaining structures. Additionally, you must select the Structure set in Step 1.

Step 2 - Mapped Structures

The second step of the wizard is to pick a source and target Codelist, this defines which two Codelists will be mapped. To pick (or edit) a source or target Codelist, click in the input box and a pop up window will appear showing all the Codelists in the system, allowing one of them to be selected.

Mapping Function - Optional

An optional mapping function can be specified which operates on the source codelist.

SubString allows a substring of the source code to be mapped. The values are zero-indexed. The end index is optional and is non-inclusive. SubString example: to use only the 2nd and 3rd characters of the source code, specify a start index of 1 and an end index of 3.

Regular Expression allows the source codes to be mapped via a Regular expression. Remember to escape special characters. RegEx example: to use the characters up to the first underscore, specify a regex of [^_]*

Step 3 - Import Mapping

The third step allows Code mapping information to be imported from CSV. This step is optional if Manual Mapping is preferred (step 4) then this can be used.

The CSV is expected to have 2 entries per line, one for the source Code Id, and one for the target Code Id. This is shown in the image below.


SM8.PNG

Step 4 - Manual Mapping

The final step allows codes to be manually mapped to the source code. To manually map a code, select the source code, the current Target and a list of Available targets will be presented, as shown in the image below. On selecting an available target, it can be moved to be a target by clicking on the left arrow. Current Targets can be moved into the Available target by clicking on the right arrow.


SM9.PNG

Concept Scheme Maps

Concept Scheme Maps are almost identical to a Codelist Map, except that the mapping is performed between two Concept Schemes as opposed to two Codelists.