Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемСофия Фогль
1 Преобразование данных
2 Функции SAS Функции SAS классифицированы по типу данных, с которими выполняются операции Массив Символьный Дата и время Описательная статистика Финансовые Математические Вероятность Случайное число Тригонметрия Специальные
3 Синтаксис Функции SAS это подпрограмма, которая выполняет вычисления и возвращает значение. Функции используют аргументы, заданные пользователем или переданные операционной средой. Общий формат: function-name(argument-1, argument-2, …) Аргументом может быть константа, переменная или любое выражение SAS, включая функцию.
4 Списки переменных SAS Вместо раздельного ввода переменных можно использовать список переменных SAS: Total = sum(of Qtr1-Qtr4); В функцию будут переданы переменные Qtr1, Qtr2, Qtr3, Qtr4.
5 Списки переменных SAS Список переменных SAS это сокращенный способ указания группы имен переменных. SAS допускает использование следующих списков переменных: Пронумерованный список Диапазон имен Префикс имени Специальные списки имен SAS
6 Списки переменных SAS Списки с пронумерован ими диапазонами x1-xn Включает все переменные с x1 по xn включительно Списки с диапазонами имен xa x-numeric-a x-character-a Включает все переменные в соответствии с их порядком в векторе данных программы с x до a включительно Включает все числовые переменные с x до a включительно Включает все символьные переменные с x до a включительно Списки с префиксами имен REV:Включает все переменные, начинающиеся с REV, например, REVJAN, REVFEB и REVMAR Специальные списки имен SAS _ALL_ _NUMERIC_ _CHARACTER_ Все переменные текущего шага. Все числовые переменные т.ш. Все символьные переменные т.ш.
7 Примеры Total = sum(of Year1-Year4); Total = sum(of Year2--Year4); Total = sum(of Year:);
8 Символьная обработка - Функция SubStr Функция SubStr в правой части оператора присваивания используется для извлечения символов. Общий формат функции Substr: NewVar=Substr(string, start ); Функция SubStr в левой части используется для замены символов.
9 Функция Length Функция Length возвращает длину непустой символьной строки, исключая конечные пробелы. Общий формат функции Length: NewVar = Length(argument);
10 Функция Propcase Функция Propcase преобразует все слова аргумента в смешанный регистр, при этом первая буква становится прописной, а остальные строчними. NewVar = Propcase(argument ); delimiter(s) (разделители) это символы, которые разделяют слова. Если они не указаны, то используются разделители по умолчанию: пробел, /, -, (,. и символ табуляции
11 Другие символьные функции Right(string)Выравнивает символьное выражение по правому краю Left(string)Выравнивает символьное выражение по левому краю Upcase(string)Преобразует все буквы аргумента в прописные Lowcase(string)Преобразует все буквы аргумента в строчные Char(string, position)Возвращает одиночный символ из указанной позиции символьной строки.
12 Функция Scan Функция Scan возвращает n-e слово из символьного значения. NewVar = Scan(string, n ); charlist список символов, разделяющих слова.
13 Фунуция Scan подробная информация При использовании функции Scan: Если в строке менее n слов, то возвращается пропущенное значение; Если значение n отрицательное, то функция Scan выбирает в символьной строке слово, начиная с конца строки; Длина создаваемой переменной равна 200 байтам Рекомендуется в явном виде задавать длину любых создаваемых переменных, используя оператор Length.
14 Фунуция Scan подробная информация При использовании функции Scan: Разделители перед первым словом не учитываются; Разделителями могут служить любые символы или наборы символов; Два или более идущих подряд разделителя обрабатываются как одиночный разделитель
15 Функция Catx Функция Catx объединяет или соединяет символьные строки. NewVar = Catx(separator, string-1, …, string-n); - из каждого аргумента удаляются начальные и конечные пробелы Cat(string-1, …, string-n)Пробелы не удаляются Cats(string-1, …, string-n)Удаляются начальные пробелы Catt(string-1, …, string-n)Удаляются конечные пробелы
16 Оператор конкатенации Оператор конкатенации ещё один способ объединения символьных строк. NewVar = string1 !! string2; Также можно записать вместо !! ||.
17 Функция Find Функция Find ищет в строке указанную подстроку. Position = Find(string, substring ); Функция Find возвращает числовое значение, которое: Является начальной позицией первого вхождения подстроки в строке, если подстрока найдена; Равна нулю, если подстрока не найдена
18 Функция Find Допустимые модификаторы: I обозначает поиск без учета регистра T включает режим игнорирования конечных пробелов в значениях строки и подстроки. startpos указывает, в каком месте строки начнётся поиск. Кроме того, если значение startpos отрицательное, то поиск будет осуществляться в обратном направлении.
19 Функция Substr (в левой части) Substr(string, start ) = value; Этот формат функции substr заменяет символы в символьной переменной
20 Функция Tranwrd Функция tranward заменяет или удаляет все вхождения указанного слова (или шаблона символов) в символьной строке. NewVar = Tranwrd(source, target, replacement); Использование функции tranwrd для замены существующей строки на более длинную строку может привести к усечению получившегося значения, если не использовать оператор Length.
21 Функция Tranwrd При использовании функции Tranwrd действуют следующие правила: Функция Tranwrd не удаляет конечные пробелы из строки поиска и строки замены Если переменная NewVar не была определена ранее, то её длина задаётся равной 200 Если строка поиска не найдена в исходной строке, то замена не осуществляется
22 Функция Compress Функция Compress удаляет символы, указанные в аргументе chars, из строки source. NewVar = Compress(source ); Если символы не указаны, то функция Compress удаляет все пробелы из исходной строки.
23 Другие функции удаления пробелов Trim(string)Удаляет конечные пробелы из символьной строки Strip(string)Удаляет все начальные и конечные пробелы из символьной строки Compbl(string)Удаляет повторяющиеся пробелы из символьной строки, преобразуя все вхождения двух или более последовательных пробелов в одиночный пробел.
24 Обработка числовых значений Функции для усечения числовых значений: Round Ceil Floor Int
25 Функция Round Возвращает значение, округленное до ближайшей кратной единицы округления. NewVar = Round(argument ); round-off-unit положительная числовая единица округления. Если единица не указана, то аргумент округляется до ближайшего целого.
26 Функция Ceil Возвращает наименьшее целое число, большее или равное аргументу. NewVar = Ceil(argument);
27 Функция Floor Возвращает наибольшее целое число, меньшее или равное аргументу. NewVar = Floor(argument);
28 Функция Int Возвращает целую часть аргумента. NewVar = Int(argument);
29 Пример Var1 = 6.478; CeilVar = Ceil(Var1); // 7 FloorVar = Floor(Var1); // 6 IntVar = Int(Var1); // 6
30 Функции описательной статистики Функция Возвращает Sum Mean Min Max NКоличество пропущенных аргументов Nmiss Количество пропущенных числовых аргументов Cmiss Количество пропущенных числовых или символьных аргументов
31 Общий синтаксис function-name(argument-1, argument-2, …, argument-n) Аргумент может быть списком переменных, которому предшествует ключевое слово OF. Функции Sum, Max, Min игнорируют пропущенные значения в аргументах.
32 Преобразование типа Типы данных можно преобразовывать двумя методами: Автоматически, разрешив SAS выполнять эту операцию Явно с помощью функций: Input символьного в числовой Put числового в символьный
33 Автоматическое преобразование символьного типа в числовой SAS автоматически преобразует символьное значение в числовое, если символьное значение используется в числовом контексте, например в следующих случаях: Назначение числовой переменной Арифметическая операция Логическое сравнение с числовым значением Функция принимающая числовые значения
34 Автоматическое преобразование символьного типа в числовой Использует входной формат w.; Создает отсутствующее числовое значение из символьного значения, которое не соответствует стандартной записи чисел (цифры с необязательной десятичной точкой и/или ведущим знаком и/или запись чисел в экспоненциальном представлении)
35 Функция Input Функция Input возвращает значение, создаваемое в результате чтения исходного значения с использованием заданного входного формата. NumVar = Input(source, informat); Source символьное выражение Informat входной формат SAS, применяемый к исходному выражению input(Cvar1, 5.);
36 Смена типа с сохранением имени Просто так сменить тип у переменной нельзя с сохранением имени нельзя. Для этого надо выполнить три шага: 1. Использовать параметр набора данных RENAME=, для переименования переменной, которую надо преобразовать: set orion.convert(rename=(GrossPay=CharGross) );
37 Смена типа с сохранением имени 2. Воспользоваться функцией INPUT в операторе присваивания, чтобы создать новую переменную с исходным именем переименованной переменной. 3. Выполнить DROP= в операторе DATA.
38 Функция Put Функция Put записывает значения в определенном формате: CharVar = Put(source, format); Функция Put возвращает значение, создаваемое в результате записи исходного значения с использованием заданного формата. Всегда возвращает символьную строку. Cavr = put(Nvar, dollar7.);
39 Функция Cat Семейство функций Cat преобразует любые числовые аргументы в символьные строки с использованием формата BEST12., а затем удаляет все начальные пробелы. Phone = cat('(',Code,') ', Mobile);
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.