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

SAS Base Discussion :

Insérer une table dans une autre table


Sujet :

SAS Base

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 63
    Points : 32
    Points
    32
    Par défaut Insérer une table dans une autre table
    Bonjour à tous!

    Je cherche à insérer une table dans une autre table avec les mêmes variables... Quelqu'un aurait une idée?
    Je sais comment faire pour insérer des lignes avec des macrovariables, mais c'est assez limité quand même car j'ai énormément de lignes à insérer...

    Merci beaucoup à tous

  2. #2
    Membre chevronné
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Points : 1 868
    Points
    1 868
    Par défaut
    A priori ce que tu cherches doit pouvoir se faire par l'instruction set.

    Mais il y a peut etre une meilleure alternative (voire une approche de substitution) suivant les particularites de ton probleme.

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 243
    Points : 200
    Points
    200
    Par défaut
    Il y a aussi l'instruction APPEND je crois.

    Ca dépend aussi de ce que tu veux faire exactement:
    Rajouter des lignes dans une table?
    Y a-t-il des doublons?
    Une simple copie de table?(je suppose que non)

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 63
    Points : 32
    Points
    32
    Par défaut
    Il n'y a pas de doublons et il s'agit effectivement de rajouter des lignes dans une table...
    Je ne connais pas l'instruction append... A utiliser dans une data?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 63
    Points : 32
    Points
    32
    Par défaut
    Visiblement, la solution est :
    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
    Data x1;
        do i=1 to 5;
            a=ranuni(0)*10;
            output;
        end;
    run;
     
    Data x2;
        do i=6 to 10;
            a=ranuni(0)*10;
            output;
        end;
    run;
     
    DATA x1;
        set x1 x2;
    run;

    En tout cas merci beaucoup à tous

  6. #6
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    hello,
    j'opte pour la proc append, une seule table sera chargée en mémoire celle de data=,

    si tu veux tester sur des tables volumineuses et comparer le statement set et la proc append , ajoutes au début du programme l'option:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    options fullstimer;
    il y a aussi l'option force qui permet de rajouter un jeux de données au premier jeux de données même si les variables sont de longueurs différentes ou types différents .
    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
    18
    19
    20
    21
    22
    23
    24
    25
     
    DATA x1;
    length a 8;
    informat a 30.10;
        do i=1 TO 5;
            a=ranuni(0)*10;
            output;
        end;
    run;
     
    DATA x2;
     
        do i=6 TO 10;
            a=put(ranuni(0)*10,best.);
            output;
        end;
    run;
     
     
    data x3;
    set x1 x2;
    run;
     
    proc append base=x1 data=x2 force;
    run;
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 63
    Points : 32
    Points
    32
    Par défaut
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Lier les tables d'une Base1 dans une Base3 via une Base2
    Par ted the Ors dans le forum VBA Access
    Réponses: 0
    Dernier message: 30/12/2009, 11h58
  2. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  4. [XL-2003] Insérer la valeur d'une cellule dans une phrase d'une autre
    Par DonaldTron dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2009, 19h50
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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