SAS逐列检查字段

问题描述 投票:0回答:1

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)。

最好的问候,谢谢

sas
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.