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
    Homme Profil pro
    Étudiant
    Inscrit en
    août 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2018
    Messages : 1
    Points : 1
    Points
    1

    Par défaut SAS bASE Soustraction de Tables

    Bonjour, je suis nouveau sur le forum et j'aimerai savoir s'il est possible d'exécuter cette opération dans SAS base
    Je pars d'une Table A contenant 800 observations et 10 variables .
    J'ai une Table B de 200 observations contenue dans la Table A.[que j'ai pu extraire]
    Je souhaiterai obtenir une table C qui soit Table C= Table A- Table B

    Pour ce faire j'ai donc fait
    DATA Table C ;
    MergeTableA(in=a) TableB(in=b);
    By VariableCommune1, VariableCommune2 ;/* ce sont les variables communes à A et à B*/
    IF A and not B;
    RUN;

    Eh bien cela ne marche pas La Table C est vide , ce doit être un problème de logique.
    Pouvez vous m'aider ?

    Merci

  2. #2
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    juillet 2011
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2011
    Messages : 401
    Points : 1 018
    Points
    1 018
    Billets dans le blog
    13

    Par défaut

    Bonjour,

    La logique est correcte:

    Je te propose une solution avec proc sql afin d’éviter les proc sort nécessaire avant le merge.
    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
     
    data test1;
    input var1 var2 var3;
    cards;
    1 2 3
    1 3 7
    2 3 6
    2 1 4
    3 3 9
    3 2 5
    ; run;
     
    data test2;
    input var1 var2 var3;
    cards;
    1 2 3
    2 3 4
    2 4 4
    3 3 4
    ; run;
     
    proc sql;
    create table test3  as select test1.* from test1 left join test2
    on test1.var1 =test2.var1 and test1.var2=test2.var2
    where test2.var1 is null and test2.var2  is null ;
    quit;
    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/05/2006, 18h04
  2. Optimisation d'une base avec des tables liés
    Par snoopy69 dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2006, 10h11
  3. Export de base avec des tables liées
    Par Yali dans le forum Administration
    Réponses: 6
    Dernier message: 31/03/2006, 11h31
  4. Sécurisation accès Base au niveau tables
    Par dfournier dans le forum Sécurité
    Réponses: 4
    Dernier message: 07/12/2005, 19h18
  5. Soustraction de table
    Par Shea13 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/02/2004, 13h37

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