2017-07-24 34 views
-1

我對SAS很天真。我使用PROC SQL管理其他先前的步驟。我的表有3列如果期望值缺失,在表中添加一行的SAS代碼

code  count Fruit 
    0   56  Apple 
    6   58  orange 
    7   676 orange 

添加行表中的每個產品(水果)不具有代碼= 0值,那麼在如附加行是表中添加數= 0爲好。 ..

code  count Fruit 
    0   0  orange 

開始這樣

Data table2; 
SET table1; 
IF code NE 0 then do; 
+0

搜索PRELOADFMT或CLASSDATA以瞭解如何添加0值。這是要記住的事情,電腦是愚蠢的。如果它不在那裏,它怎麼知道它應該在那裏呢?你必須以某種方式告訴它,不幸的是,這意味着你需要以某種方式列出它。 – Reeza

+0

FRUIT的所有可能值都存在於數據中,但也許其他值爲CODE其他值爲零?如果沒有,那麼是否有另一個來源來查找FRUIT的所有可能值? CODE是否爲最低(或最高)可能值? – Tom

+0

是的,水果的所有可能值都在表格中.Zero是Code的最低值。 – viji

回答

1

代碼,您可以通過水果數據和代碼的降值進行排序,當水果的特定值的最後一個記錄不具有CODE = 0然後廣告d記錄。

proc sort data=have out=want ; 
    by fruit descending code ; 
run; 
data want ; 
    set want ; 
    by fruit ; 
    output; 
    if last.fruit and code ne 0 then do; 
    code=0; count=0; output; 
    end; 
run;