IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Macro Discussion :

Ajout de ligne dans une table SAS


Sujet :

Macro

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 89
    Points : 66
    Points
    66
    Par défaut Ajout de ligne dans une table SAS
    Bonjour,

    J'ai une etape data qui a cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    data TEMP1;
      monChamp1=&MACRO_VAR1;
      monChamp2=&MACRO_VAR2;
    run;
    Et j'aimerais dans une autre etape data rajouter une ligne à la table TEMP1, dans les memes champs mais avec des macro variables differentes.
    En gros je voudrais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    data TEMP1;
      set TEMP1;
      monChamp1=&MACRO_VAR3;
      monChamp2=&MACRO_VAR4;
    run;
    Mais ca ecrase la ligne precedente.
    Pourriez-vous me dire comment je pourrais faire svp ?

    Merci de votre aide.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 249
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Pour ajouter une ligne en fin d'une table existante, on peut passer par l'option du set "end" qui marque la dernière observation et permet de conserver la main sans sortir de la boucle implicite...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    %let MACRO_VAR1 = 1 ;
    %let MACRO_VAR2 = 2 ;
    %let MACRO_VAR3 = 3 ;
    %let MACRO_VAR4 = 4 ;
    data work.temp1 ;
       monChamp1 = &MACRO_VAR1 ;
       monChamp2 = &MACRO_VAR2 ;
    run ;
    data work.temp1 ;
       set work.temp1 end=fini ;
       output work.temp1 ;
       if fini then do ;
           monChamp1=&MACRO_VAR3 ;
           monChamp2=&MACRO_VAR4 ;
           output work.temp1 ;
       end ;
    run ;
    Bon courage !

  3. #3
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par Bruno.Thevenin Voir le message
    Bonjour,

    Pour ajouter une ligne en fin d'une table existante, on peut passer par l'option du set "end" qui marque la dernière observation et permet de conserver la main sans sortir de la boucle implicite...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    %let MACRO_VAR1 = 1 ;
    %let MACRO_VAR2 = 2 ;
    %let MACRO_VAR3 = 3 ;
    %let MACRO_VAR4 = 4 ;
    data work.temp1 ;
       monChamp1 = &MACRO_VAR1 ;
       monChamp2 = &MACRO_VAR2 ;
    run ;
    data work.temp1 ;
       set work.temp1 end=fini ;
       output work.temp1 ;
       if fini then do ;
           monChamp1=&MACRO_VAR3 ;
           monChamp2=&MACRO_VAR4 ;
           output work.temp1 ;
       end ;
    run ;
    Bon courage !
    Merci pour votre code

    Mais je me demande pourquoi il fait mettre Output nom_de_table? un Output seul aurait suffi non?
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    747
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 747
    Points : 978
    Points
    978
    Par défaut
    Citation Envoyé par Haache Voir le message
    Merci pour votre code

    Mais je me demande pourquoi il fait mettre Output nom_de_table? un Output seul aurait suffi non?

    Oui

Discussions similaires

  1. [WB 16] Ajout de ligne dans une table
    Par J0r_x dans le forum WebDev
    Réponses: 4
    Dernier message: 07/06/2011, 09h24
  2. supprimer des lignes dans une table SAS
    Par yoyo44ima dans le forum SAS Base
    Réponses: 7
    Dernier message: 25/05/2011, 09h39
  3. [Toutes versions] Ajouter plusieurs lignes dans une table automatiquement
    Par bbolt dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 24/01/2010, 15h08
  4. [AJAX] Ajout de lignes dans une table avec Ajax
    Par Tententai dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/11/2007, 15h54
  5. Réponses: 14
    Dernier message: 22/09/2005, 16h49

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