Id jan feb mar apr may jun jul
A 1 . . 1 1 . .
B . . 1 . . . .
A . 1 . . . . .
C . . . 1 . . .
我想知道哪个月份的价值不会丢失。 对于A,它是jan,对于B来说,它就是mar ans等。
答案 0 :(得分:1)
我没有得到你的问题的部分,你说不要错过。这需要另一个函数合并来找到第一个非缺失的值。
.profile
您需要ARRAY和一些功能。
data id;
input Id:$1. jan feb mar apr may jun jul;
array a[*] jan-numeric-jul;
target = coalesce(of a[*]);
l=whichn(target,of a[*]);
if l gt 0 then month = vname(a[l]);
cards;
A 1 . . 1 1 . .
B . . 99 . . . .
A . 223 . . . . .
C . . . -11 . . .
;;;;
run;
proc print;
run;