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 :

une variable vide crée en plus dans le résultat sas


Sujet :

Macro

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 54
    Points
    54
    Par défaut une variable vide crée en plus dans le résultat sas


    je suis en train de construire une table, en utilisant des proc sql pour réccupérer les valeurs des champs et ensuite les attribuer à chaque variable comme suit:



    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
    23
    24
    proc sql noprint ;
    	  select IDjdd into:id
                   from &data;
    	  select prob into:Prob_vrai 
    	  from table_vrai;
                   select F into:F_vrai
    	  from table_vrai;
                   select prob into:Prob_ech 
    	  from table_ech;
    	  select F into:F_ech
    	  from table_ech;
                   quit;
     
        	  data resum; 
                   var1=&id;
                   var2=%scan(&var,&d,' ');
    	  var3=&nbr;
                   var4=&F_vrai;
                   var5=&Prob_vrai;
                   var6=%eval(%eval(&nbr)-%eval(&ind));
                   var7=∼
                   var8=&F_ech;
    	  var9=&Prob_ech;
    	   run;

    je m'apperçoit qu'à la fin dans la table créee "resum", une colonne (variable I) vide en plus!! j'ai utilsé l'option mlogic pour l'execution pas à pas, j'ai regardé mon code source plusieurs fois, mais je n'arrive pas à détecter l'erreur!!

  2. #2
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Je crois qu'il y a un problème sur des variable non définit: &d &var...
    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
     
    data t;
    input a b;
    cards;
    3 4
    ;
    run;
    proc sql ;
    select a into: v_a
    from t;
    select b into: v_b
    from t;
    quit;
    %put &v_a;
    data t1;
    x=&v_a;
    res=%eval(%eval(&v_a)-%eval(&v_b));
    run;
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 54
    Points
    54
    Par défaut
    non!!

    mais mon code marche bien, toutes les variables sont bien calculées et reportées dans la table "résum", sauf qu'il rajoute une colonne I vide en plus!!

  4. #4
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 219
    Points
    16 219
    Par défaut
    Bonjour,
    Où définis-tu tes macro-variables dans ton code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %LEt maVar=valeurMaVar;
    Les balises code
    FAQ SAS
    Rubrique SAS

    Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par fafabzh6 Voir le message
    Bonjour,
    Où définis-tu tes macro-variables dans ton code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %LEt maVar=valeurMaVar;
    Je crois que j'ai trouvé le problème. Je réccupère la valeur F de la statistique de Fisher dans var8 et un certain moment elle n'est pas définie, donc "F=. ", à partir de cette valeur il rajoute une colonne vide.

    je voudrai remplacer cette valeur par un 0, et j'ai applique ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data table_ech;set table_ech;if F='.' then F=0;run;
    mais ça ne marche pas!!!

  6. #6
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Je crois que c'est un probleme de test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATA table_ech;set table_ech;if F='.' then F=0;run;
    F est de type numérique ou caractère?
    Si numérique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATA table_ech;set table_ech;if F=. then F=0;run;
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par bahraoui Voir le message
    Je crois que c'est un probleme de test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATA table_ech;set table_ech;if F='.' then F=0;run;
    F est de type numérique ou caractère?
    Si numérique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATA table_ech;set table_ech;if F=. then F=0;run;
    Bonjour

    je repris mon code ce matin en changeant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATA table_ech;set table_ech;if F=. then F=0;run;
    et ça ne marche pas non plus,

    décidement

  8. #8
    Membre actif

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 233
    Points : 254
    Points
    254
    Par défaut
    Tu peux mettre ici le code permettant de reproduire l'anomalie ? Le code complet, à partir de cards pour remplir les tables que tu utilises.


    P.S. Vu le nom de la colonne, je dirais qu'il y a une boucle quelque part avec une variable i dedans...

Discussions similaires

  1. Recuperer dans une variable un champ de plus de 255 caracteres
    Par hippolaterreur dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 08/09/2009, 16h01
  2. [PHP 5.0] Passer une variable vide dans un fichier texte
    Par tarmo57 dans le forum Langage
    Réponses: 2
    Dernier message: 22/02/2009, 14h45
  3. Création d'une variable vide dans BO
    Par atoffoli75 dans le forum Deski
    Réponses: 5
    Dernier message: 10/06/2008, 09h32
  4. Réponses: 4
    Dernier message: 14/05/2007, 13h44
  5. [Requete] Inserer une variable ou le repertoire courant dans une requete ?
    Par doudoustephane dans le forum Requêtes et SQL.
    Réponses: 30
    Dernier message: 18/06/2006, 22h21

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