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

Macro Discussion :

Nom de variable SAS


Sujet :

Macro

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2014
    Messages : 31
    Points : 29
    Points
    29
    Par défaut Nom de variable SAS
    Bonjour à tous ceux qui ne sont pas encore en vacances !

    Une question pour les pros du macrocode.

    L'idée c'est de crée une variable de ce type : Jan-2019
    Sur SAS guide, c'est facilement faisable, mais sur SAS Micro un peu moins (le programme tournera en batch).

    Dans l'exemple ci-dessous &IMP est résolu dans le rename est cela crée une erreur.
    En fait, je me dit que ce n'est peut-être pas possible à crée sur SAS Micro..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    %let IMP=-2019;
    %put &IMP.;
     
    /* Importation du fichier  */
     
    proc import datafile = ...
    (keep = anciennevariable
    rename=( anciennevariable=Janv&IMP.
    Trouver la solution m'éviterai de taper 10 lignes de code supplémentaire...

    Excellent Eté 2019 à vous tous !

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Nom de variable SAS
    Bonjour,

    Quel est le message d'erreur ? Je pense que ce n'est pas un problème de code macro mais de nom de variable. Votre nouveau nom de variable contient le signe "-", ce qui n'est pas standard. Essayez avec l'option options validvarname=any; pour autoriser les noms de variables contenant des caractères spéciaux (voir ce message).

    Attention toutefois à l'appel de la variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    options validvarname=any;
     
    %let IMP=-2019;
    data test;
      "Jan&IMP"n = 20;
    run;
    Sauf contrainte particulière il serait préférable d'appeler votre variable Jan2019.

    Cordialement,

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2014
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup !
    il me manquait l'option validvarname !!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/05/2012, 09h24
  2. Noms des variables dans une boucle SAS
    Par Imfafa dans le forum Débutez
    Réponses: 13
    Dernier message: 26/05/2011, 13h42
  3. AddIn avec SAS : récupérer noms des variables de table
    Par pavinho dans le forum Outils BI
    Réponses: 0
    Dernier message: 27/07/2009, 16h41
  4. Réponses: 5
    Dernier message: 16/09/2008, 17h28
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

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