У меня есть один набор данных sas, поэтому я хочу проверить, что значение и column_position не существуют, а затем добавить эти obs в набор данных, если значение column не существует, а column_position такое же, то заменить это col_position (например, в 15-й строке есть одиннаблюдение, так что теперь я хочу добавить новое значение в 15-ю строку, затем исходная 15-я строка переходит в 16-ю, 16-ю - в 17-ю ... и т. д. ( n + 1 r функция задержки не определена) Iя пытаюсь это, но не работает должным образом, пожалуйста, помогите мне
data test;
input value $ data_type $ length col_pos;
datalines;
harry varchar 100 1
henry number 100 2
homry varchar 100 3
;
%macro add_column(value,data_type,length,col_pos);
data _null_;
set test;
if value="&value" then call symput('col_name',1)
else call symput('col_name',2)
if col_pos="&col_pos" then call symput ('col_pos',1)
else call symput('col_pos,2)
run;
if &col_name=2 and &col_pos=2 then;
%do;
data test;
set test;
value="&value";
data_type="&data_type";
length="&length";
col_pos="&col_pos";
output;
run;
%end;
%mend;
%add_column(alex,varchar,100,4);
Предположим, что если значение изменилось и col_pos одинаковы3-й% add_column (joe, varchar, 100,2); если & col_name = 2 (поскольку значение отличается) и & col_pos = 1 (col_pos то же самое, то есть 2) тогда; (я пытаюсь написать это, но не сработало) '2 'col_pos то же самое
Пожалуйста, помогите мне с этим