2013-08-25 94 views
2

我試圖調用一個名爲'outputCrosstabs'的宏來調用PROC TABULATE並將HTML文件寫入磁盤。我還希望在創建ODS HTML時在結果查看器中看到輸出,但結果查看器只能在宏完成時更新。我在'outputCrosstabs'宏中沒有任何ODS HTML CLOSE語句。SAS宏輸出ODS HTML:更新結果查看器

ods html newfile=proc; *BYGROUP, PAGE, OUTPUT; 
dm 'log; autoscroll 1'; 
data _null_ ; 
    %runtheloop; 
run ; 

%macro runtheloop; 
    %do i = 1 %to 2; 
    %do j = 1 %to 2; 
    DM 'log; clear;'; 
    %outputCrosstabs(&i,&j); 
    %end; 
    %end; 
%mend; 

我怎樣才能在結果查看器中的HTML作爲被執行的宏,以便我可以看到的AS生成它,而不是在最後的輸出更新?是否有一個相當於C#中的Application.DoEvents()或類似的東西來獲取UI更新?

感謝您的任何幫助。

回答

1

您可以將文件寫入到外部HTML文件(而不是SAS工作目錄之一),然後使用您最喜歡的Web瀏覽器進行監視。我不認爲有一種方法可以直接在SAS Results窗口中執行,而不必關閉/打開文件或在部分中運行程序,這對於像這樣的宏很困難。