Какой код я могу использовать в SAS для создания новой переменной B, которая содержит первые три символа переменной A только при заданном условии c? - PullRequest
1 голос
/ 06 февраля 2020

Вот пример точек данных переменной A: P8760, B97097, P32417, 082709, 7290

Я хотел бы создать переменную B, в которой есть только первые три символа переменной A. Я делаю это с помощью кода:

/******Create new variable B ******/

data want;
  set have;
 Length
  B $3; 
  B = A; 
run; 

Однако я хочу создать переменную B, в которой первый символ переменной A равен букве P. Таким образом, последняя переменная B будет содержать только точки данных: P87 & P32

How я могу выполнить sh создание переменной B при этом условии в SAS?

1 Ответ

2 голосов
/ 06 февраля 2020

Вы можете сделать это, используя оператор LIKE в выражении WHERE:

data want;
   set have;
   where A LIKE 'P%'; /*%-Wildcard Character*/
   B=substr(A,1,3);
run;

Или используя regex:

data want;
   set have;
   if prxmatch("/P.*/",A) then do;
      B=substr(A,1,3);
      output;
   end;
run;
...