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 :

Set + Key ou Merge [DATA]


Sujet :

SAS Base

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 155
    Points : 77
    Points
    77
    Par défaut Set + Key ou Merge
    Bonjour le forum,

    Pas de problème à résoudre cette fois, mais j'ai tout de même besoin d'une petite confirmation.
    Je travaille sur un code qui n'est pas le mien et je rencontre une manière de coder qui n'est pas forcément la mienne.

    Quand il y a une étape data avec plusieurs Set, dont un avec l'option Key, cela revient-il finalement à une jointure entre les 2 tables concernées ?
    Jointure sur les variables qui constitue Key ?

    D'après mes tests oui, mais je voulais m'assurer que cela ne dissimulait pas autres choses ?

    Voici un exemple de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Data MainData;
    	length EventNum 4;
    	Set MainData;
     
    	if &PromPrefix = 0 then do;			
    		EventNum = 0;
    	end;
    	else do;							
    		Set Flag Key=SBPR /unique;
    	end;
    	Output;
    run;
    Dans cette exemple, il aurait été possible de faire une jointure entre MainData et Flag sur les variables de SBPR ?
    Et si oui, y-a-t-il donc des différence entre les deux méthodes ?

    Merci de vos éclaircissement !

  2. #2
    Membre éclairé

    Femme Profil pro
    SAS FRANCE - Support Clients France et Europe
    Inscrit en
    Février 2010
    Messages
    289
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : SAS FRANCE - Support Clients France et Europe
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 289
    Points : 886
    Points
    886
    Par défaut
    Bonjour,

    Il y a des différences entre les 2 méthodes, effectivement elles ne sont pas flagrantes dans votre programme.
    - SET + KEY ne nécessite pas que la table soit triée
    - cette méthode permet de gérer des cas particuliers, avec des instructions du type if (_IORC_ EQ %sysrc(_SOK)) . Un exemple est donné ici IORCMSG Function .
    - Enfin, je crois également que cette méthode peut être utile lorsqu'il y a des gros écarts de taille entre les 2 tables, car finalement on ne lit que ce sont dont on a besoin.

    Cet article pourrait vous intéresser : SET, MERGE and beyond
    Cordialement,

    --
    Géraldine CADE-DESCHAMPS
    Consultante ▪ Support Clients SAS
    Tel: +33 1 60 62 12 12 ▪ support@sas.com
    www.sas.com/france
    SAS® … THE POWER TO KNOW®

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 155
    Points : 77
    Points
    77
    Par défaut
    Merci pour tous ces détails éclairés
    Je vais étudier la doc proposée alors !

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

Discussions similaires

  1. Trier un set de membres via la business key
    Par tacchinia dans le forum Cognos
    Réponses: 0
    Dernier message: 28/10/2009, 13h35
  2. [DATA] set merge update modify
    Par enicnath dans le forum SAS Base
    Réponses: 1
    Dernier message: 20/10/2009, 15h19
  3. utilisation de "global-set-key" sur emacs
    Par raphz dans le forum Apple
    Réponses: 1
    Dernier message: 28/04/2009, 10h33
  4. Fusion de deux tables : MERGE ou SET
    Par Flynt dans le forum SAS Base
    Réponses: 10
    Dernier message: 23/06/2008, 10h51
  5. [MySQL] PRIMARY and INDEX keys should not both be set for column
    Par lunick dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/11/2007, 11h16

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