Приклади використання SDMX API

Отримання списку структурних елементів

Потреба:

  1. Користувач хоче дізнатися, які типи даних доступні (набори даних).
  2. Користувач шукає список усіх доступних потоків даних (Dataflows), включаючи їх метадані та опис.

Що треба зробити користувачу?

  1. Отримати список усіх поточних потоків даних (dataflows), які публікує Держстат, разом із їх повними метаданими (наприклад, ідентифікатор, версія, опис, структура вимірів, атрибутів тощо).

Як читати відповідь (на прикладі SDMX 2.1)?

Відповідь містить перелік структур, а саме потоків даних (dataflows).

Приклад:

<str:Dataflow urn="urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=SSSU:DF_SUPPLY_USE_ENERGY(14.0.0)" agencyID="SSSU" id="DF_SUPPLY_USE_ENERGY" version="14.0.0" isFinal="true" isExternalReference="false"> 
<com:Annotations> 
<com:Annotation id="dataEngineSettings"/> 
<com:Annotation id="origin"/> 
<com:Annotation id="DataEngine"> 
<com:AnnotationTitle>timeseries_v2</com:AnnotationTitle> 
</com:Annotation> 
<com:Annotation id="isFinal"/> 
<com:Annotation id="lastUpdatedAt"/> 
</com:Annotations> 
<com:Name xml:lang="uk">Постачання та використання енергії</com:Name> 
<com:Name xml:lang="en">Supply and use of energy</com:Name> 
<com:Description xml:lang="uk">2.03.08.02</com:Description> 
<com:Description xml:lang="en">2.03.08.02</com:Description> 
<str:Structure> 
<Ref agencyID="SSSU" id="DSD_SUPPLY_USE_ENERGY" version="9.0.0" package="datastructure" class="DataStructure"/> 
</str:Structure> 
</str:Dataflow>

З цього запиту ви можете взяти назву потоку даних (Dataflow) та його останню версію - SSSU:DF_SUPPLY_USE_ENERGY(14.0.0), а також версію DSD - DSD_SUPPLY_USE_ENERGY(9.0+.0).

 

Або зробити запит для конкретного датафлоу:

SDMX 2.1:

https://stat.gov.ua/sdmx/workspaces/default:integration/registry/sdmx/2.1/dataflow/SSSU/DF_SUPPLY_USE_ENERGY/14.0.0?detail=full&references=none

SDMX 3.0:

https://stat.gov.ua/sdmx/workspaces/default:integration/registry/sdmx/3.0/structure/dataflow/SSSU/DF_SUPPLY_USE_ENERGY/14.0.0?detail=full&references=none

 

Отримати інформацію про DSD

Потреба:

  1. Користувач хоче дізнатися про структуру набору даних: які є виміри (dimensions) та атрибути (attributes)

Що треба зробити користувачу?

  1. Отримати структуру даних (DSD) для обраного потоку даних

Відповідь містить перелік структур, а саме список вимірів (dimensions), мір (measures) та атрибутів (attributes).

Наприклад, розділ

<str:DimensionList id="DimensionDescriptor">

містить в собі перелік всіх вимірів (dimensions) до набору даних і їх послідовність відображення. 

Наприклад:

Фільтр (вимір) Показник знаходиться на позиції 0 (відображається першим) і побудований на основі концепт-схеми (conceptscheme)  

CS_SUPPLY_USE_ENERGY з вірсією 5.0.0
 
<str:Dimension id="INDICATOR" urn="urn:sdmx:org.sdmx.infomodel.datastructure.Dimension=SSSU:DSD_SUPPLY_USE_ENERGY(9.0.0).INDICATOR" position="0">
<str:ConceptIdentity>
<Ref maintainableParentID="CS_SUPPLY_USE_ENERGY" maintainableParentVersion="5.0.0" agencyID="SSSU" id="INDICATOR" package="conceptscheme" class="Concept"/>
</str:ConceptIdentity>
</str:Dimension>
 

Огляд структури концепт схеми

Потреба:

  1. Користувач хоче дізнатися про можливі значення для вимірів (dimensions) для набору даних

Що треба зробити користувачу?

  1. Отримати структуру концепт-схеми (conceptscheme)

Відповідь містить перелік концептів з вказанням код-лістів (codelists або довідників) на основі яких побудовані концепти.

Наприклад, розділ

<str:Concept id="INDICATOR" urn="urn:sdmx:org.sdmx.infomodel.conceptscheme.Concept=SSSU:CS_SUPPLY_USE_ENERGY(5.0.0).INDICATOR">
<com:Name xml:lang="uk">Показник</com:Name>
<com:Name xml:lang="en">Indicator</com:Name>
<str:CoreRepresentation>
<str:Enumeration>
<Ref agencyID="SSSU" id="CL_SUPPLY_USE_ENERGY_INDICATOR" version="2.0.1" package="codelist" class="Codelist"/>
</str:Enumeration>
</str:CoreRepresentation>
</str:Concept>

каже нам про те, що показники для дата сету "Постачання і використання енергії" бере свої значення з код-ліста (codelist)

CL_SUPPLY_USE_ENERGY_INDICATOR версії 2.0.1.
 

Отримання значень довідника

Потреба:

  1. Користувач хоче дізнатися про значення які використовуються в певному код-лісті (codelist) для певного набору даних

Що треба зробити користувачу?

  1. Отримати структуру код-ліста (codelist) певної версії

Відповідь містить перелік значень код-ліста (codelist) з його ідентифікаторами і перекладами на англійську і українську мови.

Наприклад, розділ

<str:Code id="ELECTRICITY_USE" urn="urn:sdmx:org.sdmx.infomodel.codelist.Code=SSSU:CL_SUPPLY_USE_ENERGY_INDICATOR(2.0.1).ELECTRICITY_USE">
<com:Name xml:lang="uk">Обсяг використаної електроенергії</com:Name>
<com:Name xml:lang="en">Amount of electricity used</com:Name>
</str:Code>
каже нам про те, що показники є показник з ідентифікатором ELECTRICITY_USE, який перекладається як Обсяг використаної електроенергії або Amount of electricity used.
 

Отримання Даних

Потреба:

  1. Користувач хоче отримати дані (часові серії) по певному набору даних

Що треба зробити користувачу?

  1. Зробити запит даних

Приклад запиту:

SDMX 2.1:

https://stat.gov.ua/sdmx/workspaces/default:integration/registry/sdmx/2.1/data/DF_SUPPLY_USE_ENERGY/*.*.*.*.*.*.*/SSSU

SDMX 3.0:

https://stat.gov.ua/sdmx/workspaces/default:integration/registry/sdmx/3.0/data/dataflow/SSSU/DF_SUPPLY_USE_ENERGY/14.0.0/*

Як читати відповідь (на прикладі SDMX 2.1)?

Відповідь містить часові серії в форматі SDMX 2.1

  1. DF_SUPPLY_USE_ENERGY — ідентифікатор набору даних
  2. *.*.*.*.*.*.* — зірочки означають, що запит не фільтрує за жодною конкретною категорією (всі можливі значення), а кількість зірочок відображає кількість вимірів з запиту про структуру DSD
  3. /SSSU — джерело даних (State Statistics Service of Ukraine).

Ви можете вставити певні значення замість * щоб специфікувати запит.