Я не могу понять, почему мой макрос не будет запускаться более одного раза.Ошибка, которую я получаю, выглядит примерно так: «Значение идентификатора после строки в кавычках может измениться в будущем выпуске SAS. Рекомендуется вставка пробела между строкой в кавычках и последующим идентификатором».Я понял ... у меня где-то испорченная цитата ... но я нигде не могу ее найти .. пожалуйста, помогитеВот код:
<br>
proc datasets lib=work nolist kill; run; quit;
libname tw '';
libname jrd '';
ods results = off;
options varinitchk=error;</p>
<code>proc sort data=tw.datset_name out=x0;
by inquiry_id quote_time_dt quote_time;
run;
data quotes;
set x0;
by inquiry_id quote_time_dt quote_time;
if first.inquiry_id;
year =year(quote_time_dt);
count =1;
run;
data transactions;
set dataset_name;
year = year(execution_time_dt);
count = 1;
run;
%let q1 = swap_product instr_desc;
%let q2 = package_type;
%let q3 = dealer;
%let q4 = recipient_company;
%let t1 = swap_product instr_desc;
%let t2 = on_sef;
%let t3 = package_ind package_type;
%let t4 = alloc_ind;
%let t5 = block_ind;
%let t6 = initiating_company;
%let t7 = dealer;
%let t8 = exec_platform;
%macro create(input, vars, output);
proc summary data=&input. nway;
class &vars. year;
var count;
output out=t1(drop=_:) sum()=;
run;
proc sort data=t1;
by &vars.;
run ;
proc transpose data=t1 out=t2(drop=_name_);
by &vars.;
var count; id year;
run;
proc summary data=t2 nway;
var _numeric_;
output out=t2sums(drop=_:) sum()=;
run;
data &output.;
format &vars.;
set t2 t2sums;
total = sum(of _numeric_);
array p _character_;
do over p;
if p = '' then p = 'Total';
end;
run;
%mend;
%create(quotes,&q1.,table1);
%create(quotes,&q2.,table2);
%create(quotes,&q3.,table3);
%create(quotes,&q4.,table4);
%create(trans,&t1.,table5);
%create(trans,&t2.,table6);
%create(trans,&t3.,table7);
%create(trans,&t4.,table8);
%create(trans,&t5.,table9);
%create(trans,&t6.,table10);
%create(trans,&t7.,table11;
%create(trans,&t8.,table12);
</code>