Bonjour, j'ai un programme ou je fais un proc rank.
Etant donné que dans le proc rank j'aurai des groupes, j'aimerai qu'en sortie je puisse avoir des variables correspondant a ces groupes, qui plus tard me permettront de faire une classification sur une autre table.

Voici le programme:

Code :Sélectionner tout -Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
proc rank data=New_table_DDE_HISTO out=table_out groups=7 /* Ici ca va nous sortir 7 groupe de 0 a 6*/;
var MNT_REVN_TOT;/* de la variable MNT_RE
ranks rang_charge ;
run;
 
proc means data=table_out min max median;
var MNT_REVN_TOT;
class rang_charge;
/*by cod_soc_gest*/;
run;



On aura un tableau qui ressemble à ceci:


[TH="colspan:5"]Analysis Variable : MNT_REVN_TOT Revenu Total[/TH]
[TH]Rank[/TH]
[TH]N Obs[/TH]
[TH]Minimum[/TH]
[TH]Maximum[/TH]
[TH]Median[/TH]
0 13448 0 1249 899
1 13741 1250 1508 1400
2 13565 1509 1794 1649
3 13561 1795 2099 1925
4 13473 2100 2599 2300
5 13719 2600 3512 2987
6 13580 3513 781850 4557,5

Ce que j'aimerai , c'est pouvoir manipuler une autre table a partir des données en sortie de ce tableau. Une manipulation qui ressemblera a ceci:

Code :Sélectionner tout -Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
data DDE_HISTO_Jour_rev ;
set DDE_HISTO_Jour(keep=MNT_REVN_TOT);
if MNT_REVN_TOT<=1249 then MNT_REVN_TOT2="a0";
else if MNT_REVN_TOT>1250 and MNT_REVN_TOT <=1508 then MNT_REVN_TOT2="a1";
else if MNT_REVN_TOT>1509 and MNT_REVN_TOT <=1794 then MNT_REVN_TOT2="a2";
else if MNT_REVN_TOT>1795 and MNT_REVN_TOT <=2099 then MNT_REVN_TOT2="a3";
else if MNT_REVN_TOT>2100 and MNT_REVN_TOT <=2599 then MNT_REVN_TOT2="a4";
else if MNT_REVN_TOT>2600 and MNT_REVN_TOT <=3512 then MNT_REVN_TOT2="a5";
else MNT_REVN_TOT2="a6";
run;


Ainsi je veux rendre les valeur a comparer dynamique de telle sorte que j'ai plus saisir les valeurs a la main mais qu'elle puisse correspondre directement au Max et au Min du tableau en sortie plus haut, ou alors faire des classes en fonction des différents rang en sortie (Rank0, rank1, rank3,....)

Je sais pas si j'ai été clair mais merci d'avance pour votre aide