Borrar filtros
Borrar filtros

Join tables using all rows of a column and fulling with zeros when not found a value

1 visualización (últimos 30 días)
I have two tables, for example:
And I want to join the tables having all values of 'Ind' and 'Date' for each 'Code', fulling with zero when it doesn't find a value:
How can I do this?
Thank you!

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 27 de Oct. de 2017
Editada: Andrei Bobrov el 27 de Oct. de 2017
T1 = readtable('20171027.xls','Range','A2:B14');
T2 = readtable('20171027.xls','Range','A16:D31');
T1.Date = datetime(T1.Date);
T2.Date = datetime(T2.Date);
[g,v] = findgroups(T2.Code);
n = max(g);
T3 = repmat(T1,n,1);
T3.Code = v(kron((1:n)',ones(size(T1,1),1)));
T3 = T3(:,[3,1:2]);
[lo,ii] = ismember(T3,T2(:,1:3));
T3.Value = zeros(size(T3,1),1);
T3.Value(lo) = T2.Value(ii(lo));

Más respuestas (0)

Categorías

Más información sobre String Parsing en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by