2009-02-17 12 views

risposta

15

penso che questo farà ciò che si vuole:

dm log "vt sashelp.air";

basta cambiare la parte "sashelp.air" al lib.table combo.

+0

Wow - avete ottenuto in primo luogo prima di cmjohns! Molto bene! = P –

2

La risposta di dw.mackie è giusta. Funziona alla grande quando viene inviato dalla finestra dell'editor SAS.

Ma voglio solo stare attenti a fare attenzione se lo si tenta in modalità batch (ovvero, avendo SAS eseguito un programma .sas direttamente dalla riga di comando usando l'opzione -sysin). Effettivamente, tenterà di aprire l'ambiente della finestra SAS interattivo al momento dell'esecuzione.

Tuttavia, se il codice batch tenta anche di creare grafici/grafici, verrà richiesto di utilizzare l'opzione -noterminal. E l'opzione -noterminal non è compatibile con il comando dm. Lo individueresti subito nel registro, ma volevo solo darti un avviso.

3

A causa delle dimensioni di alcuni dei miei set di dati, eseguo solo una semplice stampa proc e limito l'output a sole 50 osservazioni. Lo faccio così spesso che ho creato la seguente macro che scarica l'output in un file html. chiamata

%Macro DPrt(Dset, obs=50, vars=, w=, Path="C:\output\"); 
    %LET BKPATH = &Path; 
    %PUT BKPATH= &BKPATH; 
    options obs = &obs.; 
    title; 
    ods listing close; 
    ods html 
     path = &BKPATH. 
     body = "Debug-&Dset..htm" 
     style = THEME; 

     proc print data = &Dset n u split=' '; 
     %if &vars NE %THEN %DO; 
      var &vars.; 
     %END;   
     %if &w NE %THEN %DO; 
      &w; 
     %END;   
     Run; 

    ods html close; 
    ods listing; 
    options obs = MAX; 
%Mend Dprt; 

campione per la prova set di dati sembra

%dprt(test) 
+0

@ BK- grazie per il codice! Non mi aiuterà in questa particolare situazione, ma penso che sarà molto utile in altre situazioni. –

Problemi correlati