рубрика рабочее · все рубрики

Дублирующиеся строки внутри одной ячейки. SAS Base/Macro

Фиксирую на будущее ещё одно решение рабочей задачи.

Задача следующая: в таблице в одном из столбцов значения сформированы текстом с переносами строк. И в этом тексте в пределах одного значения строки могут повторяться. И эти дубликаты нужно убрать. Не исключаю, что поиски решения привели меня к написанию велосипеда, но если кто знает вариант получше - не держите в себе, поделитесь.

Схематичный исходник и пояснения - под катом

наверх

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

Этот пост я пишу скорее даже для себя. С другой стороны, подобных материалов по SAS Base на русском исчезающе мало, так что может и пригодится кому-то ещё.

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

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

наверх

Курсы по LabVIEW

Полторы недели пропадал на курсах по среде разработки LabVIEW от National Instruments. Это первый графический язык программирования в моей жизни, осваивать было весьма забавно. Первым же опытом (кроме учебных примеров, конечно) стали мелкие хулиганства... Впрочем, о них чуть позже. Как говорится, оставайтесь на нашей волне.

наверх