Hello Experts,
My data is :
Prod
NOM_Mode de gestion
Mode de gestion
Taux de retro mg
Nombre_de_Profil
TF1
PROFIL SOFT
0,0225
0,0082
2
TF1
PROFIL TONIC
0,0224
0,0079
2
TF3
PROFIL DYN
0,0225
0,0082
2
TF3
PROFIL TONIC
0,0224
0,0079
2
I would like to transpose this data and include the number in column name :
Prod
NOM_Mode de gestion n1
Mode de gestion n1
Taux de retro mg n1
NOM_Mode de gestion n2
Mode de gestion n2
Taux de retro mg n2
Nombre_de_Profil
TF1
PROFIL SOFT
0,0225
0,0082
PROFIL TONIC
0,0224
0,0079
2
TF3
PROFIL DYN
0,0225
0,0082
PROFIL TONIC
0,0224
0,0079
2
I tested the proc transpose in different ways, but don't have the wanted result.
Do you know please, if I can have this type of wanted data via proc transpose or I need to create a macro programme ?
My code is :
proc sort data=ACCORD7bis;
by Prod "NOM_Mode de gestion"n;
run;
data ACCORD8;
set ACCORD7bis;
by Prod "NOM_Mode de gestion"n;
retain N;
if first.Prod then
do;
N = 1;
output;
end;
else
do;
N = N + 1;
output;
end;
run;
data ACCORD9;
set ACCORD8;
/***New columns with values
NOM_Mode de gestion n1
Mode de gestion n1
Taux de retro mg n1 NOM_Mode de gestion n2.......***/
"NOM_Mode de gestion_bis"n=("NOM_Mode de gestion n")||compress(N);
"Mode de gestion_bis"n=("Mode de gestion n")||compress(N);
"Taux de retro mg_bis"n=("Taux de retro mg n")||compress(N);
run;
proc transpose data=ACCORD9 out=ACCORD10(drop=_LABEL_ _NAME_);
by Prod ;
id "NOM_Mode de gestion_bis"n;
var "NOM_Mode de gestion"n;
run;
proc transpose data=ACCORD9 out=ACCORD11(drop=_LABEL_ _NAME_);
by Prod ;
id "Mode de gestion_bis"n;
var "Mode de gestion"n;
run;
proc transpose data=ACCORD9 out=ACCORD12(drop=_LABEL_ _NAME_);
by Prod ;
id "Taux de retro mg_bis"n;
var "Taux de retro mg"n;
run;
proc sort data=ACCORD10;
by Prod;
run;
proc sort data=ACCORD11;
by Prod;
run;
proc sort data=ACCORD12;
by Prod;
run;
data ACCORD13;
merge ACCORD10 ACCORD11 ACCORD12;
by Prod;
run;
Thank you for your guidance !
... View more