Если это для целей отображения и предполагается, что все значения даты имеют тот же формат, что и в вашем вопросе, то это должно работать.
Сначала вы создаете формат для отображения месяцев:
proc format lib=work;
value mon
1 = "Jan"
2 = "Feb"
3 = "Mar"
4 = "Apr"
5 = "May"
6 = "Jun"
7 = "Jul"
8 = "Aug"
9 = "Sep"
10 = "Oct"
11 = "Nov"
12 = "Dec"
;
run;
Затем вы подставляете месяц и год из переменной даты, а затем применяете форматы.
data have;
length full_date $20;
date = 201711;
mon = input(substrn(date,5,2),best.);
yr = input(substrn(date,1,4),best.);
full_date = compbl(put(mon,mon.)||put(yr,best.));
run;