diff --git a/src/fetch_series_by_api_link.m b/src/fetch_series_by_api_link.m index d1da92a84eedf17ae4e9eaaa1f59b11bd3e0f7bf..cb3116e28a0a6f04545380641afb6b7485b2965f 100644 --- a/src/fetch_series_by_api_link.m +++ b/src/fetch_series_by_api_link.m @@ -67,7 +67,19 @@ else dimension_label = dataset_dimensions_labels.(dimension_codes{jj}); flat_series.labels{jj, 1} = dimension_label; dimension_value_code = regexprep(series_dims_by_dataset_code.(complete_dataset_code).(series_code).(dimension_codes{jj}),'[^a-zA-Z0-9]','_'); - flat_series.labels{jj, 2} = dataset_dimensions.dimensions_values_labels.(dimension_codes{jj}).(dimension_value_code); + if isstrprop(dimension_value_code(1), 'digit') %MATLAB doesn't allow struct fieldnames to start with a digit + dimension_value_code = ['x' dimension_value_code]; + end + try + flat_series.labels{jj, 2} = dataset_dimensions.dimensions_values_labels.(dimension_codes{jj}).(dimension_value_code); + catch + for it = 1:size(dataset_dimensions.dimensions_values_labels.(dimension_codes{jj}), 1) + tmp = regexprep(dataset_dimensions.dimensions_values_labels.(dimension_codes{jj}){it}{1}, '[^a-zA-Z0-9]', '_'); + if strcmp(tmp, dimension_value_code) + flat_series.labels{jj, 2} = dataset_dimensions.dimensions_values_labels.(dimension_codes{jj}){it}{2}; + end + end + end end end % Create final cell array