SDMX Dashboard Generator

SDMX Dashboard Generator

The SDMX Dashboard Generator is an open-source application that generates dynamic dashboards

How it Works

The SDMX Dashboard Generator is an open-source application that generates dynamic dashboards by offering several key features: • Most common visualization types such as key performance indicators (KPIs), lines, pie and bar charts • Dynamic integration of metadata available in multiple languages • Modularity and customizability of the dashboard layout and design set easily by the user via a specification file • Asynchronous retrieval of data and metadata from SDMX Rest API to ensure better performance • Running both on a local machine or on a server The application is co-winner of the SDMX Global Conference 2023 Hackathon.

Pull the data and metadata from SDMX in multiple languages

Two custom classes are used for the asynchronous retrieval of data and metadata, SDMXData and SDMXMetadata, built on top of SDMXThon library. When supported, metadata are retrieved through SDMX artefacts, such as the Data Structure Definition or the Dataflow. To foster the speed performance, caching methods are also leveraged.

Read the specifications provided by the dashboard designer

The app takes as an input the settings specified by the user (using a YAML file). The settings are flexible and highly customizable and contains parameters such as:

  • position of the charts in the dashboard
  • title
  • subtitle
  • units
  • measures
  • dimensions
  • permission to download the underlying data
  • links to the SDMX endpoints for data and metadata for automatic retrieval.

Renders the requested chart components

The ChartGenerator is a Python class which interprets the specifications file by designing:

  • Key Performance Indicator (KPIs) charts to show only one value corresponding to an observation value at a given point in time displayed in the visual placeholder
  • Pie charts to return the total output which represents the full circle (360°) with each value defining a fraction of the total it represents
  • Lines and bar charts to return one or multiple series, either time series or cross-sectional.

Features

SDMX Integration
The app integrates SDMX, allowing users to leverage the power of the standard for quick insight into the data and metadata sourced from SDMX Rest API.


Interactive Graphics
The app supports interactive plots to enable users analyzing trends through dynamic and responsive visual Plotly charts.


Open-source code
Built upon an open-source codebase, the app supports transparency and collaboration. Users have access to the source code, encouraging a community-driven approach and facilitating collective contributions.


Flexible design and modular architecture
The app features a very flexible design and can be easily tailored to user requirements. It supports fully customizable layouts and adaptable color schemes and users can configure interfaces for seamless alignment with specific workflows.


Optimized performance
The app supports asynchronous data and metadata retrieval together with caching methods to efficiently handle substantial datasets. It supports a seamless and responsive user experience, even with large metadata.


Dynamic data filtering and download
The app allows dynamic data filtering capabilities to facilitate the extraction of refined data queries for efficient visualization and expeditious data downloads in CSV format.


Multilingual support
Whenever metadata are available in multiple languages, the app allows the users to change the language to quickly navigate through the metadata.


Searchable documentation
The app is delivered with extensive documentation to enable effortless access to information. It is organized in several sections and it is fully searchable, to enhance user efficiency.


Settings validation
The app includes robust validation of user inputs, preventing unhandled exceptions by users and easy configuration.


Security components
The app supports state-of-the-art security features and the repository is actively maintained to update the app to the latest version.


Collaboration
Users can post new issues or pull requests for new features in the repository as long as they comply with the terms of condition of the app.


Future enhancements
The app may introduce new features and innovative functionalities, with ongoing support for continuous improvement.