1

45 個の変数のリストを含む 1 つの列を持つデータセットがあります。これは「出力」と呼ばれます。別のデータセットには、200 個の変数に関する時系列データがあります。最初の行の上部にある変数の名前と、時間全体の値が列にあります。したがって、たとえば、変数の名前の一番上に失業があり、その下にある時間全体の失業の値があります。GDP などについても同様です。このデータセットは「すべて」と呼ばれます。

私は、データセットから 45 個の変数を「out」と呼び、「すべて」から 45 個の変数のみを含む小さなテーブルを作成するのが好きです。

を使用proc sql; create table TABLEしましたが、コードを完成させる方法がわかりません。私の考えは、リストを定義し、そのリストをproc sqlに取り込んで小さなテーブルを作成することでしたが、それを機能させることができませんでした。

誰かがこれを手伝ってくれれば幸いです。ありがとう、SE

4

3 に答える 3

2

1 つのオプションは、変数のリストをマクロ変数に連結し、それを使用して必要なものを保持することです。これが私が考えていることです:

data output;
    Input VariableName $;
    datalines;
    One
    Two
    Three
Run;

data a; *_NULL_;
    Retain VariableList;
    Length VariableList $1000;
    Set Output end=end;
    VariableList = Catx(" ", VariableList, VariableName) ;
    If End Then Call Symput('MyVariableList', VariableList);
run;

%put &MyVariableList;

data Want;
    Set All;
    Keep &MyVariableList ;
run;
于 2013-06-19T03:07:54.637 に答える
1

2 番目のデータセットで proc 転置を使用できます。多くのデータが提供されていないため、ステートメントの使用方法の簡単な例を提供できます。詳細については、このドキュメントを参照してください。

proc transpose data=work.narrow_file1
out=work.narrow_file1_transp_prefix
prefix=pet_count;
run;
于 2013-06-19T02:00:20.253 に答える