Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    macro variable qui fait avancer une boucle %do
    Bonjour,

    J'ai une table toto avec une variable "quantite"

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    data toto;
     x=1; y=1; quantite=2; output;
     x=2; y=2; quantite=1; output;
     x=3; y=3; quantite=3; output;
     run;


    Je voudrais créer une autre table qui contiennent autant de lignes que la somme des quantités (quand quantite vaut 2, je veux générer 2 lignes)

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    %macro qte (tab=) ;
     
     data toto2 ;
     set toto;
     quantite2 = 1;
     %let nb_repet = %eval(quantite);
     %do i=1 %to %eval(&nb_repet) ; 
     output ; 
     %end; 
    run;
    %mend; 
    %qte(tab=toto);


    J'ai essayé de mettre dans la macro var nb_repet la var quantite pour que ma boucle s'arrête quand quantite est atteint ... mais il y a une erreur visiblement ...

    Véronique

  2. #2
    Invité
    Invité(e)
    Bonjour,

    Nul besoin de macro, ceci devrait convenir :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    data toto2;
      set toto;
      do i = 1 to quantite;
        output;
      end;
      drop i;
    run;

  3. #3
    Candidat au Club
    Merci !
    Ah ben oui, c'est plus simple

###raw>template_hook.ano_emploi###