SAS - Formato set di dati

A volte si preferisce mostrare i dati analizzati in un formato diverso da quello in cui sono già presenti nel data set. Ad esempio, vogliamo aggiungere il segno del dollaro e due cifre decimali a una variabile che contiene informazioni sul prezzo. Oppure potremmo voler mostrare una variabile di testo, tutta in maiuscolo. Possiamo usareFORMAT per applicare i formati SAS integrati e PROC FORMATè applicare formati definiti dall'utente. Inoltre è possibile applicare un unico formato a più variabili.

Sintassi

La sintassi di base per l'applicazione dei formati SAS integrati è:

format variable name format name

Di seguito la descrizione dei parametri utilizzati:

  • variable name è il nome della variabile utilizzato nel set di dati.

  • format name è il formato dei dati da applicare alla variabile.

Esempio

Consideriamo il set di dati SAS di seguito contenente i dettagli dei dipendenti di un'organizzazione. Vogliamo mostrare tutti i nomi in maiuscolo. Ilformatstatement viene utilizzato per ottenere questo risultato.

DATA Employee; 
   INPUT empid name $ salary DEPT $ ; 
   format name $upcase9. ;
DATALINES; 
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
   PROC PRINT DATA = Employee; 
RUN;

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

Utilizzando PROC FORMAT

Possiamo anche usare PROC FORMATper formattare i dati. Nell'esempio seguente si assegnano nuovi valori alla variabile DEPT exapnding il nome del reparto.

DATA Employee; 
   INPUT empid name $ salary DEPT $ ; 

DATALINES; 
1 Rick 623.3 IT 		 
2 Dan 515.2 OPS
3 Mike 611.5 IT 	
4 Ryan 729.1 HR 
5 Gary 843.25 FIN 
6 Tusar 578.6 IT 
7 Pranab 632.8 OPS
8 Rasmi 722.5 FIN 
;
proc format;
value $DEP 'IT' = 'Information Technology'
      'OPS'= 'Operations' ;
RUN;
   PROC PRINT DATA = Employee; 
   format name $upcase9. DEPT $DEP.; 
RUN;

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