2013-07-25 10 views
8

Sto lavorando su SAS in UNIX env e voglio visualizzare solo il nome di colonna di un set di dati. Ho provato i contenuti di proc e proc stamp, ma entrambi elencano molte altre informazioni irreversibili che non desidero poiché riempiono lo schermo del mio mastice e le informazioni alla fine vanno perse.Elenca solo i nomi di colonna di un set di dati

Ho anche provato a ottenere questa cosa dai metadati di sas ma non funziona neanche. ho provato:

2? proc sql; 
    select * 
from dictionary.tables 
where libname='test' and memname='sweden_elig_file_jul'; 
quit; 
    5? 
NOTE: No rows were selected. 

    6? 
NOTE: PROCEDURE SQL used (Total process time): 
     real time   0.27 seconds 
     cpu time   0.11 seconds 

risposta

17

Stai utilizzando la tabella dizionario sbagliato per ottenere i nomi delle colonne ...

 
proc sql ; 
    select name 
    from dictionary.columns 
    where memname = 'mydata' 
    ; 
quit ; 

o utilizzando INDICE PROC

 
proc contents data=mydata out=meta (keep=NAME) ; 
run ; 
proc print data=meta ; run ; 
+5

mi seconda risposta di Chris J. Ma, non raccomanderei il metodo 'dictionary.columns' - può essere molte volte più lento del modo' proc contents', specialmente se si ha un gran numero di tabelle nel proprio ambiente SAS. –

2

Ecco quello che ho usato prima di ottenere un elenco di colonne con un po 'più di informazioni, è possibile aggiungere l'opzione di conservazione come nella risposta precedente. Questo dimostra semplicemente come creare una connessione al server di metadati, nel caso in cui sia utile a chiunque visualizzi questo post.

libname fetchlib meta 
    library="libraryName" metaserver="metaDataServerAddress" 
    password="yourPassword" port=1234 
    repname="yourRepositoryName" user="yourUserName"; 

proc contents data=fetchlib.YouDataSetName 
    memtype=DATA 
    out=outputDataSet 
    nodetails 
    noprint; 
run; 
0
proc sql; 
    select * 
    from dictionary.tables 
    where libname="TEST" and memname="SWEDEN_ELIG_FILE_JUL"; 
quit; 
+1

Benvenuti in Stack Overflow! Puoi migliorare questa risposta [edit] per spiegare come funziona. – dorukayhan

Problemi correlati