yyyy texto separar mes funciones formato fechas fecha convertir comparar caracter string sas character numeric informat

string - texto - SAS no reconoce el formato de fecha



funciones fechas sas (3)

Tengo el siguiente formato de fecha de personaje:

"3/1990" "4/1990" "5/1990" ...

Probé el siguiente código:

data work.temps; set indata; newdate = input(strip(Date), MMYYSw.); rename newdate = date; run;

Sigo recibiendo la siguiente medida de error: Informat MMYYSW was not found or could not be loaded.


Lo que refiere es un FORMATO, no INformat. Utilizará el formato con la función PUT, para INPUT, necesita información.

De todos modos, no encontré una información adecuada para usar directamente, por lo que tendrás que hacer más cosas:

data work.temps; infile cards truncover; input Date $10.; newdate=MDY( scan(Date,1, ''/''), 1, scan(Date,2, ''/'') ); cards; 3/1990 4/1990 5/1990 ; run;

SCAN toma la enésima palabra de una cadena, MDY crea la FECHA de Mes, Día y Año. El código anterior da el primer día del mes.


Prueba esto con anydtdte:

data have; input date $10.; _date=input(compress(date,''""''),anydtdte.); format _date MMYYs7.; cards; "3/1990" "4/1990" "5/1990" ; run;


Puede que tenga que usar una información diferente para leer en las fechas de los caracteres para que SAS pueda interpretarlas como numéricas (dado que las fechas en SAS son en realidad valores numéricos), y luego formatearlas como MMYYS. .

Esto fue probado y funciona para mí:

DATA temps; FORMAT newdate MMYYS.; SET indata; newdate = INPUT(COMPRESS(''01/''||date),DDMMYY10.); RUN;