Как использовать оператор %let в sas (с примерами)
Вы можете использовать оператор %LET в SAS для создания макропеременных, которые могут хранить значения, которые вы затем сможете использовать позже в своей программе.
Следующие примеры показывают два распространенных способа использования оператора %LET на практике.
Пример 1. Используйте инструкцию %LET для сохранения числового значения в SAS.
Предположим, у нас есть следующий набор данных в SAS, содержащий информацию о различных баскетболистах:
/*create dataset*/
data my_data;
input team $points;
datalines ;
At 22
At 14
At 23
B 30
B 18
B20
C13
C12
C26
;
run;
/*view dataset*/
proc print data =my_data;
Мы можем использовать оператор %LET для создания макропеременной с именем Points_cutoff , которая имеет значение 20 .
Затем мы можем сослаться на эту переменную позже, используя амперсанд ( & ) перед ней, чтобы создать новый набор данных, содержащий новый столбец, указывающий, набрал ли каждый игрок более 20 очков или нет:
/*assign value of 20 to macro variable*/
%let points_cutoff = 20;
/*use macro variable to create new column called good_player*/
data new_data;
set my_data;
good_player = points > &points_cutoff;
run ;
/*view new dataset*/
proc print data = new_data;
Обратите внимание, что новый столбец с именем Good_player содержит значение 1 , если значение столбца Points больше 20 , или значение 0 , если значение столбца Points не превышает 20 .
Пример 2. Используйте оператор %LET для хранения строкового значения в SAS.
Мы также можем использовать оператор %LET в SAS для создания макропеременной, в которой хранится строковое значение.
В следующем коде показано, как использовать оператор %LET для создания переменной с именем table_title , содержащей значение «Баскетбольные данные», на которое мы затем можем ссылаться позже, чтобы напечатать заголовок набора данных:
/*create dataset*/
data my_data;
input team $points;
datalines ;
At 22
At 14
At 23
B 30
B 18
B20
C13
C12
C26
;
run ;
/*assign string to macro variable*/
%let table_title = " Basketball Data ";
/*print dataset with title*/
proc print data =my_data;
title &table_title;
run ;
Набор данных содержит заголовок, который мы указали в макропеременной.
Примечание . Вы можете найти полную документацию инструкции SAS LET . здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать сводку процедур в SAS
Как использовать Proc Tabulate в SAS
Как использовать сортировку Proc в SAS