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 :

Macro SAS cherche erreur


Sujet :

Macro

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Data Manager
    Inscrit en
    Novembre 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Data Manager

    Informations forums :
    Inscription : Novembre 2012
    Messages : 52
    Points : 33
    Points
    33
    Par défaut Macro SAS cherche erreur
    Bonsoir Cher internautes ,

    j'ai créer une macro toute simple mais je n'arrive pas a obtenir ce que je recherche!
    Si l'un de vous pourriez me corriger , ce serait fort sympatique

    Voici la macro :
    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
    %macro ensmag ( mag, volumes) ;
    data malib.irism ;
    set malib.iris ;
    txpenetration = clients / menages ;
    if txpenetration<0 then txpenetration=0 ;
    where &mag ;
    run;
    proc sort data = malib.iris2 ;
    by descending txpenetration;
    run;
    data malib.irism;
    set malib.irism ;
    retain cumul 0;
    cumul= cumul + menages;
    run;
    data malib.irism;
    set malib.irism ;
    where cumul <= &volumes ;
    run;
    %mend  ;
     
    %ensmag ( mag="B" , volumes=36420) ;
    la variable volume est bien appliquée mais pas celle de mag .

    Il ne se preoccupe pas de selectionner Mag avec la modalité B.

    Merci par avance

  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,

    Je pense que vous avez confondu :
    - le paramètre de la macro
    %ensmag ( mag="B" , volumes=36420) ;

    - et la requête
    WHERE &mag ;

    %ensmag ( mag="B" [...] indique que vous créez une macro-variable locale MAG dont la valeur est "B".

    WHERE &mag ; est traduit par
    WHERE "B" ;
    j'imagine que vous voulez plutôt
    where mag="B" ;


    Je dirais donc qu'il faut revoir la manière de coder le where pour qu'on est bien une condition testée, comme dans cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    %macro m (n=);
    data _null_ ;
      set sashelp.class ;
      where name="&n" ;
    run ;
    %mend ;
    %m (n=Alice) ;
    Cordialement,
    Géraldine Cade-Deschamps
    Support Clients SAS
    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®

Discussions similaires

  1. [Macro] procedures ou Macros sas SVM
    Par cyberboy00 dans le forum Macro
    Réponses: 9
    Dernier message: 11/07/2008, 09h35
  2. [Macro] Erreur macro sas
    Par bibette dans le forum Macro
    Réponses: 2
    Dernier message: 07/07/2008, 22h04
  3. exécution de Macro SAS
    Par CélineM dans le forum Macro
    Réponses: 2
    Dernier message: 02/04/2008, 15h06
  4. Macro Q_OBJECT et erreurs de link
    Par pscheven dans le forum Qt
    Réponses: 7
    Dernier message: 21/03/2008, 11h32
  5. [débutant en C]Cherche erreur et astuce
    Par gdumouli dans le forum C
    Réponses: 44
    Dernier message: 09/09/2006, 16h46

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