SAS - Data e orari

Le date IN SAS sono un caso speciale di valori numerici. Ad ogni giorno viene assegnato un valore numerico specifico a partire dal 1 gennaio 1960. A questa data viene assegnato il valore 0 e la data successiva ha un valore data 1 e così via. I giorni precedenti a questa data sono rappresentati da -1, -2 e così via. Con questo approccio SAS può rappresentare qualsiasi data nel futuro e qualsiasi data nel passato.

Quando SAS legge i dati da un'origine, converte i dati letti in un formato di data specifico come specificato nel formato della data. La variabile per memorizzare il valore della data viene dichiarata con le informazioni appropriate richieste. La data di output viene mostrata utilizzando i formati dei dati di output.

SAS Date Informat

I dati di origine possono essere letti correttamente utilizzando informazioni sulla data specifiche come mostrato di seguito. La cifra alla fine dell'informat indica la larghezza minima della stringa della data da leggere completamente utilizzando l'informat. Una larghezza inferiore darà un risultato errato. con SAS V9, esiste un formato di data genericoanydtdte15. che può elaborare qualsiasi input di data.

Data di input Larghezza della data Informat
03/11/2014 10 mmddyy10.
03/11/14 8 mmddyy8.
11 dicembre 2012 20 worddate20.
14mar2011 9 data9.
14-marzo-2011 11 data11.
14-marzo-2011 15 anydtdte15.

Esempio

Il codice seguente mostra la lettura di diversi formati di data. Si noti che tutti i valori di output sono solo numeri poiché non abbiamo applicato alcuna istruzione di formato ai valori di output.

DATA TEMP;
INPUT @1 Date1 date11. @12 Date2 anydtdte15. @23 Date3 mmddyy10.   ;
DATALINES;
02-mar-2012 3/02/2012 3/02/2012
;
PROC PRINT DATA = TEMP;
RUN;

Quando il codice precedente viene eseguito, otteniamo il seguente output.

Formato di output della data SAS

Le date dopo essere state lette, possono essere convertite in un altro formato come richiesto dal display. Ciò si ottiene utilizzando l'istruzione di formato per i tipi di data. Prendono gli stessi formati degli informat.

Esempio

Nell'esempio seguente la data viene letta in un formato ma visualizzata in un altro formato.

DATA TEMP;
INPUT  @1 DOJ1 mmddyy10. @12 DOJ2 mmddyy10.;
format  DOJ1 date11.  DOJ2 worddate20. ;
DATALINES;
01/12/2012 02/11/1998 
;
PROC PRINT DATA = TEMP;
RUN;

Quando il codice precedente viene eseguito, otteniamo il seguente output.