2009-04-29 7 views
6

In che modo è possibile trovare l'opzione globale SAS encoding a livello di codice? Posso eseguire proc options e mi darà la risposta, ma ho bisogno di farlo dal codice.Come si ottiene l'opzione di codifica SAS a livello di codice?

Sto sperando in una risposta sulla falsariga di "guarda il macro-simbolo & sysencoding", ma questo potrebbe essere troppo sperare. Preferirei evitare cose fragili come scrivere su un file esterno e ri-analizzare.

risposta

7

È possibile utilizzare la funzione GetOption in Base SAS:

data _null_; 
    val=GETOPTION('encoding'); 
    put val=; 
run; 

Sul mio sistema questo dà l'output del registro

5 data _null_; 
6  val=GETOPTION('encoding'); 
7  put val=; 
8 run; 

val=LATIN1 

In SCL (SAS Component Language) è possibile utilizzare l'OPTGETC e OPTGETN funzioni. Consultare il manuale per la propria versione specifica del sistema SAS per ulteriori dettagli.

+0

Grande! Esattamente quello che stavo cercando. Grazie. –

3

In SAS 9.2 &sysencoding ti darà la stessa cosa di getoption('encoding') sebbene il caso differisca (è descritto brevemente here).

157 %put &sysencoding; 
wlatin1 
158 
159 data _null_; 
160 val=GETOPTION('encoding'); 
161 put val=; 
162 run; 

val=WLATIN1 
Problemi correlati