Difference between revisions of "Structure Sets"
(→Wizard) |
(→Step 1 - High Level Details) |
||
(33 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category: | + | [[Category:Structural Metadata]] |
− | + | =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. | 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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | [[File:SM1.PNG|Structure Set - Step 1|600px]]<br> | ||
− | + | =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== | ==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> | ||
− | The steps in a Data Structure Map Wizard includes step 1 which provides the generic, high level details about the Data Structure Map. See | + | ===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. | 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|800px]]<br> | + | [[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. | 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|800px]]<br> | + | [[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: | 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. | + | '''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). | '''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| | + | [[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. | '''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| | + | [[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. | 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 | ||
− | |||
− | |||
− | |||
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. | 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. | |
− | |||
− | |||
− | |||
− | |||
− | to |
Latest revision as of 04:30, 5 September 2022
Contents
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.
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.
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.
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 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.
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).
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.
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.
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.
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.
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.