-Поиск по дневнику

Поиск сообщений в rss_v_exer

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 11.05.2009
Записей: 125
Комментариев: 51
Написано: 53


Хитрые функции в SAS Base/Macro

Пятница, 29 Мая 2020 г. 23:27 + в цитатник
Этот пост я пишу скорее даже для себя. С другой стороны, подобных материалов по SAS Base на русском исчезающе мало, так что может и пригодится кому-то ещё.

Сегодня решая забавную задачку по работе, понял, что мне не хватает произвольной, собственной функции. Как её можно создать в SAS? Ну для начала там есть макросы. Но это не то. Макросы в SAS - это скорее метапрограммирование: ты пишешь код, который потом при запуске сгенерирует обычный SAS Base-код и уже он пойдёт на исполнение. А мне нужно было (не вдаваясь в подробности) формировать из одной таблицы другую по шаблону третьей. Уверен, это можно было реализовать вкраплением SQL-запроса (SAS это тоже позволяет делать), но моя мысль заключалась несколько в другом: как бы так объявить обычную функцию, которая бы преобразовывала дающиеся на вход данные, да ещё с участием данных из других таблиц?

Язык SAS Base/Macro - весьма своеобразная датаориентированная среда, и то, что в языках типа Java или PHP решается на раз, в SAS требует принципиально другого подхода. Поэтому пришлось попотеть. Схематичный исходник и пояснения - под катом

КОММЕНТИРОВАТЬ - ПО ЭТОЙ ССЫЛКЕ

Еще пара записей из блога, навскидку:
Тангенциальное время (рубрики: синематограф)
Поисковые запросы. (рубрики: сайтоводство)
Вспоминая... (рубрики: я в печати)

http://blog.vexer.ru/post2020052900


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку