Объединение наборов данных без потери наблюдений в SAS - PullRequest
0 голосов
/ 23 марта 2010

Хе, ребята, Я знаю, еще один пост, другая проблема: D :(.

Я сделал снимок экрана, чтобы легко объяснить мою проблему.

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

Как видите, я хочу объединить две таблицы (опять же), таблицу Base & Analyst. То, чего я хочу достичь, отображается в правом нижнем углу таблицы. Я подсчитываю общее количество аналитиков и женщин-аналитиков за каждый месяц в таблице аналитиков. В базовой таблице у меня есть разные наблюдения для одной компании (здесь компания Alcoa с тикером AA). Когда я использую следующую команду:

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

У меня проблема с правым углом. Мои наблюдения в основной таблице сужаются до 4 наблюдений (для каждого отдельного года одно наблюдение, 2001, 2002, 2005, 2006). Я хочу, чтобы наблюдения не сокращались, а чтобы каждый год размещались одни и те же данные, как показано в правом нижнем углу. Чего мне не хватает в моей команде слияния? В обеих таблицах у меня есть месяц как переменная подсчета времени (наблюдения в моей базовой таблице являются ежемесячными), по которым мне нужно объединить. Для ясности я добавил 2 скриншота моих реальных баз данных в SAS.

Базовая таблица:

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

Таблица аналитиков:

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

Вот как выглядит моя объединенная таблица:

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

Вы можете ясно видеть, что объединенная таблица содержит только четыре наблюдения для AA (по одному на каждый уникальный год) вместо исходных 8.

У кого-нибудь есть идея, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 24 марта 2010

Тьфу, кажется, вы можете легко решить эту проблему, объединив тикер и месяц.

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

/ стыда.

...