Я хотел бы динамически вычислить максимум из n столбцов таблицы SAS.
что у меня есть:
data have;
input id Month d_201701 d_201702 d_201703 d_201704 d_201705 d_201706 d_201707 d_201708 d_201709 d_201710;
datalines;
1 201701 0 1 0 1 1 0 0 0 1 1
2 201702 . 0 2 1 2 2 0 0 1 2
3 201703 . . 1 3 3 4 0 0 1 3
4 201704 . . . 1 2 3 4 1 1 4
5 201704 . . . 15 30 5 5 5 5 5
;
run;
Что делать:
data want; set have;
if Month = 201701 then do;
r_201701=max(d_201701,d_201702,d_201703); .... r_201708=max(d_201708,d_201709,d_201710);
end;
....
if Month = 201704 then do;
r_201704=max(d_201704,d_201705,d_201706); .... r_201708=max(d_201708,d_201709,d_201710);
end;
Я не хочу использовать этот упрощенный подход - не только потому, что он занимает слишком много времени и может произойти много опечаток, но также и потому, что в моем файле более 4 месяцев и болеечем 10 столбцов (около 100 столбцов).
Я также хочу, чтобы количество столбцов было установлено динамически (например, 24 вместо 3, как указано выше).
Спасибо за помощь,