Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Macro
Macro Forum d'entraide sur le langage Macro de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2008, 09h13   #1
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 95
Points : 25
Points : 25
Par défaut interprétation de variables

Bonjour à tous !

J'ai deux petits problèmes sous SAS concernant l'interprétation de variables (problème de même type je pense). Voici ces deux problèmes :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
%do i=1 %to &nbgrp;
    proc sql;
       select color into:col from colors
       where id=&i;
    quit;
    proc sql;
       select symbol into:sym from symbols
       where id=&i;
    quit;
    data anno&i;
       length function style color $ 8 text $ 25;
       retain hsys xsys ysys '3';
       function='label';
          x=15; y=&annoy; position='6';
          text=&i;
          style='swissb'; color=compress(&col); size=3;
          output;
    run;
Ce code produit l'erreur : "NOTE: Variable red is uninitialized." (la couleur stockée dans la variable col est "red"). Je pense que cela vient du fait que "compress(&col)" n'est pas interprété comme une chaine de caractères... Y a-t-il une fonction pour solutionner ça ?

Deuxième problème, du même ordre...
Code :
1
2
3
4
5
6
7
8
9
10
11
proc capability data=&tab.2 gout=work.gseg noprint;
             var ∥
             symbol1 v=&sym c=&col h=0.3 w=0.3;
             &typegraph / normal
                  pctlorder=0.001 0.01 0.1 5 10 25 50 75 90 95
                            99 99.9 99.99 99.999
                  name='plot'
                  rotate haxis=axis1
                  grid lgrid=3;
             where &vargrp=&grp;
        run;
Ce code produit l'erreur :
Code :
1
2
3
4
5
6
7
NOTE: Line generated BY the macro variable "GRP".
4762  EWROE-20%
              -
              22
 
ERROR 22-322: Syntax error, expecting one of the following: ;, !, !!, &, *, **, +, -, /, <, <=, <>, =, >, >=,
              AND, EQ, GE, GT, LE, LT, NE, NOT, OR, ^, ^=, |, ||, ~, ~=.
Je ne comprends pas quel caractère pose problème, j'ai essayé de remplacer le "%" mais ça ne change rien... Si quelqu'un sait ce qui ne va pas...

Merci et bonne journée
mitmit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2008, 09h22   #2
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 95
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 95
Points : 25
Points : 25
Premier problème (déjà) résolu : j'ai remplacé
par
Fallait pas chercher bien loin .

Je posterais la solution de l'autre problème dès qu'il sera résolu...

++

[EDIT] : la solution à l'autre problème était la même... dsl d'avoir créé un post pour ça
mitmit est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h31.


 
 
 
 
Partenaires

Hébergement Web