Alguns dos posts mais visitados aqui são os de formatação de datas no SAS. Você pode ver Formatação de Datas no SAS e esse Convertendo diferentes formatos de data no SAS, como exemplos. Agora, vou mostrar uma outra função que eu desconhecia, a MDY( ). Ela é útil, pois além de intuitiva, serve para quando você tem que lidar com os campos dia, mês e ano, separados. No exemplo abaixo, temos uma coluna com o dia, outra com o mês e uma última com o ano. Vamos criar um campo no formato de data, na ordem mês, dia e ano:
data exemplo; input dia mes ano; cards; 2 5 2018 4 10 2018 1 11 2018 ; run;
data exemplo_mdy; set exemplo; data_mdy = mdy(mes,dia,ano); format data_mdy mmddyy10.; run;
Agora, você deve estar pensando que é muito mais fácil enxergar as datas no formato dia, mês e ano. Como estamos acostumados aqui no Brasil. Isso é simples também, basta alterar o argumento do format:
data exemplo_dmy; set exemplo; data_mdy = mdy(mes,dia,ano); format data_mdy ddmmyy10.; run;
Esse método pode ser bom para o caso em que você recebe a data em formato string. Veja o exemplo abaixo, em que convertemos uma data em formato texto, cuja sequência é dada por ano, mês e dia:
data exemplo_2; input data_texto; cards; 20180502 20180410 20181101 ; run;
data exemplo_dmy_texto; set exemplo_2; dia = substr(data_texto, 7, 2); mes = substr(data_texto, 5, 2); ano = substr(data_texto, 1, 4); data_mdy = mdy(mes,dia,ano); format data_mdy ddmmyy10.; run;
É possível ter algum outro método mais simples, é claro. Mas estes, junto com os dos meus outros posts, são os que eu conheço.Se tiver algum diferente, compartilha aí!
Bons estudos!