Итак, у меня есть поле данных, как показано ниже:
Obs ID A B C D
1 X1 1 . . .
2 X2 1 1 . .
3 X3 . 1 1 .
4 X4 . 1 . .
5 X5 . 1 . .
6 X6 1 . . .
7 X7 1 1 . .
8 X8 1 1 . .
9 X9 . . 1 .
10 X10 1 1 . .
Цель здесь состоит в том, чтобы взять сумму столбцов, т.е.
Total=sum(A,B,C,D)
Но проблема здесь в том, чтоКоличество и названия столбцов не будут фиксированными.Поэтому я хотел создать массив, который бы динамически сохранял имена столбцов, отбрасывал столбец id, а затем хотел взять сумму остальных.Поэтому я написал команду следующим образом:
proc sql noprint;
select
name into: cols
from dictionary.columns
where
memname = 'box';quit;
Но я получаю ошибку следующим образом:
Statement is not valid or it is used out of proper order.
Я уверен, что это не лучший способ решить эту проблему, можеткто-нибудь помочь мне, как я должен идти об этом?Заранее большое спасибо.