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
    Nouveau Candidat au Club
    Femme Profil pro
    Data Analyst
    Inscrit en
    octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Data Analyst

    Informations forums :
    Inscription : octobre 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut 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
    Membre du Club
    Homme Profil pro
    Statisticien
    Inscrit en
    juillet 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Statisticien
    Secteur : Service public

    Informations forums :
    Inscription : juillet 2019
    Messages : 16
    Points : 41
    Points
    41
    Par défaut
    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
    Nouveau Candidat au Club
    Femme Profil pro
    Data Analyst
    Inscrit en
    octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Data Analyst

    Informations forums :
    Inscription : octobre 2019
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Merci !
    Ah ben oui, c'est plus simple

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/02/2014, 16h54
  2. Réponses: 2
    Dernier message: 30/03/2012, 19h28
  3. programme qui fait deviner une variable aléatoire
    Par hazaki dans le forum Débuter
    Réponses: 3
    Dernier message: 02/10/2010, 11h58
  4. [RegEx] problème variable au sein d'une boucle for
    Par mussara dans le forum Langage
    Réponses: 4
    Dernier message: 22/06/2006, 15h26
  5. [PHP-JS] Passer une variable PHP->JS dans une boucle
    Par PedroBD dans le forum Langage
    Réponses: 2
    Dernier message: 12/05/2006, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo