Bonjour,
Je déute en macro SAS. je me sens perdu car mes repères en SAS sont chamboulés.
Je dois rendre un projet de stage dans 2 semaines et j'ai cherché depuis un mois je ne trouve toujours pas.
Voici on problème
J’ai une base de données avec de nombreuses variables
Voici les variables entre autres :
Entree_1
Entree_2
Entree_3
….
Entree_125
Rgl_1
Rgl_2
Rgl_3
…
Rgl_125
Compte
Ces variables ne contiennent que des nombres
Je dois créer une variable Caisse
Caisse_&k ( avec k variant de 1 à 125) doit vérifier deux variables :
L’entrée_&j=1 avec j variant de 1 à 125
k=r-j+1
alors si les deux conditions sont vérifiées on a Caisse_&k=rgl_R
J’ai fait un code.
LE voici
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| %macro test( per1=, per2=)
%do R= &per1%to & per2;
%do k=&per1 %to &per2;
%do j=&per1 to & per2;
if (entrée_&j=1) and (&k=&r-&j+1) then do;
caisse_&k=rgl_R;
End;
%end;
%end;
%end;
%mend;
%test (per1=1 , per2=125) |
Celui fonctionne que sur de petite période. ( C 'est à dire per1=1 , per2=10)
Malheureusement chaque fois je le lance sur une longue période SAS me met out of memory
Je voudrais optimiser mon code pour que ça aille mieux.
ou trouver une solution pour engendrer toutes mes variables caisse ( caisse_1; caisse_2 ; etc... caisse_125)
et avoir une table à la fin
Pourriez vous m'aider s'il vous plait? merci d'avance
Dragon_thuha
Partager