Лекция 1. Программирование на языке SAS. Основы шага DATA (1185373), страница 3
Текст из файла (страница 3)
Если переменная «Bonus» была в наборе данных«employee_list» – его свойства берутся оттуда, если нет – в PDVпоявляется новая переменная.Откуда берутся свойства новой переменной?1. Можно явно задавать самим (напр., тип, формат, длину)2. Если они не заданы явно, то берутся свойства по умолчанию или изконтекста программы (длина, тип), см. далее* См. SAS(R) 9.3 Language Reference: Dictionary35Создание переменных на шаге Data1) Переменные задаются на шаге Data либо явно, с помощью оператора length:length a $ 10; /*текстовая переменная,length=10 байт*/length b 6; /*числовая переменная, length=6 байт*/• В этом случае оператор length должен появиться на шаге data до операций спеременными (в т.ч.
оператора присваивания, если он есть).• В одном операторе length можно описать много переменныхlength b 6 a $ 10 c d 3 e $100;2) Либо неявно с помощью оператора присваивания:aa = 10; /*справа стоит число, значит аа – числ. перем.*//*по умолчанию length = 8 байт*/bb = ‘ PRIVET! ‘; /*справа стоит текстовая константа*//* bb – текст.
перем. с length=9 (чтобы вместить *//*все символы, которые есть в текстовой константе)*/3) А если справа от оператора присваивания стоит функция, то её длина зависятот функции (см. help).4) Если длина переменной не равна длине присваиваемой величины – всеобрезается (или дополняется пробелами для строк) без предупреждения.36Вывод наблюдений в наборы данных1 data test1 test2;А2x=19359;Б3output test1;В4x=19360;Г5output test1 test2; * output ;6format x ddmmyy.;7 run;Компиляция:1) Формирование PDV (только 1 переменная: х),2) Формирование дескрипторов наборов данных test1, test23) Информация о формате записана в дескрипторы test1 и test2Выполнение:А) Заносим х=19359 в PDV,Б) Сбрасываем содержимое PDV в test1 (явный оператор output)В) Заносим х=19360 в PDV,Г) Сбрасываем PDV в test1, test2 (явный оператор output)Д) Завершение шага DATA37.