BookmarkSubscribeRSS Feed
Amir
PROC Star

Hi @Gick,

 

It is strange that the log shows mprint for the where clause, but there is no sign of an mprint for the proc freq code earlier in the log. Are there more parts to the log for this macro?

 

My attention was drawn to the message:

 

WARNING: The quoted string currently being processed has become more than 262 characters long. You might have unbalanced quotation
marks.

If you have unbalanced quotes elsewhere in your code then this can cause all sorts of problems / compounding effects. Please try opening a new SAS session in which you just have the macro definition for gick and call it using %gick, with no other code in your SAS session. I expect it will fail with the missing data set, this would imply the original problem is outside your macro (e.g., unbalanced quotes), but if it fails with the same error then that implies the issue is in the macro.

 

Please report back by showing the log using the "</>" ("Insert Code") icon.

 

 

Kind regards,

Amir.

Gick
Pyrite | Level 9
%macro gick();
/* Importation de données*/
proc import datafile="C:\dat_essai.txt" out = tab_It replace;
getnames = yes;
delimiter =";";
run;
%let last = eat travel;
%do l = 1 %to 2;
proc freq data = tab_It noprint;
tables dates / out = compil;
%if &l. = 1 %then /*The problem is in this line. It does not recognize &l. as a numeric value*/
%do;
where I = 1 ;
%end;
%if &l. = 2 %then
%do;
where I >=3;
%end;
run;

data compil;
set compil;
rename count = "%scan(&last.,&l.,' ')"n;
keep dates count;
run;

%end;
%mend;
options mprint symbolgen mlogic;
%gick();

/*----------------------------- Another approach ----------------------------------*/
%macro herm();
/* Importation de données*/
proc import datafile="C:\dat_essai.txt" out = tab_It replace;
getnames = yes;
delimiter =";";
run;
%do l = 1 %to 2;
%if &l. = 1 %then %let her=(I =1);

%else %let her=(I >=3);
proc freq data = tab_It noprint;
where &her.;
tables dates / out = compil;
run;

data compil;
set compil;
rename count = "%scan(&last.,&l.,' ')"n;
keep dates count;
run;
%end;
%mend;
options mprint symbolgen mlogic;
%herm();

-----------------------------------------------------------------------------------------------------------------------------
Both codes work and give me the same results. However, I agree with you, the problem is therefore at the command line level. I have to look for it.

I had submitted part of my macro program and the error it generated.

Thank you.
Gick

Kurt_Bremser
Super User

One other BIG hint: always start to debug your code at the top. Tolerate NO WARNING/ERROR/extraneous NOTE(*), fix each single step until it issues no such message and produces the expected result. Only then advance to the next step. Often, fixing the first issue cleans up all or most of the following issues.

 

(*): NOTEs like "XXX is uninitialized" or "was converted to numeric/character" or "MERGE has repeats in more than one dataset" and so on. A proper step has only NOTEs about the size of the created dataset(s) and the time it took.

Gick
Pyrite | Level 9

This code works alone. But, by associating it in my whole macro program, I get the same error
"ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was:
&I. = 1
ERROR: The macro herm will stop executing. "

I note that I rechecked the other lines of my code, it works. This line, on the other hand, generates an error message that I don't understand, so executing it alone, it works.
Thank you for your help. Explanations are welcome.
Gick

Kurt_Bremser
Super User

@Gick wrote:

This code works alone. But, by associating it in my whole macro program, I get the same error

This means your existing code is wrong or so badly written that it does not lend itself to being expanded.


 

Amir
PROC Star

Hi @Gick,

 

Are you able to share the whole log of the all of your code (not just macro gick), using the "</>" icon, please?

 

Thanks & kind regards,

Amir.

Gick
Pyrite | Level 9
2713       
2714       	%put ======================== Traitement terminé ========================;
2715       	%let temps_fin = %sysfunc(time());
2716       	%let duree = %sysevalf(&temps_fin.-&temps_debut.);
2717       	%put * Durée d exécution de Herm : &duree. secondes;
2718       
2719       	options notes nospool;
2720       
2721       %mend;
2722       
2723       %Herm(pas = 21);
Lancement du macro-programme Herm
Traitement base sept20
Traitement base oct20
Traitement base nov20
Traitement base dec20
Traitement base jan21_1
Traitement base jan21_2
Traitement base jan21_3
Traitement base fev21_1
Traitement base fev21_2
Traitement base fev21_3
Traitement base fev21_4
Traitement base mar21_1
Traitement base mar21_2
Traitement base avr21_1
94                                                         Le Système SAS                         14:51 Wednesday, February 23, 2022

Traitement base avr21_2
Traitement base mai21_1
Traitement base mai21_2
Traitement base jun21_1
Traitement base jun21_2
Traitement base jul21_1
Traitement base jul21_2
Traitement base jul21_3
Traitement base jul21_4
Traitement base aou21_1
Traitement base aou21_2
Traitement base aou21_3
Traitement base sep21_1
Traitement base sep21_2
Traitement base sep21_3
Traitement base sep21_4
Traitement base oct21_1
Traitement base oct21_2
Traitement base oct21_3
Traitement base oct21_4
Traitement base nov21_1
Traitement base nov21_2
Traitement base dec21_1
Traitement base dec21_2
Traitement base dec21_3
Traitement base dec21_4
Traitement base dec21_5
Traitement base dec21_6
Traitement base jan22_1
Traitement base jan22_2
Traitement base jan22_3
Traitement base jan22_4
Traitement base jan22_5
Traitement base jan22_6
I - Taille fichier avant consolidation :   677476
II - Taille fichier après épuration des doublons :   666880
--- Nombre de voyageurs à supprimer :      920
--- Nombre de bugs à supprimer :      408
Optimisation doublons positifs :
--- 25 % réalisés
--- 50 % réalisés
--- 75 % réalisés
--- 100 % réalisés
--- Nombre total de duplications :        3
--- Nombre de cas dupliqués : 572
III - Taille fichier finalisé après traitement des positifs selon critère SpF :   292140
Création des séries de données
--- Partie total
--- Partie Communes
--- Partie Villages
--- Partie classes d âge
--- Partie sexe
--- Partie asymptomatique et NUMSS
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: 
       &l. = 1 
ERROR: The macro Herma will stop executing.

Hi @Amir ,

I hope this will allow you to provide me with clarification, help so that I can understand this error message.

Thank you

Gick

 

Quentin
Super User

Hi,

 

This problem is confusing.  I suspect it relates to the message about unbalanced quotes.  Using Enterprise Guide, this can actually be tricky to detect, because:

  1. You can't batch submit a program (this is generally the best way to ensure that you start with a fresh SAS session and get a full log).
  2. To get a fresh SAS session you need to either quit and restart EG or disconnect from the server and reconnect.
  3. EG adds a magic string after each code submission, which attempts to close out any unmatched quotes.  But this means that sometimes if your code has unmatched quotes the log won't tell you of the problem, because EG added code to close the quotes.

 

Debugging is helpful to do in small bits.  Here's a simple test of your macro code:

%macro gick();
%let last= eat travel;
		%do l = 1 %to 2;
			%if &l. = 1 %then /*The problem is in this line. It does not recognize &l. as a numeric value*/
                    %do;
				%put I ran ;
			        %end;
    %end ;
%mend gick ;

%gick()

The only code that writes a value to the macro variable L is your %do loop. Testing the above code (in a fresh SAS session) shows that there is no problem with the %DO loop or the %IF statement.

 

This suggests that the problem is elsewhere in your code.  Either unmatched quotes, or an unclosed %macro statement, or ...

 

I would start a new EG session, open your program, and hit submit.  Then go to the top of the log, and start reviewing, looking for errors, warnings, and bad notes.

 

Also, I just noticed that your log has the line:

options notes nospool;

which suggests that at some point earlier in the program, you set option nonotes.  I would recommend you remove that.  Meaning, make sure the NOTES option is on for the full session. It's very hard to debug without notes in the log.

 

The Boston Area SAS Users Group is hosting free webinars!
Next up: Joe Madden & Joseph Henry present Putting Power into the Hands of the Programmer with SAS Viya Workbench on Wednesday Nov 6.
Register now at https://www.basug.org/events.
Amir
PROC Star

Thanks @Gick,

 

The log does not appear to show the start of the code. Further can you also switch on the macro options mprint symbolgen and mlogic as @PaigeMiller advised in an earlier post, so that we can see what is being executed in the log.

 

Thanks & kind regards,

Amir.

Gick
Pyrite | Level 9
--- Partie sexe
MLOGIC(Herm) :  %LET (le nom de la variable est SEXE)
MLOGIC(Herm) :  %DBoucle DO démarrée ; variable indice S; valeur de départ : 1; valeur de fin : valeur de fin : 3; 
      valeur by : 1.  
MLOGIC(Herm) :  %DLa var. indice de la boucle DO S est maintenant 2; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO S est maintenant 3; la boucle  va se répéter.
MLOGIC(Herm) :  La var. indice de la boucle %DO S est maintenant 4 ; la boucle ne va pas se répéter.
MLOGIC(Herm) :  %PUT --- Partie asymptomatique et NUMSS
--- Partie asymptomatique et NUMSS
MLOGIC(Herm) :  %LET (le nom de la variable est LAST)
MLOGIC(Herm) :  %DBoucle DO démarrée ; variable indice L; valeur de départ : 1; valeur de fin : valeur de fin : 2; 
      valeur by : 1.  
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: 
       &l. = 1 
ERROR: The macro Herm will stop executing.
MPRINT(Herm):   where Village =
MLOGIC(Herm) :  Fin de l'exécution.
2725       
2726       
24599                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

2727       GOPTIONS NOACCESSIBLE;
2728       %LET _CLIENTTASKLABEL=;
2729       %LET _CLIENTPROCESSFLOWNAME=;
2730       %LET _CLIENTPROJECTPATH=;
2731       %LET _CLIENTPROJECTPATHHOST=;
2732       %LET _CLIENTPROJECTNAME=;
2733       %LET _SASPROGRAMFILE=;
2734       %LET _SASPROGRAMFILEHOST=;
2735       
2736       ;*';*";*/;quit;run;
2737       ODS _ALL_ CLOSE;
2738       
2739       
2740       QUIT; RUN;
2741       

Here is part of the diary. I can't insert it all using </>, the log is too long.

I'm going to start my code again from this macro line that is causing the problem.

I am also listening to the explanations to better understand this error message.


Thanks & kind regards,
Gick

Gick
Pyrite | Level 9
NOTE: There were 390 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 390 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.01 secondes
      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 17
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 17
MPRINT(Herm):   if Mamoudzou_positif = . then Mamoudzou_positif = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 390 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.SERIE has 506 observations and 37 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

24593                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

MLOGIC(Herm) :  %DLa var. indice de la boucle DO C est maintenant 18; la boucle  va se répéter.
MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 18
MPRINT(Herm):   where Commune = "NR_commune";
MPRINT(Herm):   run;

NOTE: There were 26117 observations read from the data set WORK.DEPISTAGE.
      WHERE Commune='NR_commune';
NOTE: The data set WORK.COMPIL has 477 observations and 3 variables.
NOTE: PROCEDURE FREQ used (Total process time):
      real time           0.08 secondes
      cpu time            0.09 secondes
      

MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 18
MPRINT(Herm):   rename count = NR_commune;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;

NOTE: There were 477 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 477 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.01 secondes
      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 18
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 18
MPRINT(Herm):   if NR_commune = . then NR_commune = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 477 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.SERIE has 506 observations and 38 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 secondes
      cpu time            0.01 secondes
      

MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 18
24594                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

MPRINT(Herm):   where Commune = "NR_commune" and valeur = "Positif";
MPRINT(Herm):   run;

NOTE: There were 1668 observations read from the data set WORK.DEPISTAGE.
      WHERE (Commune='NR_commune') and (valeur='Positif');
NOTE: The data set WORK.COMPIL has 270 observations and 3 variables.
NOTE: PROCEDURE FREQ used (Total process time):
      real time           0.07 secondes
      cpu time            0.07 secondes
      

MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 18
MPRINT(Herm):   rename count = NR_commune_positif;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;

NOTE: There were 270 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 270 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.01 secondes
      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 18
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 18
MPRINT(Herm):   if NR_commune_positif = . then NR_commune_positif = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 270 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.SERIE has 506 observations and 39 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

MLOGIC(Herm) :  %DLa var. indice de la boucle DO C est maintenant 19; la boucle  va se répéter.
MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 19
MPRINT(Herm):   where Commune = "OQTF";
MPRINT(Herm):   run;

NOTE: Aucune observation sélectionnée dans la table WORK.DEPISTAGE.
NOTE: There were 0 observations read from the data set WORK.DEPISTAGE.
24595                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

      WHERE Commune='OQTF';
NOTE: The data set WORK.COMPIL has 0 observations and 3 variables.
NOTE: PROCEDURE FREQ used (Total process time):
      real time           0.07 secondes
      cpu time            0.07 secondes
      

MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 19
MPRINT(Herm):   rename count = OQTF;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;

NOTE: There were 0 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 0 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.01 secondes
      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 19
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 19
MPRINT(Herm):   if OQTF = . then OQTF = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 0 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.SERIE has 506 observations and 40 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 19
MPRINT(Herm):   where Commune = "OQTF" and valeur = "Positif";
MPRINT(Herm):   run;

NOTE: Aucune observation sélectionnée dans la table WORK.DEPISTAGE.
NOTE: There were 0 observations read from the data set WORK.DEPISTAGE.
      WHERE (Commune='OQTF') and (valeur='Positif');
NOTE: The data set WORK.COMPIL has 0 observations and 3 variables.
NOTE: PROCEDURE FREQ used (Total process time):
      real time           0.06 secondes
      cpu time            0.06 secondes
24596                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

      

MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 19
MPRINT(Herm):   rename count = OQTF_positif;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;

NOTE: There were 0 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 0 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 19
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 19
MPRINT(Herm):   if OQTF_positif = . then OQTF_positif = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 0 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.SERIE has 506 observations and 41 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.01 secondes
      

MLOGIC(Herm) :  La var. indice de la boucle %DO C est maintenant 20 ; la boucle ne va pas se répéter.
MLOGIC(Herm) :  %PUT --- Partie Villages
--- Partie Villages
MPRINT(Herm):   proc sql noprint;
MPRINT(Herm):   select distinct(Village) into: village separated by ";" from depistage where Village not in 
("HorsMayotte","OQTF");
MPRINT(Herm):   select count(distinct(Village)) into: nb_Village from depistage where Village not in 
("HorsMayotte","OQTF");
MPRINT(Herm):   quit;
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.27 secondes
      cpu time            0.36 secondes
      

SYMBOLGEN:  La macro-variable NB_VILLAGE est résolue en       77
MLOGIC(Herm) :  %DBoucle DO démarrée ; variable indice V; valeur de départ : 1; valeur de fin : valeur de fin : 77; 
      valeur by : 1.  
MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable VILLAGE est résolue en 12;70  PTE DE LA 
24597                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

            CASTELLANE;Acoua;Ajangoua;BamboEst;BamboOuest;Bandraboua;Bandrele;Barakani;Boueni;Bouyouni;Chembenyoumba;Chiconi;Chirong
            ui;Choungui;Coconi;Combani;Dapani;Dembeni;Dzaoudzi;Dzoumogne;HAJANGOI;Hagnoundrou;Hamjago;Hamouro;Handrema;Iloni;Kahani;
            Kangani;KaniBe;KaniKeli;Kavani;Kaweni;Koungou;Labattoir;Longoni;MajicavoKoropa;MajicavoLamir;Majimeouni;Malamani;Mamoudz
            ou;Mangajou;Mbouanatsa;Mbouini;MirereniBe;MirereniTsingoni;Mliha;Moinatrindri;Mramadoudou;Mroale;Mronabeja;Mtsahara;Mtsa
            mboro;Mtsamoudou;Mtsangadoua;Mtsangamboua;Mtsangamouji;Mtsapere;Mzouazia;NR_village;Nyambadao;Ongojou;Ouangani;Pamandzi;
            Passamainty;PassiKeli;Poroani;Résidence femme de 
            l'eau;Sada;Sohoa;Trevani;Tsararano;Tsimkoura;Tsingoni;TsoundzouI;TsoundzouII;Vahibe
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 2; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 3; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 4; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 5; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 6; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 7; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 8; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 9; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 10; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 11; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 12; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 13; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 14; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 15; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 16; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 17; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 18; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 19; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 20; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 21; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 22; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 23; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 24; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 25; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 26; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 27; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 28; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 29; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 30; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 31; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 32; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 33; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 34; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 35; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 36; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 37; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 38; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 39; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 40; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 41; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 42; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 43; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 44; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 45; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 46; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 47; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 48; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 49; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 50; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 51; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 52; la boucle  va se répéter.
24598                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 53; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 54; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 55; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 56; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 57; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 58; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 59; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 60; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 61; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 62; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 63; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 64; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 65; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 66; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 67; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 68; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 69; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 70; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 71; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 72; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 73; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 74; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 75; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 76; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO V est maintenant 77; la boucle  va se répéter.
MLOGIC(Herm) :  La var. indice de la boucle %DO V est maintenant 78 ; la boucle ne va pas se répéter.
MLOGIC(Herm) :  %PUT --- Partie classes d âge
--- Partie classes d âge
MLOGIC(Herm) :  %LET (le nom de la variable est AGE)
MLOGIC(Herm) :  %DBoucle DO démarrée ; variable indice A; valeur de départ : 1; valeur de fin : valeur de fin : 7; 
      valeur by : 1.  
MLOGIC(Herm) :  %DLa var. indice de la boucle DO A est maintenant 2; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO A est maintenant 3; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO A est maintenant 4; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO A est maintenant 5; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO A est maintenant 6; la boucle  va se répéter.
MLOGIC(Herm) :  %DLa var. indice de la boucle DO A est maintenant 7; la boucle  va se répéter.
MLOGIC(Herm) :  La var. indice de la boucle %DO A est maintenant 8 ; la boucle ne va pas se répéter.
MLOGIC(Herm) :  %PUT --- Partie sexe
Gick
Pyrite | Level 9
MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
24587                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 14
MPRINT(Herm):   rename count = KaniKeli_positif;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;

NOTE: There were 185 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 185 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.01 secondes
      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 14
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 14
MPRINT(Herm):   if KaniKeli_positif = . then KaniKeli_positif = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 185 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.SERIE has 506 observations and 31 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

MLOGIC(Herm) :  %DLa var. indice de la boucle DO C est maintenant 15; la boucle  va se répéter.
MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 15
MPRINT(Herm):   where Commune = "Tsingoni";
MPRINT(Herm):   run;

NOTE: There were 9472 observations read from the data set WORK.DEPISTAGE.
      WHERE Commune='Tsingoni';
NOTE: The data set WORK.COMPIL has 480 observations and 3 variables.
NOTE: PROCEDURE FREQ used (Total process time):
      real time           0.07 secondes
      cpu time            0.07 secondes
      

MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 15
MPRINT(Herm):   rename count = Tsingoni;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;
24588                                                      Le Système SAS                          08:03 Thursday, February 24, 2022


NOTE: There were 480 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 480 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.01 secondes
      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 15
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 15
MPRINT(Herm):   if Tsingoni = . then Tsingoni = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 480 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.SERIE has 506 observations and 32 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 15
MPRINT(Herm):   where Commune = "Tsingoni" and valeur = "Positif";
MPRINT(Herm):   run;

NOTE: There were 1058 observations read from the data set WORK.DEPISTAGE.
      WHERE (Commune='Tsingoni') and (valeur='Positif');
NOTE: The data set WORK.COMPIL has 219 observations and 3 variables.
NOTE: PROCEDURE FREQ used (Total process time):
      real time           0.06 secondes
      cpu time            0.07 secondes
      

MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 15
MPRINT(Herm):   rename count = Tsingoni_positif;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;

NOTE: There were 219 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 219 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
24589                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 15
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 15
MPRINT(Herm):   if Tsingoni_positif = . then Tsingoni_positif = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 219 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.SERIE has 506 observations and 33 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

MLOGIC(Herm) :  %DLa var. indice de la boucle DO C est maintenant 16; la boucle  va se répéter.
MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 16
MPRINT(Herm):   where Commune = "Acoua";
MPRINT(Herm):   run;

NOTE: There were 2973 observations read from the data set WORK.DEPISTAGE.
      WHERE Commune='Acoua';
NOTE: The data set WORK.COMPIL has 442 observations and 3 variables.
NOTE: PROCEDURE FREQ used (Total process time):
      real time           0.07 secondes
      cpu time            0.07 secondes
      

MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 16
MPRINT(Herm):   rename count = Acoua;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;

NOTE: There were 442 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 442 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
24590                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 16
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 16
MPRINT(Herm):   if Acoua = . then Acoua = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 442 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.SERIE has 506 observations and 34 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.01 secondes
      

MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 16
MPRINT(Herm):   where Commune = "Acoua" and valeur = "Positif";
MPRINT(Herm):   run;

NOTE: There were 403 observations read from the data set WORK.DEPISTAGE.
      WHERE (Commune='Acoua') and (valeur='Positif');
NOTE: The data set WORK.COMPIL has 165 observations and 3 variables.
NOTE: PROCEDURE FREQ used (Total process time):
      real time           0.07 secondes
      cpu time            0.07 secondes
      

MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 16
MPRINT(Herm):   rename count = Acoua_positif;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;

NOTE: There were 165 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 165 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 16
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 16
24591                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

MPRINT(Herm):   if Acoua_positif = . then Acoua_positif = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 165 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.SERIE has 506 observations and 35 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.01 secondes
      

MLOGIC(Herm) :  %DLa var. indice de la boucle DO C est maintenant 17; la boucle  va se répéter.
MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 17
MPRINT(Herm):   where Commune = "Mamoudzou";
MPRINT(Herm):   run;

NOTE: There were 81531 observations read from the data set WORK.DEPISTAGE.
      WHERE Commune='Mamoudzou';
NOTE: The data set WORK.COMPIL has 506 observations and 3 variables.
NOTE: PROCEDURE FREQ used (Total process time):
      real time           0.09 secondes
      cpu time            0.09 secondes
      

MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 17
MPRINT(Herm):   rename count = Mamoudzou;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.COMPIL.
NOTE: The data set WORK.COMPIL has 506 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

MPRINT(Herm):   data serie;
MPRINT(Herm):   merge serie compil;
MPRINT(Herm):   by DDP;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 17
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 17
MPRINT(Herm):   if Mamoudzou = . then Mamoudzou = 0;
MPRINT(Herm):   run;

NOTE: There were 506 observations read from the data set WORK.SERIE.
NOTE: There were 506 observations read from the data set WORK.COMPIL.
24592                                                      Le Système SAS                          08:03 Thursday, February 24, 2022

NOTE: The data set WORK.SERIE has 506 observations and 36 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 secondes
      cpu time            0.00 secondes
      

MPRINT(Herm):   proc freq data = depistage noprint;
MPRINT(Herm):   tables DDP / out = compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 17
MPRINT(Herm):   where Commune = "Mamoudzou" and valeur = "Positif";
MPRINT(Herm):   run;

NOTE: There were 6475 observations read from the data set WORK.DEPISTAGE.
      WHERE (Commune='Mamoudzou') and (valeur='Positif');
NOTE: The data set WORK.COMPIL has 390 observations and 3 variables.
NOTE: PROCEDURE FREQ used (Total process time):
      real time           0.08 secondes
      cpu time            0.09 secondes
      

MPRINT(Herm):   data compil;
MPRINT(Herm):   set compil;
SYMBOLGEN:  La macro-variable COMMUNE est résolue en Bandraboua Bandrele Chiconi Chirongui Dembeni Dzaoudzi Koungou Mtsamboro 
            Mtsangamouji Ouangani Pamandzi Sada Boueni KaniKeli Tsingoni Acoua Mamoudzou NR_commune OQTF
SYMBOLGEN:  La macro-variable C est résolue en 17
MPRINT(Herm):   rename count = Mamoudzou_positif;
MPRINT(Herm):   keep DDP count;
MPRINT(Herm):   run;
Kurt_Bremser
Super User

Something prevents the resolution of macro variable L, as that (using a wrong variable name) is the only way I tried that actually got me the "character operand" message. But that also got me a WARNING for the failed resolution of the macro variable.

 

Concur with others. Rebuild the offending code from scratch, piece by piece, starting with a simple %DO loop as @Quentin suggests.

Amir
PROC Star

Hi @Gick,

 

Thanks for the more detailed log.

 

I noticed "l'eau" appears with a single quote in the macro variable "village". The single quote might be causing the issue. Are you able to remove this item of data to see if that resolves the problem and then if it does then you might want to use something like the quote() function when creating the macro variable "village", e.g.:

 

select distinct(quote(Village)) into: village separated by ";" from depistage where Village not in ("HorsMayotte","OQTF");

 

 

Kind regards,

Amir.

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 34 replies
  • 2262 views
  • 1 like
  • 8 in conversation