data _null_; set hash.bankholidays; retain total 0; format date :date9.; set hash.oyster; datetime = datepart(datetime); format datetime :date9. ; if date eq datetime then do; total = total + amount; end; put "total =" total; run;
Это дает мне диалоговое окно всплывающего окна в затмении: Multiple SET/MERGE statements in a data step
Несколько SET/MERGE заявление в шаге данных
Я интересно, что здесь происходит? Кажется, вы говорите, что не можете иметь инструкцию set в задании set, но я уверен, что я это сделал раньше.
например.
data data_ex.giftwrap_ribbon_final; set data_ex.giftwrap_w_ribbon_fl; if not missing (first) and not missing (last) then do; do i = first to last; set data_ex.ribbon (keep=ribbon_colour) point = i; output; end; end; else do; ribbon_colour = ''; output; end; run;
Могу ли я получить разъяснение здесь?
Кроме того, примерно последний надеты. Как я могу сказать, чтобы выполнить put после завершения инструкции set?
Я никогда не слышал о DataServer, что это (просьба дать ссылку). Что касается вашего кода, что вам нужно сделать для этого шага данных: напечатайте «total» один раз? Если это так, опишите два набора данных «bankholidays» и «oyster», в том числе количество обс в каждом и которое содержит три переменные (дата, дата и время). – BellevueBob
Я до сих пор не могу найти ни одной онлайн-ссылки на продукт под этим именем (не сказать, что его не существует, я просто не могу его найти). Во всяком случае, это звучит так: «Множественная ошибка SET/MERGE» особенно важна для Dataserver, потому что это совершенно хороший синтаксис SAS. Отвечает ли ответ CarolinaJay65 на ваши потребности во второй части вашего вопроса? – BellevueBob