Переменная SAS со смешанными значениями - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть некоторые переменные, которые имеют значения даты, однако в некоторых строках есть символьная информация, что делает ее символьной переменной. Мне нужно добавить 90, а также вычесть сегодняшнюю дату из этих переменных. Пример переменной Variable1 08/30/18 02/27/18 06/30/18 значение 05/31/18 в ожидании 30.08.18

Я думал, что если есть способ изменить все символьные значения на пропущенные / пустые, я смог бы изменить эту символьную переменную на формат даты и выполнить мои вычисления.

Пожалуйста, помогите! Спасибо.

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Сначала вы можете проверить синтаксис, используя одно значение. как это

  data _null_;
strdate='08/30/18';
a=input(strdate,mmddyy10.);
cal1=a+90-today();
cal2=put(cal1,mmddyy10.);
put strdate a cal1 cal2;
run;

Затем создайте новую переменную для хранения новых значений, таких как cal2 выше.

если вы не хотите изменять исходное имя переменной, переименуйте cal2 в шаге данных.

0 голосов
/ 16 ноября 2018

Я думаю, вам следует создать новую переменную даты, "прочитав" существующую переменную.

data mixed;
   input var:$8.;
   date = input(var,??mmddyy10.);
   if not missing(date) then do;
      p90 = date + 90;
      mtoday = date - today();
      end;
   format date p90 mtoday mmddyy10.;
   cards;
08/30/18
02/27/18
06/30/18
value
05/31/18
pending
08/30/18 
;;;;
   run;
proc print;
   run;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...