2015-06-05 31 views
2

我使用ods html將SAS代碼輸出到body = _webout。 SAS版本是9.4。 我想輸出一個HTML表格,但SAS會自動爲每個ods html語句的輸出生成一個附加表格。 例如,這是我的SAS代碼:SAS ods html生成額外的html代碼

ods html text="<table id='test'>"; 

,這是生成的HTML代碼:

<table width="100%" style=" border: 0px solid #000000; border-spacing: 0px;" cellspacing="0" cellpadding="0" rules="none" frame="void"> 
    <tr> 
     <td class="l usertext">**<table id='test'>**</td> 
    </tr> 
</table> 

是否存在被SAS抑制從打印用附加代碼的選項?使用SAS 9.2和相同的代碼,並沒有這樣的效果。

+0

如果代碼的行爲在版本之間改變,您應該聯繫技術支持。我猜在這種情況下,它允許更多結構化的輸出。 – Reeza

回答

2

我想SAS是這樣確保ODS html輸出之間一致的格式。

我們使用一種解決方法來確保我們得到的只是我們想要的,沒有其他更多的是在這種情況下簡單地使用數據步驟。只要它運行的Web請求的一部分datastep可以寫入保留文件名_webout:

data _null_; 
    file _webout; 
    put "<table id='test'>"; 
run; 

當寫_webout這樣就沒有必要爲ODS html聲明。

+0

我會更準確地說SAS正在做它所要求的內容:打開ODS HTML目標,並在其中放入一些文本。 OP的問題代碼中沒有任何內容表明SAS認爲它被要求輸出HTML。我認爲你直接寫了_WEBOUT而沒有ODS HTML是正確的,但是假設OP沒有試圖放置一張表(也就是最終包含一個PROC MEANS或者其他一些我認爲沒有的東西) (?)你可以很容易地通過datastep接口完成,而沒有更多的複雜性(儘管這真的不是我的區域)。) – Joe

+0

@Joe是的,從datastep輸出整個'

'肯定會變得更加複雜。沒有來自OP的額外信息,我可以提供的方向並不多。除非您真的需要通過更改CSS樣式無法滿足的自定義外觀,否則使用ODS html通常就足夠了。 –