2017-04-20 2 views
0

Ich schreibe SAS-Code und einen Fehler, der durch SAS erzeugte Sprache in Code verursacht wird. Ich habe SAS schon eine Weile benutzt und das nie erlebt. Jede Hilfe/Beratung wäre willkommen. Ich habe etwas vom mittleren Code ausgeschnitten, also ist das nicht so lang.SAS-Fehler von GOPTIONS?

1   ;*';*";*/;quit;run; 
2   OPTIONS PAGENO=MIN; 
3   %LET _CLIENTTASKLABEL='Program'; 
4   %LET _CLIENTPROJECTPATH='Z:\ACS\Decision Sciences\Analysis\Code\AAU_Analysis.egp'; 
5   %LET _CLIENTPROJECTNAME='AAU_Analysis.egp'; 
6   %LET _SASPROGRAMFILE=; 
7   
8   ODS _ALL_ CLOSE; 
9   OPTIONS DEV=ACTIVEX; 
10   FILENAME EGSR TEMP; 
11   ODS tagsets.sasreport13(ID=EGSR) FILE=EGSR 
12    STYLE=HtmlBlue 
13    STYLESHEET=(URL="file:///C:/Program%20Files/SASHome/SASEnterpriseGuide/6.1/Styles/HtmlBlue.css") 
14    NOGTITLE 
15    NOGFOOTNOTE 
16    GPATH=&sasworklocation 
17    ENCODING=UTF8 
18    options(rolap="on") 
19   ; 
NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR 
20   
21   options nomprint nomlogic; 
22   
23   libname acs 'F:\SAS_data\ACS'; 
NOTE: Libref ACS was successfully assigned as follows: 
     Engine:  V9 
     Physical Name: F:\SAS_data\ACS 
24   %include 'F:\SAS_data\Lysbet\sas_macro_library.sas'; 
171    
173  %macro transform_survey; 
174   
175  data acs.aau_data_transformed; 
176  set acs.aau_data; 
177  length brand $3.; 

189  %do i=1 %to 10; 
190   antonym_pair=&i; 
191   %do j = 1 %to &n; 
192    %let val = %scan(&lst, &j); 
193    brand=&val; 
194    suppress_flag1=Q12&val.Flag1; 
195    suppress_flag2=Q12&val.Flag2; 
196    score=Q_12&val._&i; 
197    output; 
198   %end; 
199   brand='ACS'; 
200   score=Q_9_&i; 
201   output; 
202  %end; 
205  %mend; 
206  %transform_survey; 
207   
208  %LET _CLIENTTASKLABEL=; 
209  %LET _CLIENTPROJECTPATH=; 
210  %LET _CLIENTPROJECTNAME=; 
211  %LET _SASPROGRAMFILE=; 
212   
213  ;*';*";*/;quit;run; 
       ____ 
       180 

ERROR 180-322: Statement is not valid or it is used out of proper order. 
+0

Überprüfen Sie die Datei, die Sie einbezogen haben. Auch vielleicht schneiden einige Zeilen ab? Versuchen Sie, der include-Anweisung die SOURCE2- und/oder LRECL-Option hinzuzufügen. '% include 'F: \ SAS_Daten \ Lysbet \ sas_macro_library.sas'/source2 lrecl = 32767;' – Tom

Antwort

0

dass irgendwo bedeutet (wahrscheinlich in der im Lieferumfang enthaltenen Makrobibliothek oder in zuvor eingereichten Code) Sie ein unerreichtes Angebot haben (oder nicht angepasste% Makro /% mend oder andere ähnliche Paare, aber es sieht aus wie " wenn Sie Dinge richtig aufgereiht).

0

Danke für alle Eingabe aber klassischen Fall von Benutzerfehler. Ich habe die run-Anweisung für den Datenschritt in meinem Makro vergessen. Ich wusste, dass es etwas sein würde, das scheinbar nichts miteinander zu tun hat.