Euro indicators 7 August 2024 Next release: 6 September 2024
May 2024 compared with April 2024
Skip to the content
Up by 2.5% in the euro area and by 2.6% in the EU compared with May 2023
Overview
In May 2024, compared with April 2024, seasonally adjusted services production decreased by 0.1% in the euro area and increased by 0.1% in the EU, according to first estimates from Eurostat, the statistical office of the European Union. In April 2024, services production grew by 1.0% in both the euro area and the EU.
In May 2024, compared with May 2023, services production increased by 2.5% in the euro area and by 2.6% in the EU.
Monthly comparison by service industry and by Member State
In the euro area in May 2024, compared with April 2024, services production
decreased for transportation and storage by 1.2%,
increased for accommodation and food services by 2.0%,
increased for information and communication by 0.6%,
decreased for real estate activities by 0.2%,
decreased for professional, scientific, and technical activities by 0.1%,
decreased for administrative and support services by 0.2%.
In the EU, services production
decreased for transportation and storage by 0.7%,
increased for accommodation and food services by 1.9%,
increased for information and communication by 0.4%,
decreased for real estate activities by 0.2%,
remained stable for professional, scientific, and technical activities,
decreased for administrative and support services by 0.1%.
Among Member States for which data are available, the highest monthly increases were recorded in Romania (+17.7%), Luxembourg (+3.6%) and Malta (+2.5%). The largest decreases were observed in Slovakia (-1.9%), Denmark (-1.8%) and Slovenia (-1.6%).
Annual comparison by service industry and by Member State
In the euro area in May 2024, compared with May 2023, services production
increased for transportation and storage by 0.2%,
decreased for accommodation and food services by 1.5%,
increased for information and communication by 7.8%,
increased for real estate activities by 1.1%,
increased for professional, scientific, and technical activities by 2.9%,
increased for administrative and support services by 1.5%.
In the EU, services production
increased for transportation and storage by 0.1%,
decreased for accommodation and food services by 1.1%,
increased for information and communication by 7.7%,
increased for real estate activities by 1.7%,
increased for professional, scientific, and technical activities by 2.7%,
increased for administrative and support services by 1.3%.
Among Member States for which data are available, the highest annual increases were recorded in Luxembourg (+16.6%), Malta (+16.5%) and Romania (+14.0%). The largest decreases were observed in Greece (-6.2%), Denmark (-3.2%) and Austria (-3.0%).
Tables
Services production % change compared with previous month* | ||||||
---|---|---|---|---|---|---|
Dec-23 | Jan-24 | Feb-24 | Mar-24 | Apr-24 | May-24 | |
Euro area | ||||||
Total services | 0.5 | 0.2 | 1.1 | -0.4 | 1.0 | -0.1 |
Transportation and storage | 1.4 | -1.0 | 1.3 | -0.4 | 1.2 | -1.2 |
Accommodation and food services | 0.8 | -0.1 | 1.1 | -1.5 | -1.4 | 2.0 |
Information and communication | 1.6 | 0.2 | 1.4 | 0.0 | 1.5 | 0.6 |
Real estate activities | -2.1 | 2.5 | 0.4 | -0.5 | 0.4 | -0.2 |
Professional, scientific and technical activities | -0.6 | 1.0 | 0.6 | -1.3 | 2.3 | -0.1 |
Administrative and support services | 1.0 | -0.3 | 0.5 | 0.9 | 1.2 | -0.2 |
EU | ||||||
Total services | 0.6 | -0.3 | 1.3 | -0.7 | 1.0 | 0.1 |
Transportation and storage | 1.2 | -2.6 | 1.2 | -0.4 | 1.1 | -0.7 |
Accommodation and food services | 1.0 | -0.2 | 1.2 | -1.5 | -1.4 | 1.9 |
Information and communication | 1.6 | 0.2 | 1.5 | -0.3 | 1.7 | 0.4 |
Real estate activities | -1.3 | 1.9 | 0.0 | -0.5 | 1.0 | -0.2 |
Professional, scientific and technical activities | -0.5 | 0.8 | 1.1 | -1.8 | 2.3 | 0.0 |
Administrative and support services | 0.9 | -0.3 | 0.6 | 0.6 | 1.1 | -0.1 |
* Calendar and seasonally adjusted Source dataset: sts_sepr_m |
Services production % change compared with previous month* | ||||||
---|---|---|---|---|---|---|
Dec-23 | Jan-24 | Feb-24 | Mar-24 | Apr-24 | May-24 | |
Euro area | 0.5 | 0.2 | 1.1 | -0.4 | 1.0 | -0.1 |
EU | 0.6 | -0.3 | 1.3 | -0.7 | 1.0 | 0.1 |
Belgium | -0.1 | -1.1 | 2.7 | -0.6 | 0.2 | 0.4 |
Bulgaria | 0.5 | 1.1 | -0.1 | 0.3 | 1.5 | -0.4 |
Czechia | 0.6 | 0.7 | -0.5 | 0.9 | 1.0 | -0.4 |
Denmark | 0.8 | -12.1 | 0.0 | -2.8 | 2.7 | -1.8 |
Germany** | -1.0 | 1.0 | 2.3 | 0.0 | : | : |
Estonia | 1.2 | -1.2 | 1.5 | -1.3 | 1.7 | -1.4 |
Ireland | c | c | c | c | c | c |
Greece | -2.9 | 0.5 | 2.6 | -2.7 | 5.7 | -1.0 |
Spain | 0.3 | 0.4 | 1.8 | -2.0 | 2.2 | -0.7 |
France | 3.1 | -0.6 | -0.5 | -1.1 | 3.4 | -0.8 |
Croatia | 2.7 | 0.1 | 0.8 | 0.8 | 2.5 | 1.1 |
Italy | -1.1 | 2.0 | 0.3 | -1.4 | 1.9 | -0.2 |
Cyprus | 2.4 | -2.4 | 6.4 | 0.7 | c | c |
Latvia | 2.2 | -3.8 | 0.1 | -0.8 | 2.5 | -0.1 |
Lithuania | 0.5 | 4.9 | -1.1 | 1.2 | -0.3 | -0.4 |
Luxembourg | 4.3 | -5.7 | -0.9 | 1.6 | 0.9 | 3.6 |
Hungary | 0.6 | 0.3 | 15.6 | -14.5 | 1.4 | 0.5 |
Malta | 1.2 | 0.5 | 3.6 | 0.4 | 0.6 | 2.5 |
Netherlands | c | c | c | c | c | c |
Austria | 0.1 | -0.3 | 0.2 | -2.0 | 0.4 | 0.0 |
Poland | -0.8 | 0.4 | 1.4 | -1.4 | 2.7 | -1.5 |
Portugal | : | : | : | : | : | : |
Romania | 3.0 | -5.5 | -1.6 | 0.2 | -1.0 | 17.7 |
Slovenia | 2.7 | 0.1 | -2.4 | 1.0 | -0.4 | -1.6 |
Slovakia | 0.1 | 1.7 | 0.5 | -0.8 | 0.8 | -1.9 |
Finland | 0.4 | 0.2 | 0.6 | 0.1 | -0.7 | 0.7 |
Sweden | c | c | c | c | c | c |
* Calendar and seasonally adjusted ** The publication of German data is delayed due to the changeover to new data requirements. : Data not available c Confidential Source dataset: sts_sepr_m |
Services production % change compared with same month of the previous year* | ||||||
---|---|---|---|---|---|---|
Dec-23 | Jan-24 | Feb-24 | Mar-24 | Apr-24 | May-24 | |
Euro area | ||||||
Total services | 1.9 | 3.2 | 4.3 | 1.9 | 4.5 | 2.5 |
Transportation and storage | -0.4 | -0.2 | 2.3 | -0.2 | 3.4 | 0.2 |
Accommodation and food services | 1.4 | 1.4 | 4.3 | 1.6 | -3.1 | -1.5 |
Information and communication | 5.7 | 6.3 | 7.6 | 5.9 | 8.9 | 7.8 |
Real estate activities | -3.2 | 1.8 | 2.4 | 0.1 | -0.2 | 1.1 |
Professional, scientific and technical activities | 1.9 | 2.9 | 4.8 | 0.6 | 5.2 | 2.9 |
Administrative and support services | 1.6 | 3.3 | 3.0 | 1.8 | 4.3 | 1.5 |
EU | ||||||
Total services | 2.0 | 2.9 | 4.2 | 1.7 | 4.0 | 2.6 |
Transportation and storage | 1.0 | -0.5 | 2.2 | -0.5 | 1.9 | 0.1 |
Accommodation and food services | 1.5 | 1.3 | 4.3 | 1.7 | -2.8 | -1.1 |
Information and communication | 5.0 | 5.8 | 7.6 | 5.5 | 7.9 | 7.7 |
Real estate activities | -1.7 | 2.2 | 2.2 | -0.2 | 0.7 | 1.7 |
Professional, scientific and technical activities | 1.6 | 2.5 | 5.1 | 0.4 | 4.8 | 2.7 |
Administrative and support services | 1.5 | 3.0 | 3.0 | 1.7 | 3.7 | 1.3 |
* Calendar adjusted Source dataset: sts_sepr_m |
Services production % change compared with same month of the previous year* | ||||||
---|---|---|---|---|---|---|
Dec-23 | Jan-24 | Feb-24 | Mar-24 | Apr-24 | May-24 | |
Euro area | 1.9 | 3.2 | 4.3 | 1.9 | 4.5 | 2.5 |
EU | 2.0 | 2.9 | 4.2 | 1.7 | 4.0 | 2.6 |
Belgium | 1.0 | -0.2 | 3.0 | 1.7 | 3.3 | 3.6 |
Bulgaria | 0.7 | 4.2 | 3.6 | 3.1 | 6.1 | 3.4 |
Czechia | -1.7 | -0.7 | -1.4 | 1.7 | 3.5 | 2.4 |
Denmark | 9.3 | -0.8 | 7.4 | -6.1 | -4.9 | -3.2 |
Germany** | 0.5 | 1.9 | 3.9 | 2.9 | : | : |
Estonia | 1.1 | -3.7 | 3.0 | -1.8 | 5.5 | -0.7 |
Ireland | c | c | c | c | c | c |
Greece | 0.7 | 2.1 | 8.9 | -0.5 | 5.2 | -6.2 |
Spain | 1.6 | 5.4 | 6.3 | 1.4 | 4.8 | 4.0 |
France | 3.5 | 3.4 | 2.6 | 0.4 | 5.9 | 2.4 |
Croatia | 3.6 | 3.1 | 3.3 | 2.7 | 6.9 | 6.6 |
Italy | -2.3 | 4.1 | 5.8 | -1.9 | 4.4 | 2.4 |
Cyprus | 4.2 | -1.8 | 14.3 | 11.0 | 5.9 | 3.6 |
Latvia | 1.6 | -2.8 | -3.6 | -5.4 | -2.1 | -1.4 |
Lithuania | 3.1 | 14.3 | 11.2 | 6.3 | 7.6 | 7.1 |
Luxembourg | 14.2 | 11.0 | 10.6 | 11.4 | 13.4 | 16.6 |
Hungary | -4.9 | -3.4 | 10.3 | -7.1 | -1.7 | 1.4 |
Malta | 5.3 | 4.7 | 20.4 | 14.0 | 10.2 | 16.5 |
Netherlands | c | c | c | c | c | c |
Austria | -3.7 | -3.4 | -2.7 | -4.8 | -2.4 | -3.0 |
Poland | 1.9 | 4.9 | 7.3 | 2.8 | 6.2 | 3.5 |
Portugal | : | : | : | : | : | : |
Romania | 9.9 | 1.7 | -2.4 | -1.3 | -5.1 | 14.0 |
Slovenia | 6.5 | 5.1 | 0.7 | 0.3 | 3.1 | 0.4 |
Slovakia | -9.9 | -5.0 | -4.1 | 0.9 | 4.0 | 0.4 |
Finland | -2.5 | -2.7 | -0.8 | -0.5 | -2.0 | -0.7 |
Sweden | c | c | c | c | c | c |
* Calendar adjusted ** The publication of German data is delayed due to the changeover to new data requirements. : Data not available c Confidential Source dataset: sts_sepr_m |
Services production, calendar and seasonally adjusted indices (base year 2021) | ||||||
---|---|---|---|---|---|---|
Dec-23 | Jan-24 | Feb-24 | Mar-24 | Apr-24 | May-24 | |
Euro area | 114.2 | 114.4 | 115.7 | 115.2 | 116.4 | 116.3 |
EU | 114.6 | 114.3 | 115.8 | 115.0 | 116.2 | 116.3 |
Belgium | 113.2 | 111.9 | 114.9 | 114.2 | 114.4 | 114.9 |
Bulgaria | 112.5 | 113.7 | 113.6 | 113.9 | 115.6 | 115.1 |
Czechia | 104.6 | 105.3 | 104.8 | 105.7 | 106.8 | 106.4 |
Denmark | 123.1 | 108.2 | 108.2 | 105.2 | 108.0 | 106.1 |
Germany* | 110.0 | 111.1 | 113.6 | 113.6 | : | : |
Estonia | 117.2 | 115.8 | 117.5 | 116.0 | 118.0 | 116.4 |
Ireland | c | c | c | c | c | c |
Greece | 127.0 | 127.6 | 130.9 | 127.4 | 134.7 | 133.4 |
Spain | 117.4 | 117.9 | 120.0 | 117.6 | 120.2 | 119.3 |
France | 117.0 | 116.3 | 115.7 | 114.4 | 118.3 | 117.3 |
Croatia | 116.9 | 117.0 | 117.9 | 118.9 | 121.9 | 123.3 |
Italy | 112.7 | 114.9 | 115.3 | 113.7 | 115.9 | 115.7 |
Cyprus | 130.1 | 127.0 | 135.1 | 136.0 | c | c |
Latvia | 117.2 | 112.7 | 112.8 | 111.9 | 114.7 | 114.6 |
Lithuania | 109.0 | 114.3 | 113.0 | 114.3 | 113.9 | 113.4 |
Luxembourg | 121.0 | 114.1 | 113.1 | 114.9 | 115.9 | 120.1 |
Hungary | 108.2 | 108.5 | 125.4 | 107.2 | 108.7 | 109.2 |
Malta | 128.0 | 128.7 | 133.3 | 133.8 | 134.6 | 138.0 |
Netherlands | c | c | c | c | c | c |
Austria | 107.9 | 107.6 | 107.8 | 105.6 | 106.0 | 106.0 |
Poland | 118.9 | 119.4 | 121.1 | 119.4 | 122.6 | 120.7 |
Portugal | : | : | : | : | : | : |
Romania | 142.3 | 134.5 | 132.4 | 132.7 | 131.4 | 154.7 |
Slovenia | 119.0 | 119.1 | 116.3 | 117.5 | 117.0 | 115.1 |
Slovakia | 95.8 | 97.4 | 97.9 | 97.1 | 97.9 | 96.0 |
Finland | 106.7 | 106.9 | 107.5 | 107.6 | 106.8 | 107.5 |
Sweden | c | c | c | c | c | c |
* The publication of German data is delayed due to the changeover to new data requirements. : Data not available c Confidential Source dataset: sts_sepr_m |
Services production, calendar adjusted indices | ||||||
---|---|---|---|---|---|---|
Dec-23 | Jan-24 | Feb-24 | Mar-24 | Apr-24 | May-24 | |
Euro area | 133.3 | 107.6 | 102.9 | 115.2 | 113.8 | 113.5 |
EU | 133.5 | 107.2 | 103.1 | 115.2 | 113.7 | 113.4 |
Belgium | 135.1 | 104.5 | 103.0 | 119.2 | 112.3 | 110.5 |
Bulgaria | 128.6 | 100.1 | 104.4 | 114.9 | 111.5 | 111.0 |
Czechia | 121.3 | 96.7 | 93.2 | 110.8 | 103.8 | 103.4 |
Denmark | 140.1 | 108.6 | 96.2 | 103.2 | 110.8 | 99.8 |
Germany* | 133.0 | 99.0 | 100.3 | 114.8 | : | : |
Estonia | 140.9 | 101.1 | 105.7 | 118.3 | 117.1 | 120.7 |
Ireland | c | c | c | c | c | c |
Greece | 147.8 | 87.9 | 96.4 | 105.9 | 108.4 | 129.2 |
Spain | 124.8 | 107.0 | 106.4 | 114.6 | 116.8 | 117.7 |
France | 142.0 | 118.0 | 103.7 | 114.6 | 117.6 | 109.2 |
Croatia | 124.6 | 88.5 | 89.6 | 98.4 | 113.9 | 125.5 |
Italy | 123.9 | 113.8 | 100.1 | 110.7 | 115.8 | 117.4 |
Cyprus | 135.1 | 103.5 | 120.0 | 132.2 | 123.5 | 145.2 |
Latvia | 134.4 | 101.9 | 102.9 | 110.7 | 110.9 | 111.5 |
Lithuania | 113.4 | 104.2 | 103.9 | 114.3 | 111.6 | 115.3 |
Luxembourg | 145.7 | 111.1 | 100.0 | 115.6 | 112.5 | 119.7 |
Hungary | 143.0 | 92.7 | 96.1 | 100.9 | 104.3 | 105.4 |
Malta | 121.9 | 118.9 | 126.7 | 137.2 | 130.4 | 145.0 |
Netherlands | c | c | c | c | c | c |
Austria | 127.1 | 109.3 | 106.1 | 109.2 | 101.0 | 97.9 |
Poland | 132.2 | 107.4 | 112.7 | 122.1 | 120.7 | 116.9 |
Portugal | : | : | : | : | : | : |
Romania | 155.8 | 118.9 | 116.2 | 130.6 | 127.7 | 152.8 |
Slovenia | 132.2 | 107.2 | 103.3 | 120.1 | 114.1 | 116.0 |
Slovakia | 108.9 | 88.5 | 87.3 | 99.3 | 95.7 | 95.0 |
Finland | 130.2 | 99.3 | 97.4 | 109.0 | 103.6 | 108.2 |
Sweden | c | c | c | c | c | c |
* The publication of German data is delayed due to the changeover to new data requirements. : Data not available c Confidential Source dataset: sts_sepr_m |
Notes for users
Revisions and timetable
Compared with data issued in the News Release of 8 July 2024, the monthly percentage increase for April 2024 has been revised from +1.1% to +1.0% in both the euro area and in the EU. The annual percentage increase has been revised from +4.8% to +4.5% in the euro area and from +4.2% to +4.0% in the EU.
Methods and definitions
The index of services production is a business indicator that measures the monthly changes in the production volume of the services industries (excluding financial and public services).
Seasonally adjusted euro area and EU series are calculated by aggregating the seasonally adjusted national data.
In this release, total services cover NACE Rev.2 sections H to N, excluding K. Missing observations from Member States for recent months are estimated for the calculation of the euro area and the EU aggregates.
Geographical information
The euro area (EA20) includes Belgium, Germany, Estonia, Ireland, Greece, Spain, France, Croatia, Italy, Cyprus, Latvia, Lithuania, Luxembourg, Malta, the Netherlands, Austria, Portugal, Slovenia, Slovakia and Finland.
The European Union (EU27) includes Belgium, Bulgaria, Czechia, Denmark, Germany, Estonia, Ireland, Greece, Spain, France, Croatia, Italy, Cyprus, Latvia, Lithuania, Luxembourg, Hungary, Malta, the Netherlands, Austria, Poland, Portugal, Romania, Slovenia, Slovakia, Finland and Sweden.
For more information
Database section on short-term business statistics
Statistics Explained article on the service production index
The weights of the Member States in the EU and euro area aggregates
(see file Base year 2021 weights - Euro indicators releases)Euro indicators dashboard
Release calendar for Euro indicators
Statistics Code of Practice
Get in touch
Media requests
Eurostat Media Support
Phone: (+352) 4301 33 408
E-mail: eurostat-mediasupport@ec.europa.eu
Further information on data
E-mail: ESTAT-STS-DATA@ec.europa.eu
Share component will be rendered here.
'; /** Retrieve the order from the tooltip option */ var sortOrder = option.tooltip.order; /** Sort the 'params' array based on the 'sortOrder' parameter. */ switch (sortOrder) { /** Sort by series name in ascending order. */ case 'seriesAsc': params = params.sort((a, b) => a.seriesName.localeCompare(b.seriesName)); break; /** Sort by series name in descending order. */ case 'seriesDesc': params = params.sort((a, b) => b.seriesName.localeCompare(a.seriesName)); break; /** Sort by numerical value in ascending order. */ case 'valueAsc': params = params.sort((a, b) => parseFloat(a.value) - parseFloat(b.value)); break; /** Sort by numerical value in descending order. */ case 'valueDesc': params = params.sort((a, b) => parseFloat(b.value) - parseFloat(a.value)); break; /** Reverse the current order. */ case 'reverse': params.reverse(); break; default: break; } /** Iterate over each series in the tooltip parameters */ for (var i = 0; i < params.length; i++) { /** Retrieve the name and value of the current series */ var seriesName = params[i].seriesName; var value = params[i].value; /** Replace every specific apostrphe by simple one. */ seriesName = seriesName.replaceAll("’", "'"); /** Convert the numeric value to its string representation. */ var strValue = String(value); /** Retrieve the axis used as value */ var axis = option.yAxis.type === 'value' ? option.yAxis : option.xAxis; /** Initialize the number of decimal places */ var decimals = option.tooltip.decimals; /** Check if decimals configuration is set to default and the value contains decimal places */ if (!decimals && strValue.indexOf('.') > -1) { /** Calculate the number of decimal places */ decimals = strValue.substring(strValue.indexOf('.'), strValue.length - 1).length; } else { /** If there are no decimal places, format the value with 1 decimal place */ decimals = decimals ? decimals : 1; /** Convert the value to a fixed-point notation string with a specified number of decimal places. */ value = Number(value).toFixed(decimals); } /** Convert -0 value to 0 with the specified or calculated number of decimal places.*/ if (Number(value) == -0) { value = (Number(value) + 0).toFixed(decimals); } /** Extract the unit from within the axis label */ var unit = axis.axisLabel.unit ? axis.axisLabel.unit : ''; /** Format the value using the appropriate number of decimal places */ value = isNaN(value) ? 'N/A' : Number(value).toLocaleString(option.lang ? option.lang : 'en', { minimumFractionDigits: decimals }) + unit; /** Retrieve the color of the current series */ const color = params[i].color; /** * Add the series name and value to the tooltip content * Use a circle icon with the series color */ tooltipContent += '
' + '' + '' + '' + seriesName + '' + '' + '' + value + '' + '
'; } /** Close the tooltip content container */ tooltipContent += '
'; /** Return the formatted tooltip content */ return tooltipContent; }}/* * This content is licensed according to the W3C Software License at * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document * * File: sortable-table.js * * Desc: Adds sorting to a HTML data table that implements ARIA Authoring Practices */'use strict';class SortableTable { constructor(tableNode) { this.tableNode = tableNode; this.columnHeaders = tableNode.querySelectorAll('thead th.sortable'); this.sortColumns = []; for (var i = 0; i < this.columnHeaders.length; i++) { var ch = this.columnHeaders[i]; var buttonNode = ch.querySelector('button'); if (buttonNode) { this.sortColumns.push(i); // buttonNode.setAttribute('data-column-index', i); // buttonNode.addEventListener('click', this.handleClick.bind(this)); ch.setAttribute('data-column-index', i); ch.addEventListener('click', this.handleClick.bind(this)); } } this.optionCheckbox = document.querySelector( 'input[type="checkbox"][value="show-unsorted-icon"]' ); if (this.optionCheckbox) { this.optionCheckbox.addEventListener( 'change', this.handleOptionChange.bind(this) ); if (this.optionCheckbox.checked) { this.tableNode.classList.add('show-unsorted-icon'); } } } setColumnHeaderSort(columnIndex) { if (typeof columnIndex === 'string') { columnIndex = parseInt(columnIndex); } for (var i = 0; i < this.columnHeaders.length; i++) { var ch = this.columnHeaders[i]; var buttonNode = ch.querySelector('button'); if (i === columnIndex) { var value = ch.getAttribute('aria-sort'); if (value === 'ascending') { ch.setAttribute('aria-sort', 'descending'); this.sortColumn( columnIndex, 'descending', ch.classList.contains('num')); } else if (value === 'descending') { ch.removeAttribute('aria-sort'); this.sortColumn( columnIndex, 'initial', true ); } else { ch.setAttribute('aria-sort', 'ascending'); this.sortColumn( columnIndex, 'ascending', ch.classList.contains('num') ); } } else { if (ch.hasAttribute('aria-sort') && buttonNode) { ch.removeAttribute('aria-sort'); } } } } sortColumn(columnIndex, sortValue, isNumber) { function compareValues(a, b) { if (a.value === b.value) return 0; if (sortValue === 'descending') { return isNumber ? b.value - a.value : (a.value > b.value ? -1 : 1); } else { return isNumber ? a.value - b.value : (a.value < b.value ? -1 : 1); } } if (typeof isNumber !== 'boolean') { isNumber = false; } var tbodyNode = this.tableNode.querySelector('tbody'); var rowNodes = []; var dataCells = []; var rowNode = tbodyNode.firstElementChild; var index = 0; while (rowNode) { rowNodes.push(rowNode); var rowCells = rowNode.querySelectorAll('th, td'); var dataCell = rowCells[columnIndex]; var data = {}; data.index = index; if (sortValue !== 'initial') { data.value = dataCell.textContent.toLowerCase().trim(); } else { data.value = rowNode.getAttribute('initial-position').toLowerCase().trim(); } if (isNumber) { data.value = parseFloat(data.value); } dataCells.push(data); rowNode = rowNode.nextElementSibling; index += 1; } dataCells.sort(compareValues); // remove rows while (tbodyNode.firstChild) { tbodyNode.removeChild(tbodyNode.lastChild); } // add sorted rows for (var i = 0; i < dataCells.length; i += 1) { let pos = [dataCells[i].index]; if (sortValue === "initial") { rowNodes[pos].classList.remove("sorted"); } else { rowNodes[pos].classList.add("sorted"); } tbodyNode.appendChild(rowNodes[pos]); } } /* EVENT HANDLERS */ handleClick(event) { var tgt = event.currentTarget; this.setColumnHeaderSort(tgt.getAttribute('data-column-index')); } handleOptionChange(event) { var tgt = event.currentTarget; if (tgt.checked) { this.tableNode.classList.add('show-unsorted-icon'); } else { this.tableNode.classList.remove('show-unsorted-icon'); } }}$(document).ready(function() { load(); });;}());
Subscribe to receive the latest Eurostat Euro indicators releases