0

やあみんな、私は知っている、別の投稿別の問題:D:(。

問題を簡単に説明するためにスクリーンショットを撮りました。

http://i39.tinypic.com/rhms0h.jpg

ご覧のとおり、BaseテーブルとAnalystテーブルの2つのテーブルを(再び)マージしたいと思います。私が達成したいことは、右下の表に表示されています。アナリストテーブルで、各月のアナリストと女性アナリストの総数を計算しています。ベーステーブルでは、1つの会社(ここではティッカーAAを持つ会社Alcoa)についてさまざまな観察結果があります。次のコマンドを使用すると、次のようになります。

data want;
merge base analyst;
by month ;  
run;

すぐ上の問題が発生します。メインテーブルの私の観測は、4つの観測のみに絞り込まれています(異なる年ごとに1つの観測、2001、2002、2005、2006)。私が欲しいのは、観測値が減らされるのではなく、毎年同じデータが右下隅に示されているように配置されていることです。マージコマンドに何が欠けていますか?両方のテーブルで、マージする必要がある時間カウント変数として月があります(ベーステーブルの観測値は月単位です)。わかりやすくするために、SASの実際のデータベースのスクリーンショットを2つ追加しました。

ベーステーブル:

http://i42.tinypic.com/dr5jky.jpg

アナリストテーブル:

http://i40.tinypic.com/eqpmqq.jpg

マージされたテーブルは次のようになります。

http://i43.tinypic.com/116i62s.jpg

マージされたテーブルには、元の8つではなく、AAに4つの観測値(一意の年ごとに1つ)しか残っていないことがはっきりとわかります。

これを解決するアイデアはありますか?

4

1 に答える 1

0

うーん、ティッカーと月の両方をマージすることで、これを簡単に解決できるようです。

Data ftest;
Merge ftest tryf1 ;
By ticker month;
Run;

/恥。

于 2010-03-24T08:48:22.190 に答える