3

転置したカテゴリ (数値) ごとの投稿を含むテーブルがあります。各列名が_number、たとえば_16、_881、_853などのテーブルを取得しました(順序が正しくありません)。

それらすべての合計をproc sqlで実行する必要がありますが、データステップで変数を作成したくありません。また、すべての列名も書きたくありません。私はこれを試しましたが、うまくいきません:

proc sql;
select sum(_815-_16) as nnl
from craw.xxxx;
quit;

最初の番号から最後まで、また最初の番号から最後の番号まで行ってみました。正しくない番号を教えてくれます。

何か案は?

ありがとう!

4

2 に答える 2

2

SQL では変数リストを使用できないため_:、and とvar1-var6andvar1--var8は機能しません。

これを行う最も簡単な方法は、データ ステップ ビューです。

proc sort data=sashelp.class out=class;
 by sex;
run;
*Make transposed dataset with similar looking names;
proc transpose data=class out=transposed;
 by sex;
 id height;
 var height;
run;
*Make view;
data transpose_forsql/view=transpose_forsql;
 set transposed;
 sumvar = sum(of _:);  *I confirmed this does not include _N_ for some reason - not sure why!;
run;

proc sql;
 select sum(sumvar) from transpose_Forsql;
quit;
于 2014-07-28T15:11:03.807 に答える