Changes for page Guidelines on coding time transformations in SDMX
Last modified by Artur K. on 2026/05/29 14:28
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 8 removed)
Details
- Page properties
-
- Content
-
... ... @@ -43,20 +43,20 @@ 43 43 44 44 **Version**: 1.0, 15 September 2016 45 45 46 -|**Recommended code value**| (% style="width:309px" %)Recommended code description|(% style="width:1262px" %)Annotation47 -|**N**| (% style="width:309px" %)Non transformed|(% style="width:1262px" %)TIMETRANS_PER is always 1, since a non-transformed number covers by definition a single period48 -|**A**| (% style="width:309px" %)Average|(% style="width:1262px" %)Moving average, i.e. an operation that preserves the frequency of the series49 -|**C**| (% style="width:309px" %)Cumulated sum|(%style="width:1262px" %)50 -|**D**| (% style="width:309px" %)Difference|(%style="width:1262px" %)51 -|**DD**| (% style="width:309px" %)Difference, second order|(% style="width:1262px" %)A second order difference is the delta of deltas52 -|**F**| (% style="width:309px" %)Growth rate, flow over stock|(%style="width:1262px" %)53 -|**FC**| (% style="width:309px" %)Contribution to growth, flow over stock|(%style="width:1262px" %)54 -|**G**| (% style="width:309px" %)Growth rate|(%style="width:1262px" %)55 -|**GC**| (% style="width:309px" %)Contribution to growth|(%style="width:1262px" %)56 -|**I**| (% style="width:309px" %)Index|(% style="width:1262px" %)In the usual case, the index is fixed to 100 for a specific reference period, in most cases a year. It is recommended that the DSD contains an additional attribute BASE_PER (type ObservationalTimePeriod), which specifies the reference period of the index. In special cases (e.g. National Accounts chain linking), the index is fixed to a value different to 100 in the reference year. In these cases the BASE_PER attribute is even more important.57 -|**LA**| (% style="width:309px" %)Annualised levels|(% style="width:1262px" %)This relates to stock versus flow series. For example, many countries publish their Quarterly National Accounts (QNA) at quarterly level, which means that annual Gross Domestic Product (GDP) is the sum of the four quarters, whereas some countries publish their QNA at annual level (e.g. US), which means that annual GDP is the average of the four quarters. In order to present quarterly data in comparable levels across countries and to derive zone aggregates, quarterly data expressed at quarterly levels are “transformed” to annual levels (i.e. multiplied by four) and have this code.58 -|**S**| (% style="width:309px" %)Shifted|(% style="width:1262px" %)The time series was moved back or forth in time. This may for instance be used when non-calendar year series are aligned to the calendar year using certain estimation formulas.59 -|**_O**| (% style="width:309px" %)Other transformation|(% style="width:1262px" %)This code is taken from the guidelines on generic codes, specifying "Other". In that context it should be used if more complex transformations are applied. An explanation of the transformation or a transformation script should be given in a comment field.46 +|**Recommended code value**|Recommended code description|Annotation 47 +|**N**|Non transformed|TIMETRANS_PER is always 1, since a non-transformed number covers by definition a single period 48 +|**A**|Average|Moving average, i.e. an operation that preserves the frequency of the series 49 +|**C**|Cumulated sum| 50 +|**D**|Difference| 51 +|**DD**|Difference, second order|A second order difference is the delta of deltas 52 +|**F**|Growth rate, flow over stock| 53 +|**FC**|Contribution to growth, flow over stock| 54 +|**G**|Growth rate| 55 +|**GC**|Contribution to growth| 56 +|**I**|Index|In the usual case, the index is fixed to 100 for a specific reference period, in most cases a year. It is recommended that the DSD contains an additional attribute BASE_PER (type ObservationalTimePeriod), which specifies the reference period of the index. In special cases (e.g. National Accounts chain linking), the index is fixed to a value different to 100 in the reference year. In these cases the BASE_PER attribute is even more important. 57 +|**LA**|Annualised levels|This relates to stock versus flow series. For example, many countries publish their Quarterly National Accounts (QNA) at quarterly level, which means that annual Gross Domestic Product (GDP) is the sum of the four quarters, whereas some countries publish their QNA at annual level (e.g. US), which means that annual GDP is the average of the four quarters. In order to present quarterly data in comparable levels across countries and to derive zone aggregates, quarterly data expressed at quarterly levels are “transformed” to annual levels (i.e. multiplied by four) and have this code. 58 +|**S**|Shifted|The time series was moved back or forth in time. This may for instance be used when non-calendar year series are aligned to the calendar year using certain estimation formulas. 59 +|**_O**|Other transformation|This code is taken from the guidelines on generic codes, specifying "Other". In that context it should be used if more complex transformations are applied. An explanation of the transformation or a transformation script should be given in a comment field. 60 60 61 61 == 2.2 Time Transformation Periods == 62 62 ... ... @@ -63,25 +63,40 @@ 63 63 Definition: This concept provides information about the number of periods used for a time-related transformation of the time series. 64 64 65 65 **Concept ID: **The concept ID is TIMETRANS_PER. 66 + 66 66 **Code List Name**: Code list for Time Transformation Periods. 68 + 67 67 **Code List ID:** CL_TIMETRANS_PER. 70 + 68 68 **Established international standard(s) used as input for the code list**: None. 69 69 70 70 **Version**: 1.0, 15 September 2016 71 71 72 -(% style="width:1172.96px" %) 73 -|(% style="width:320px" %)**Recommended code value**|(% style="width:408px" %)**Recommended 74 -code description**|(% style="width:442px" %)**Annotation** 75 -|(% style="width:320px" %)**1**|(% style="width:408px" %)One|(% style="width:442px" %) 76 -|(% style="width:320px" %)**2**|(% style="width:408px" %)Two|(% style="width:442px" %) 77 -|(% style="width:320px" %)**etc.**|(% style="width:408px" %)etc.|(% style="width:442px" %) 75 +|**Recommended code value**|**Recommended 76 +code description**|**Annotation** 77 +|**1**|One| 78 +|**2**|Two| 79 +|**etc.**|etc.| 78 78 79 79 == 2.3 Relation of transformation coding to transformation rules == 80 80 81 81 Transformation can also be expressed with transformation rules using a syntax such as the Validation and Transformation Language (VTL). Following the transformation graph model behind VTL, the transformation coding suggested in this guideline can be seen complementary with using transformation rules in VTL. The idea is that a coded non-transformed time series is transformed using a VTL rule and the result is then coded again with transformation codes for further data exchange. This principle is shown in the graph below: 82 82 83 -[[image:1769510498202-796.png]] 84 84 86 +|((( 87 +Level series 88 +))) 89 + 90 +|((( 91 +Transformed series 92 +))) 93 + 94 +|((( 95 +Transformation rule 96 + 97 +(VTL) 98 +))) 99 + 85 85 Using the two concepts as suggested above for coding the type of transformation applied and the number of periods covered will additionally ensure that the parameters used for the formula are directly used in the coding of the resulting series. Thus no complex mapping is needed. The transformation applied is linked to the transformation type concept and the number of periods used for the calculation is linked to the transformation periods concept. 86 86 87 87 **Example:** ... ... @@ -88,40 +88,40 @@ 88 88 89 89 The formula for a simple annual growth rate can be expressed as follows:{{footnote}}Note: often growth rates are expressed as percentage growth, in which case the value is multiplied with 100%. This is however not relevant for this guideline and is left out for simplicity.{{/footnote}} 90 90 91 -[[image:1 769510529532-579.png]]106 +//GT= VT-VT-PVT-P//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png]] 92 92 93 -A growth rate over P years in year T is the difference between the current year value and the value P years ago related to the value P years ago; with G being the growth rate, V being the absolute value, T being the time (year) and P the number of periods. 108 +à A growth rate over P years in year T is the difference between the current year value and the value P years ago related to the value P years ago; with G being the growth rate, V being the absolute value, T being the time (year) and P the number of periods. 94 94 95 95 The growth rate formula can be expressed in VTL and linked to transformation type G. The year T is linked to the respective year in the time series and the parameter P is linked to the transformation period concept. 96 96 97 97 **Example:** 98 98 99 -| (% style="width:427px" %)**Year à**|(% style="width:230px" %)**2010**|(% style="width:365px" %)**2011**|(% style="width:386px" %)**2012**|(% style="width:322px" %)**2013**100 -| (% style="width:427px" %)**GDP Level**|(% style="width:230px" %)500|(% style="width:365px" %)505|(% style="width:386px" %)510|(% style="width:322px" %)505101 -| (% style="width:427px" %)**Growth rate,102 -period on period**| (%style="width:230px" %)|(% style="width:365px" %)0.0100|(% style="width:386px" %)0.0099|(% style="width:322px" %)-0.0098103 -| (% style="width:427px" %)**Formula**|(%style="width:230px" %) |(%style="width:365px" %)[[image:1769510625588-573.png]]|(%style="width:386px" %)[[image:1769510654674-828.png]]|(% style="width:322px" %)[[image:1769510676535-250.png]]104 -| (% style="width:427px" %)**Growth rate,105 -over 2 periods**| (%style="width:230px" %)|(%style="width:365px" %)|(% style="width:386px" %)0.0200|(% style="width:322px" %)0.0000106 -| (% style="width:427px" %)**Formula**|(%style="width:230px"%)|(%style="width:365px" %) |(%style="width:386px" %)[[image:1769510701118-480.png]]|(% style="width:322px" %)[[image:1769510718908-350.png]]114 +|**Year à**|**2010**|**2011**|**2012**|**2013** 115 +|**GDP Level**|500|505|510|505 116 +|**Growth rate, 117 +period on period**| |0.0100|0.0099|-0.0098 118 +|**Formula**| |//GT= V2011-V2011-1V2011-1//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png]]|//GT= V2012-V2012-1V2012-1//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png]]|//GT= V2013-V2013-1V2013-1//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png]] 119 +|**Growth rate, 120 +over 2 periods**| | |0.0200|0.0000 121 +|**Formula**| | |//GT= V2012-V2012-2V2012-2//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png]]|//GT= V2013-V2013-2V2013-2//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png]] 107 107 108 108 When looking at the formulas, you can see that the same parameters that are used to call a transformation service can be used to code the resulting series, which makes it very easy for data processing systems to ensure consistency between calculations and coding of results: 109 109 110 -|**Year ** →|2011|(% rowspan="4" %)(((125 +|**Year à**|2011|(% rowspan="4" %)((( 111 111 **Transformed series:** 112 112 113 -REF_YEAR →2011128 +REF_YEAR à 2011 114 114 115 -OBS_VALUE →0.0100130 +OBS_VALUE à 0.0100 116 116 117 -TRANS_TYPE →G (Formula / VTL function)132 +TRANS_TYPE à G (Formula / VTL function) 118 118 119 -TRANS_PER →1134 +TRANS_PER à 1 120 120 ))) 121 121 |**GDP Level**|505 122 122 |**Growth rate, 123 123 period on period**|0.0100 124 -|**Formula**|[[image:1 769510755278-324.png]]139 +|**Formula**|//GT= V2011-V2011-1V2011-1//[[image:file:///C:/Users/axyli/AppData/Local/Temp/msohtmlclip1/01/clip_image007.png]] 125 125 126 126 This is especially useful when only transformed series should be exchanged and level series or transformations are not subject to exchange. An example could be GDP growth rates, where for early estimates often level series are still under embargo, whereas growth rates are publishable. 127 127
- 1769510498202-796.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -9.0 KB - Content
- 1769510529532-579.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.8 KB - Content
- 1769510625588-573.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.9 KB - Content
- 1769510654674-828.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.9 KB - Content
- 1769510676535-250.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.0 KB - Content
- 1769510701118-480.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.8 KB - Content
- 1769510718908-350.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -2.0 KB - Content
- 1769510755278-324.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.helena - Size
-
... ... @@ -1,1 +1,0 @@ 1 -1.9 KB - Content