2014-11-24 43 views
0

我試圖從SAS運行示例代碼proc rulegen文檔:SAS rulegen DMDB編碼類型

proc dmdb batch data=sampsio.assocs out=dmassoc dmdbcat=catassoc; 
id customer; 
class product(desc); 
run; 

proc assoc data=dmassoc dmdbcat=catassoc 
out=datassoc(label='Output from Proc Assoc') 
items=5 support=20; 
cust customer; 
target product; 
run; 

第一部分運作良好,但第二給出了一個錯誤:

The data= dataset should not be DMDB encoded type

有誰知道是什麼問題是?

我得到了與我的數據一樣的錯誤。

我也嘗試使用proc與非dmdb數據關聯,它「工作」但只生成一個明顯的規則(根據sas示例應該有更多的規則,沒有明顯的規則)。

+0

您運行的是哪個版本的SAS和EM?我不知道這裏是否與版本有衝突,因爲我可以輕易找到的唯一文檔是8.2/EM 4.3以上版本。 – Joe 2014-11-24 19:17:09

+0

我使用sas企業指南6.100,沒有時間。我讀過EM沒有必要(現在找不到這個討論..),但不知道它是否屬實。 – ajanie 2014-11-25 09:28:47

回答

0

我遇到了同樣的問題,我做了下面的解決它。

在下面的data =語句中,您應該給sas數據集sampsio.assocs,而不是dmassoc。

"proc assoc data=sampsio.assocs" 

此外,當您運行PROC DMDB確保您使用的是「無功」的聲明&使用類聲明的所有二進制/分類變量聲明所有連續變量。

proc dmdb batch data=sampsio.assocs out=dmassoc dmdbcat=catassoc; 
id customer; 
var /* all continuous variables here **/ ; 
class /* all binary/categorical variables here **/; 
run; 

讓我知道,如果你有任何問題。