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 :

[MERGE] Deux tables avec identifiants différents


Sujet :

SAS Base

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut [MERGE] Deux tables avec identifiants différents
    Bonjour,

    Mon problème est simple : je veux fusionner deux tables, j'ai bien une variable pivot mais je n'ai les mêmes observations dans les deux tables.

    Exemple :

    Les identifiants de ma table 1 :
    1
    2
    5

    Les identifiaints de ma table 2
    1
    3
    4

    /* */

    Je ne peux pas fusionner correctement ces deux tables. La première ligne (identifiant 1) aura les bonnes observations mais pour le reste ça me fait n'importe quoi (normal me direz-vous).

    J'aurais bien une solution impliquant une PROC SQL avec des insert values mais si vous avez quelque chose de plus simple et de tout aussi efficace ce serait très gentil de me le proposer.

    Merci pour votre aide précieuse,

    alers

  2. #2
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    utilises tu le mot clef by ?

    Normalement ça marche avec un code du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    proc sort data = table1 ; by clef ;run ;
    proc sort data = table2 ; by clef ; run ;
    data fusion ;
    merge table 1
         table 2 ;
        by clef ;run ;

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 28
    Points : 30
    Points
    30
    Par défaut
    salut,

    en te lisant, j'ai l'impression que tu veux faire une jointure ET une union...
    puisque la jointure n'est possible que pour la première ligne, mais que pour le reste tu le veux quand même...

    je ne saisis pas le besoin mais j'espère que ça répondra à ton attente
    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
     
    proc sort data=taTable1; by cle; run;
    proc sort data=taTable2; by cle; run;
     
    data sortieCommune sortieT1 sortieT2;
      merge taTable1(in = a)
               taTable2(in = b);
      by cle;
     
      if a and b then output sortieCommune;
      if a and not b then output sortieT1;
      if not a and b then output sortieT2;
    run;
     
    data sortieFinale;
      set sortiCommune sortieT1 sortieT2;
    run;

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/04/2015, 11h44
  2. [AC-2007] ajout de deux tables avec champs différents
    Par cedric pouilly dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 09/04/2013, 19h49
  3. Fusionner deux tables avec champs différents
    Par CyberMen dans le forum Débutez
    Réponses: 6
    Dernier message: 22/08/2012, 19h32
  4. deux tables avec meme nom attribut
    Par jolatouf dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 11/05/2006, 15h21
  5. Réponses: 7
    Dernier message: 14/02/2006, 11h33

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