2009-02-17 183 views

回答

15

我認爲這會做你想要什麼:

dm log "vt sashelp.air";

只要改變"sashelp.air"一部分,你lib.table組合。

+0

哇 - 你在第一cmjohns之前拿到!做得好! = P – 2011-10-11 23:09:45

2

dw.mackie的答案是正確的錢。從SAS編輯器窗口提交時,這很好用。

但我只是想提醒你要小心,如果你在批處理模式下嘗試它(即具有SAS通過命令行使用-sysin選項直接運行.sas程序)。它確實會嘗試在執行時彈出打開交互式SAS窗口環境。

但是,如果你的批量代碼還試圖建立一些圖形/圖表,你會被要求使用-noterminal選項。而-noterminal選項與dm命令不兼容。你會立即在日誌中發現它,但我只是想給你一個提醒。

3

由於我的一些數據集的大小,我只做一個簡單的proc打印並將輸出限制爲只有50個觀察值。我經常這樣做,所以我創建了下面的宏,將輸出轉儲爲html文件。

%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; 

樣品徵集數據集測試看起來像

%dprt(test) 
+0

@ BK-感謝您的代碼!在這種特殊情況下它不會幫助我,但我認爲這在其他情況下會非常有幫助。 – 2009-02-18 16:03:35