разбить строку индикатора на переменные года
при условии, что данные будут храниться более 3 лет, вам необходимо настроить формат и массив, ссылаясь на Y1900-Y1902.
data original;
infile datalines;
format Country $20. YearIndicator $50.;
input Country YearIndicator;
format Y1900-Y1902 $4.;
array y(*) y1900-y1902;
do i = 1 to dim(y);
y[i] = scan(YearIndicator,i,'_');
end;
drop i;
datalines;
Belgium x1____x2___x3
Belarus x1____x2___x3
run;
сделать широкий стол высотой
proc transpose data=original out=talldata(rename=(_NAME_=CYear COL1=Indicator));
by country notsorted;
var y1900-y1902;
run;
сделать переменную года числовым, а не символьным
data talldata;
format Country $20. Year 4. Indicator $4.;
set talldata;
year=input(compress(cyear,,'kd'),4.);
drop cyear;
run;
просмотр результатов
proc print data=talldata; run;
выход
Obs Country Year Indicator
1 Belgium 1900 x1
2 Belgium 1901 x2
3 Belgium 1902 x3
4 Belarus 1900 x1
5 Belarus 1901 x2
6 Belarus 1902 x3