Макросы SAS: локальные и глобальные переменные (с примерами)
Институт SAS, лидер в области анализа данных, выпустил пакет программного обеспечения под названием Statistical Analysis System (SAS). SAS может помочь вам в управлении данными, бизнес-аналитике, расширенной аналитике, прогнозной аналитике и многомерном анализе.
Некоторые конгломераты, такие как Google, Facebook, Twitter и Accenture, используют SAS для решения проблем, возникающих на организационном уровне, а также для предоставления содержательных отчетов. Это помогает управлению проектами, повышению качества, бизнес-прогнозированию и исследованию операций. Это особенно полезно для графического дизайна и разработки приложений.
В этой статье вы узнаете все о макросах SAS, которые помогают писать код DRY (не повторяйтесь).
Станьте специалистом по данным, пройдя практическое обучение! Магистерская программа Data ScientistИзучите программу
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
САС Макро
SAS включает в себя макросы — уникальную функцию программирования, которая помогает нам избежать написания повторяющегося кода и использовать его повторно при необходимости. Это также помогает создавать динамические переменные, которые могут изменять значения в коде в зависимости от того, как код выполняется. Точно так же, как макропеременные могут быть инициализированы для блоков кода, которые будут использоваться повторно несколько раз, макросы могут быть объявлены для блоков кода, которые будут использоваться повторно несколько раз.
Давайте теперь исследуем переменные в макросе SAS.
Что такое макропеременные SAS?
Переменные SAS сохраняют значение в программе SAS, которое можно использовать снова и снова. Они объявляются в начале программы SAS, а затем упоминаются в коде позже. Они могут иметь локальную или глобальную направленность.
Прежде чем приступить к реализации на примерах, мы должны понять различные типы макропеременных.
Итак, рассмотрим типы макропеременных на примерах.
Что такое локальные макропеременные SAS?
Приложения SAS могут получить доступ к этим переменным, если они определены как часть программы. Обычно они используются для предоставления альтернативных переменных в одних и тех же операторах SAS, чтобы они могли обрабатывать наблюдения за различными наборами данных.
Синтаксис
% LET (имя макропеременной) = значение;
При этом поле «Значение» может включать любое числовое, текстовое значение или значение даты, которое требуется программе. В качестве имени переменной макроса можно использовать любую допустимую переменную SAS.
Пример
Операторы SAS используют переменные путем добавления символа «&» в начало имени переменной. В приведенной ниже программе собраны все наблюдения по бренду «Audi» и категории «Спорт». Если нам нужен другой результат make, мы должны изменить значение переменной make name, не меняя ничего больше в программе. Эта ссылка на переменную может использоваться много раз в любом операторе SAS в случае переноса программ.
Код
%LET make_name = ‘Ауди’;
%LET type_name = ‘Спорт’;
данные печати процедуры = sashelp.cars;
где make = &make_name и type = &type_name ;
TITLE “Продажи по состоянию на &SYSDAY &SYSDATE”;
бегать;
Выход
Станьте специалистом по данным, пройдя практическое обучение! Магистерская программа Data ScientistИзучите программу
Что такое глобальные макропеременные SAS?
Поскольку они могут быть доступны любой программе SAS в среде SAS, эти переменные называются глобальными макропеременными. Это назначаемые системой переменные, к которым обычно обращаются многие программы. Системное время является примером глобальной макропеременной SAS.
Синтаксис
Глобальные макропеременные SAS определяются системой и не имеют определенного синтаксиса.
Пример
Здесь показана переменная SAS SYSTIME, которая указывает системное время. Рассмотрим следующий сценарий: каждый раз, когда проходит миллисекунда, создается отчет SAS, а в заголовке печатается системное время. В заголовке будет отображаться текущее время без кодирования каких-либо значений. Мы используем набор данных CARS библиотеки SASHELP, который представляет собой встроенный набор данных SAS.
Код
данные печати процедуры = sashelp.cars;
где make = «Ауди» и тип = «Спорт»;
TITLE “Продажи по состоянию на &SYSTIME”;
бегать;
Выход
Давайте теперь узнаем о макропрограммах в SAS.
Что такое макропрограммы SAS?
Макрос — это набор операторов SAS, на которые ссылается имя, и которые можно использовать в любом приложении, использующем это имя. Оператор начинается с %MACRO и заканчивается %MEND.
Синтаксис
В приведенном ниже синтаксисе мы объявляем локальные переменные.
%MACRO <имя макроса>(Param1, Param2,….Paramn);
Макроутверждения;
%ИСПРАВИТЬ;
%MacroName (Значение1, Значение2,…..Значение);
Пример
Программное обеспечение, представленное ниже, отображает набор переменных SAT в макросе show_result, который вызывается другими выражениями SAS.
%MACRO show_result(make_, type_);
данные печати процедуры = sashelp.cars;
где make = “&make_” и type = “&type_” ;
TITLE “Продажи по состоянию на &SYSTIME”;
бегать;
%ИСПРАВИТЬ;
%show_result(BMW,внедорожник);
Выход
Часто используемые макросы SAS
Язык программирования SAS включает в себя ряд операторов MACRO.
Некоторые из распространенных примеров:
- Завершение программы при выполнении условия
- Запись значения переменной во время выполнения в журнал программы.
Теперь давайте рассмотрим некоторые примеры более подробно.
SAS-макрос %PUT
Журнал SAS обновляется этим оператором макроса, который записывает переменные макроса или текстовую информацию. Сегодняшнее значение переменной записывается в журнал программы в примере ниже.
Код
данные _null_;
CALL SYMPUT («сегодня»,
TRIM(PUT(“&sysdate”d,worddate22.)));
бегать;
%put &сегодня;
Выход
Станьте специалистом по данным, пройдя практическое обучение! Магистерская программа Data ScientistИзучите программу
SAS-макрос %RETURN
Когда этот макрос запускается, он приводит к нормальному завершению текущего запущенного макроса, если указанное условие оказывается истинным. Когда значение переменной val достигает 10, макрос завершается; в противном случае оно продолжается.
Код
%макрос check_condition(val);
%if &val = 10 %then %return;
данные q;
З = 34,2;
бегать;
% исправить check_condition;
%check_condition(11);
Выход
SAS-макрос %END
Это определение макроса включает цикл %DO %WHILE, который, при необходимости, завершается инструкцией процента END. Макрос с именем test в приведенном ниже примере принимает вводимые пользователем данные и использует их для выполнения цикла DO. Оператор %end отмечает конец цикла DO, тогда как оператор %mend отмечает конец макроса.
Код
%макростест (окончание);
%пусть я = 1;
%do % while (&i <&finish);
% поместите значение i &i;
%let i=%eval(&i+1);
%конец;
% исправить тест;
%тест(5)
Выход
Станьте лучшим профессионалом в области данных с Simplilearn
Макросы SAS позволяют нам повторно использовать код в разных местах без необходимости постоянно его повторять. Это не только экономит время, но и гарантирует отсутствие ошибок в коде.
Это два типа макропеременных: глобальные, локальные, и макропрограмма начинается с %MACRO и заканчивается %MEND. Некоторые часто используемые макросы: %END, %RETURN и %PUT.
Чтобы узнать больше о SAS, его многочисленных компонентах и вариантах использования, зарегистрируйтесь на курсе Simplilearn PG по науке о данных, чтобы освоить ключевые концепции и инструменты науки о данных и стать лучшим профессионалом в области данных.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)