SAS逐列检查字段

时间:2019-03-19 10:02:18

标签: sas

SAS check field by field and put field name when 0

我有新的小问题。我想逐字段检查值是否相同。一行一行。如果代码将插入状态为“ OK”和“ NOT OK”的新行,则效果很好。

data Have;
   input REFERENCE_DATE  
         L_CONTRACT 
         L_CONTRACT_ACTIVITY
         L_LFC
         L_CONTRACT_CO_CUSTOMER
         L_CONTRACT_OBJECT
         L_CUSTOMER
         L_CUSTOMER_RETAIL
         L_DPD
         L_GL_ACCOUNT 
         L_GL_AMOUNT
         L_EXTRA_COST 
         L_PRODUCT;
   datalines;
450 1 9 8 6 0 4 3 0 0 0 0 0
450 1 8 8 5 5 3 3 0 0 0 0 1
;

我创建了一些与此进行比较的代码-但我有问题-在第一条记录中,将所有列都作为错误...我只需要在变量字段中的第二条记录中放置-哪些列具有不同的值。

Data Have_to;
length variables $1000;
    set Have;
    array L L_CONTRACT -- L_PRODUCT;
        DO _n_ = 1 to dim(L);
            IF L(_n_) ne lag1(L(_n_)) THEN variables = catx(' ', variables, vname(L(_n_)));
        END;
run;

又如何创建新表,在该表中只有几列代码可以计算差异? (在示例中:L_CONTRACT_ACTIVITY L_CONTRACT_CO_CUSTOMER L_CONTRACT_OBJECT L_CUSTOMER L_PRODUCT)。

最诚挚的问候,谢谢

1 个答案:

答案 0 :(得分:0)