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 :

Supprimer les lignes d'une table dans une autre table


Sujet :

SAS Base

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 18
    Points
    18
    Par défaut Supprimer les lignes d'une table dans une autre table
    Bonjour à tous !

    Cela me semblait simple mais finalement je n'y arrive pas

    Je dispose de 2 tables de 3 variables identiques:

    Table 1 :
    A Mois Item
    001 janvier RST
    001 janvier THU
    001 janvier OIK
    001 janvier PLM
    002 janvier UYJ
    003 fevrier IBN

    Table 2 :
    A Mois Item
    001 janvier RST
    001 janvier OIK
    001 janvier PLM
    003 fevrier IBN

    Je souhaite le résultat suivant :

    Table 3 :

    A Mois Item
    001 janvier THU
    002 janvier UYJ

    C'est à dire toutes les observations qui sont présentes dans la table 1
    mais pas dans la table 2.

    Je n'ai toujours pas trouvé de solutions à ce qui me parraissait simple.

    Auriez-vous des idées?

    Merci en tout cas,

    Mikael

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 153
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    parmi des solutions on peut faire par exemple:
    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
    26
    27
    28
    29
    30
     
    DATA TABLE1;
    INPUT ID $3. MOIS $9. ITEM $3.;
    CARDS;
    001 janvier RST
    001 janvier THU
    001 janvier OIK
    001 janvier PLM
    002 janvier UYJ
    003 fevrier IBN
    ;
    RUN;
    DATA TABLE2;
    INPUT ID $3. MOIS $9. ITEM $3.;
    CARDS;
    001 janvier RST
    001 janvier OIK
    001 janvier PLM
    003 fevrier IBN
    ;
    RUN;
     
    PROC SORT DATA =TABLE1;BY ID MOIS ITEM;RUN;
    PROC SORT DATA =TABLE2;BY ID MOIS ITEM;RUN;
     
    data resultat;
    merge table1(IN=A) TABLE2(IN=B) ;
    BY ID MOIS ITEM;
    IF A AND NOT B;
    RUN;
    OU AUSSI:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    proc sql;
    create table resultat2 as 
    select * from 
    table1 AS A LEFT JOIN TABLE2 AS B 
    		ON (A.ID=B.ID AND A.MOIS=B.MOIS AND A.ITEM=B.ITEM)
    WHERE  A.ID NOT IN (SELECT B.ID FROM TABLE2)
    ;
    QUIT;

    bonne chance

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 18
    Points
    18
    Par défaut
    Ha super merci beaucoup !

    Je suis sauvé

    J'avais déjà essayé ces solutions mais cela ne marchait pas. J'ai été étonné de voir que l'exemple donné marchait pourtant parrfaitement bien même sur ma version sas que je croyais buggée haha

    En fait cela venait du format de la variable item qui était de $8. dans la table1 et $4. de la table 2 !

    Maintenant c'est résolu un grand merci

    J'ai retenu la première solution.

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

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. [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
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  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