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 :

Influence de l'utilisation du WHERE dans les PROC sur les tables


Sujet :

SAS Base

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 25
    Points : 20
    Points
    20
    Par défaut Influence de l'utilisation du WHERE dans les PROC sur les tables
    Bonjour,

    j'aimerais savoir si en utilisant where dans le corps d'une procédure, la table SAS utilisée par la procédure était modifiée ? Pour moi oui mais la table initiale est censée toujours exister non ?

    Merci par avance

    Kaz

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 249
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Le WHERE SAS est un filtre concernant les données lues et n'affecte pas la table elle-même...
    Dans l'exemple ci-dessous les statistiques ne concernent que la population féminine, la table sashelp.class existe toujours après la procédure...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    proc freq data=sashelp.class (where = (sex='F')) ; /* Paramètre de lecture */
    run ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    proc freq data=sashelp.class ;
       where sex = 'F' ; /* Instruction */
    run ;
    Bon courage !

  3. #3
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Une seule exception à la grande vérité énoncée par Bruno : si la procédure a la même table en entrée et en sortie. Une proc Sort sans OUT=, une proc Transpose avec la même table en DATA et en OUT, etc. Mais sinon, le WHERE n'agit que pendant la procédure, sans modifier physiquement la table lue.
    Bon courage.
    Olivier

Discussions similaires

  1. Obtenir les infos sur les colonnes d'une table
    Par randriano dans le forum SQL
    Réponses: 6
    Dernier message: 30/06/2008, 15h20

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