如何摆脱警告 - 注意:无效的数字数据,secdiags =' V146'

时间:2018-03-07 21:25:31

标签: sas warnings

我编写了以下代码,其中包含

等警告
NOTE: Invalid numeric data, secdiags='V4975' , at line 68 column 6.
NOTE: Invalid numeric data, secdiags='V4589' , at line 68 column 6.
NOTE: Invalid numeric data, secdiags='V146' , at line 68 column 6"

由于这些警告,具有这些值的记录将从最终输出中删除。 我应该怎么做才能保留这些值?

Diag1,diag2,diag3 ... diagN列是char列,其值为 V4965 V4966 V4967 V520 3536 9059 99760 99761 99762

 Data work.temp1 ;
  set work.nocabg;   

 array secdiaggg {*} diag: ; 
 array diag{*} diag:;     


LENGTH j 3.;
j = 1;       
/* put diag1= diag2 = diag3= diag[n]= into 1 code per line.*/
do until ( j > dim(secdiaggg)); 
    secdiags = diag[j];   /* Creates new CHAR column name secdiags */
    j = j + 1;
    IF secdiags NE . THEN OUTPUT;;  /* This put each Diag code on a separate line for the patient. */
end; 

掉落j; 运行;

1 个答案:

答案 0 :(得分:1)

我不知道为什么你有两个相同变量的数组(secdiagggdiag),但你可能会遇到这一行的问题:

IF secdiags NE . THEN OUTPUT;;

.缺少数字。 secdiags是个性格。所以你想要

IF secdiags NE ' ' THEN OUTPUT;

或者,更好:

if not missing(secdiags) then output;

因为missing函数同等地测试。