SAS DATA STEP. Объединение таблиц с пощью SET.

Все привет.

Сегодня речь пойдет о старом и добром языке DATA STEP.

Не для кого не секрет, что получиться в результате следующего кода:

data c;
set a b;
run;

Т.е. в set указаны две таблицы A и B.

А теперь давайте проведем следущий эксперимент:

Возьмем таблицу A

Т.е это таблица с двумя полями (ID и amount)

Возьмем таблицу B

Таблица B с одним полем ID.

И теперь напишем следующий запрос:

А теперь внимание вопрос:

Почему результат выглядит следущим образом?

Конкретно требуется объяснить почему в четвертой строчке (ID=10002) Значение amount=3 ?

Жду Ваших решений.

P.S.
Нашел похожий пост здесь. Опубликованный уже через месяц после моего с той же проблемой.

Также там предлагается еще одно изящное решение.

SAS DATA STEP. Объединение таблиц с пощью SET.: 2 комментария

  1. Серега, в принципе ты прав :).
    Retain сохраняется лишь для set из таблицы данных. Для сырых данных это не верно (если, например делать загрузку из файла).

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.