Closed dosse closed 2 years ago
In order to support the new requirement, it is proposed to:
structure message changes: No impact. SDMX-CSV doesn't support structure messages yet.
data message changes (only StructureSpecificData message):
Allow reporting any number of Measures at the observation level.
All measures and attributes in the Observation node are returned through property-value pairs, the property being the measure ID:
DATAFLOW,DIM1,DIM2,DIM3,MEAS1,MEAS2,ATTR1,ATTR2,ATTR3,ATTR4,ATTR4MEAS1,ATTR4MEAS2
ESTAT:NA_MAIN(1.6),A,B,C,111,222,AA,BB,CC,DD,EE,FF
Measures are optional in a Dataset. This means that reporting part of the specified Measures or even none of them, is allowed in the Dataset message.
DATAFLOW,DIM1,DIM2,DIM3,ATTR1,ATTR2,ATTR3,ATTR4
ESTAT:NA_MAIN(1.6),A,B,C,AA,BB,CC,DD
Measures and Attributes are extended to support arrays for reporting many values.
DATAFLOW[;],DIM1,DIM2,DIM3,MEAS1,MEAS2[],ATTR1,ATTR2,ATTR3,ATTR4[]
ESTAT:NA_MAIN(1.6),A,B,C,111,222;333,AA,BB,CC,DD;EE
ESTAT:NA_MAIN(1.6),A,B,D,444,555,AA,BB,FF,GG
Attributes and Measures are extended to support multiple languages. In distinction to the ID prefix for coded values when using the HTTP accept header labels=both
, the language prefix 'xx:' doesn't have an extra space character.
DATAFLOW[;],DIM1,DIM2,DIM3,MEAS1,MEAS2[en;fr],ATTR1,ATTR2,ATTR3,ATTR4[en;fr]
ESTAT:NA_MAIN(1.6),A,B,C,111,en:en-222;fr:fr-333,AA,BB,CC,en:en-DD;fr:fr-EE
ESTAT:NA_MAIN(1.6),A,B,D,444,en:en-555,AA,BB,FF,en:en-GG;fr:fr-HH
with multiple values and multiple languages:
DATAFLOW[;],DIM1,DIM2,DIM3,MEAS1,MEAS2[en;fr],ATTR1,ATTR2,ATTR3,ATTR4[en;fr]
ESTAT:NA_MAIN(1.6),A,B,C,111,"en:en-222;fr:fr-333";"en:en-444;fr:fr-555",AA,BB,CC,"en:en-DD;fr:""fr-EE ;-)"""
Notes:
DATAFLOW[;],DIM1,DIM2,DIM3,MEAS1,MEAS2[en;fr],ATTR1,ATTR2,ATTR3,ATTR4[en;fr]
ESTAT:NA_MAIN(1.6),A,B,C,111,"en:en-222;fr:fr-333";"fr:fr-555",AA,BB,CC,"en:en-DD;fr:""fr-EE ;-)"""
labels=both
, then multiple language do not interfere with labels because multi-language components are always uncoded:
DATAFLOW[;],DIM1: Dimension 1,DIM2: Dimension 2,DIM3: Dimension 3,MEAS1: Measure 1,MEAS2[en;fr]: Measure 2,ATTR1: Attribute 1,ATTR2: Attribute 2,ATTR3: Attribute 3,ATTR4[en;fr]: Attribute 4
ESTAT:NA_MAIN(1.6),A: Dim1_A,B: Dim2_B,C: Dim3_C,111,"en:en-222;fr:fr-333";"fr:fr-555",AA: Attr1_AA,BB: Attr2_BB,CC: Attr3_CC,"en:en-DD;fr:""fr-EE ;-)"""
labels=both
, then multiple values do also not interfere with labels:
DATAFLOW[;],DIM1: Dimension 1,DIM2: Dimension 2,DIM3: Dimension 3,MEAS1: Measure 1,ATTR1: Attribute 1,ATTR2: Attribute 2,ATTR3[]: Attribute 3,ATTR4: Attribute 4
ESTAT:NA_MAIN(1.6),A: Dim1_A,B: Dim2_B,C: Dim3_C,111,AA: Attr1_AA,BB: Attr2_BB,CC: Attr3_CC,DD: Attr3_DD;EE: Attr3_EE,
New Extensions:
If the first DATAFLOW column header contains the dataflow identification then it must not be repeated also in all subsequent rows. However, the column must be kept
DATAFLOW[;ESTAT:NA_MAIN(1.6)],DIM_1,DIM_2,DIM_3,OBS_VALUE,ATTR_2,ATTR_3,ATTR_1,SERIESKEY
,A,B,2014-01,12.4,Y,"Normal, special and other values",N,A.B
Using the new HTTP Accept header labels:name
a new flavour allows returning all IDs (like a series ID) in one column separated from the columns with names and uncoded values. This is done by grouping all component IDs into the DATAFLOW column placed at the first position, However, whatever the order of the component IDs in the DATAFLOW header, the following columns with related names and uncoded values must follow exactly the same order, so that it is always possible to fully relate names and uncoded values to the appropriate components and their values.
DATAFLOW[;ESTAT:NA_MAIN(1.6):DIM1.DIM2.DIM3.MEAS1.MEAS2[].ATTR1.ATTR2[en;fr]],Dimension EN 1,Dimension EN 2,Dimension EN 3,Measure EN 1,Measure EN 2,Attribute EN 1,Attribute EN 2
A.B.C...AA.,Dim1_A,Dim2_B,Dim3_C,111,222;333,Attr1_AA,"en:en-DD;fr:fr-EE"
Except the first DATAFLOW column, the order of all subsequent columns is not restricted anymore. Especially, dimensions do not have to be listed first. Measure and attribute columns can also be provided in any order.
DATAFLOW[;ESTAT:NA_MAIN(1.6)],ATTR_2,OBS_VALUE,DIM_2,DIM_3,ATTR_3,ATTR_1,SERIESKEY,DIM_1
,Y,12.4,B,2014-01,"Normal, special and other values",N,A.B,A
Released
https://metadatatechnology.com/sdmx3/designs/003/approved/Microdata%20support%20in%20SDMX%203.0%20v1.1.1.docx