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 :

Proc SQL sur des variables dont le nom contient des espaces [SQL]


Sujet :

SAS Base

  1. #1
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut Proc SQL sur des variables dont le nom contient des espaces
    Bonjour à tous,

    Je dispose d'une table "table" avec des variables "division" "var 1", "var 2" contenant des espaces. (je ne peux pas enlever les espaces, c'est une consigne qu'on m'a demandé de respecter)

    Je souhaite faire des calculs à partir des deux variables numérique (var 1 et var 2) avec cette procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    proc sql ;
    create table lib.calcul as
    SELECT division, SUM(var 1) as calcul1, SUM(var 2) as calcul2
    FROM lib.table
    GROUP BY division
    ORDER BY division
     ;
    quit ;
    Mais SAS ne comprend pas les variables avec les espaces, y'a-t-il un moyen de contourner cela?

    Merci d'avance!

  2. #2
    Membre habitué

    Homme Profil pro
    Consultant Support Client SAS
    Inscrit en
    Mai 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Support Client SAS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 94
    Points : 180
    Points
    180
    Par défaut
    Bonjour,

    Il existe une option pour faire comprendre à SAS que "var &" est une variable malgré l'espace.

    Il faut tout d'abord utiliser l'option suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    options validvarname=any;
    La documentation sur cette option se trouve ici.

    Ensuite il suffit d'utiliser la syntaxe suivante pour faire appel à la variable: 'var 1'n

    Cordialement,
    Jérémy NOEL

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 114
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    Si tu veux intégrer des noms de variables avec espace dans du code il faut rajouter l'options
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    option validvarname=any
    . Après si tu veux écrire le nom d'une variable avec espace il faut l'encadrer de guillemets plus la lettre n. Exemple .

    Bon courage

  4. #4
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut
    Merci beaucoup!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/06/2012, 13h19
  2. Réponses: 1
    Dernier message: 06/09/2010, 17h48
  3. Réponses: 3
    Dernier message: 05/12/2008, 23h14
  4. Requete SQL sur une table dont le nom est dans une autre table
    Par orangepresse dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/09/2007, 13h32
  5. Réponses: 4
    Dernier message: 27/12/2006, 21h53

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