Я хочу создать макропеременную SAS на основе значения 2 других макропеременных - PullRequest
0 голосов
/ 07 мая 2020

У меня есть 2 макропеременные & k и & N.

Я бы хотел создать третью макропеременную & G Если & k равно 1, я бы хотел, чтобы & G было & N, в противном случае я бы хотел, чтобы & G было & k

большое спасибо

Ответы [ 2 ]

0 голосов
/ 08 мая 2020

Вы также можете использовать функцию IFN в оболочке %SYSFUNC для выполнения простых условных logi c, подобных этому, в одной строке. Хорошая особенность IFN заключается в том, что он также может справиться с отсутствием / пустым более легко, чем с тремя IF / THEN / ELSE.

%let G = %sysfunc(ifn(&k=1, &N, &K));
0 голосов
/ 07 мая 2020

Вот go:

%if &K = 1 %then %do;
   %let G = &N;
%end;
%else %do;
   %let G = &K;
%end;
...