Програмиране на SAS - Научете как да кодирате в SAS!



Този блог за програмиране на SAS ви запознава с концепциите за програмиране на SAS и ви помага да разберете подробно различните основи на SAS с примери.

В този блог ще ви запозная с някои от важните концепции на SAS програмирането. Преди да започнем, важно е да се запознаете със SAS. Моят предишен блог на Урок за SAS ще ви помогне да разберете SAS, неговите приложения и ще ви помогне да инсталирате SAS University Edition, което бихме използвали тук като среда за програмиране. Чудейки се какви са уменията, трябва да овладеете тази година? Също така, ако планирате да влезете в Анализ на данни, е един от най-добрите начини да започнете със същото.

Edureka 2019 Tech Ръководство за кариера излезе! Най-горещите работни роли, прецизни учебни пътеки, перспективи за индустрията и други в ръководството. Изтегли сега.





Така че без повечезабавяне,нека започнем с програмирането на SAS, нали?

Този блог ще ви помогне да разберете следните теми:



Преди да започнем да кодираме, бих искал да ви запозная с няколко важни термина, които са важни за програмирането на SAS.

Основи на програмирането на SAS

SAS Windows

Големите организации и институти за обучение предпочитат да използват SAS Windows. SAS Windows разполага с много помощни програми, които помагат да се намали времето, необходимо за писане на кодове.

Следващото изображение показва различните части на SAS Windows.



SAS-Windows - SAS програмиране - Edureka

  • Прозорец за регистрация : Това е прозорец за изпълнение. Тук можете да проверите изпълнението на вашата програма. Той също така показва грешки, предупреждения и бележки.
  • Прозорец на кода :Този прозорец е известен също като прозорец на редактора. Помислете за това като празна хартия или бележник, където можете да напишете вашия SAS код.
  • Изходен прозорец : Както подсказва името, този прозорец показва изхода на програмата / кода, който пишете в редактора.
  • Прозорец с резултати : Това е индекс, който изброява всички изходи на програми, които се изпълняват в една сесия. Тъй като съдържа резултатите от определена сесия, ако затворите софтуера и го рестартирате, прозорецът с резултатите ще бъде празен.
  • Разгледайте прозореца : Той съдържа списъка на всички библиотеки в системата. Можете също да разглеждате поддържаните от системата файлове тук.

Няколко организации използват Linux, но без графичен потребителски интерфейс трябва да пишете код за всяка заявка. Следователно е неудобно за използване.

Набори от данни на SAS

Наборите от данни на SAS се наричат ​​като файлове с данни. Файловете с данни представляват редове и колони. Редовете съдържат наблюдения и колонитеИмена на променливи.

SAS променливи

SAS има два типа променливи:

  • Числови променливи : Това е типът на променливата по подразбиране. Тези променливи се използват в математически изрази.
  • Символни променливи :Символните променливи се използват за стойности, които не се използват в математически изрази.
    Те се третират като текст или низове. Променлива става символна променлива чрез добавяне на‘$’запалвамв края на името на променливата.

Библиотеки на SAS

SAS библиотеката е колекция от SAS файлове, които се съхраняват в една и съща папка или директория на вашия компютър.

  • Временна библиотека : В тази библиотека наборът от данни се изтрива, когато сесията на SAS приключи.
  • Постоянна библиотека : Наборите от данни се запазват за постоянно. Следователно те са достъпни през сесиите.

Потребителите могат също да създадат или дефинират нова библиотека, известна като потребителски дефинирани библиотеки, като използват ключовата дума ЛИБНО ИМЕ . Това са и постоянни библиотеки.

каква е разликата между git и github

Програмиране на SAS: Структура на кода на SAS

Програмирането на SAS се основава на два градивни блока:

  • ДАННИ Стъпка : Стъпката DATA създава набор от данни на SAS и след това предава данните на стъпка PROC
  • PROC Стъпка : Стъпката PROC обработва данните

Програма SAS трябва да следва посочените по-долу правила:

  • Почти всеки код ще започне с DATA или PROC Step
  • Всеки ред от SAS кода завършва с точка и запетая
  • Кодът на SAS завършва с ключова дума RUN или QUIT
  • SAS кодовете не са чувствителни към малки и големи букви
  • Можете да напишете код през различни редове или можете да напишете множество изявления в един ред

След като видяхме няколко основни терминологии, нека започнем с програмирането на SAS с този основен код:

DATA Служител_Info вход Emp_ID Emp_Name $ Emp_Vertical $ datalines 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Run

В горния код създадохме набор от данни, наречен Employee_Info. Той има три променливи, една числова променлива като Emp_Id и две променливи като Emp_Name и Emp_Verticals. Командата Run показва набора от данни в изходния прозорец.

Изображението по-долу показва изхода на гореспоменатия код.

Да предположим, че искате да видите резултата в изглед за печат, добре можете да го направите, като използвате процедура PROC PRINT, останалата част от кода остава същата.

ДАННИ Служител_Info въвеждане Emp_ID Emp_Name $ Emp_Vertical $ datalines 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Run PROC PRINT DATA = Служител_Info Изпълнение

Изображението по-долу показва изхода на горния код.

Току-що създадохме набор от данни и разбрахме как работи процедурата PRINT. Сега, нека вземем горния набор от данни и да го използваме за по-нататъшно програмиране. Да приемем, че искаме да добавим датата на присъединяване на служителя към набора от данни. Така че ние създаваме променлива, наречена DOJ, даваме я като вход и отпечатваме резултата.

ДАННИ Служител_Info вход Emp_ID Emp_Name $ Emp_Vertical $ DOJ данни 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Изпълнете PROC PRINT DATA = Служител_Info Изпълнение

Изображението по-долу показва изхода на горния код. Видимо е, че е създадена променлива, но стойността на DOJ не е отпечатана. Вместо това виждаме, че точките са заменили стойностите на датата.


Защо се случи това? Е, DOJ променливата е без суфикс ‘$’, което означава, че по подразбиране SAS ще я прочете като числова променлива. Но въведените от нас данни имат специален знак ‘/’, поради което не отпечатват резултата, тъй като не са чисто цифрови данни. Ако проверите прозореца на дневника, ще видите съобщение за грешка като „невалидни данни за променлива DOJ“

Сега как да разрешим този проблем? Е, един от начините за решаването му е чрез използване на суфикс ‘$’ за DOJ променлива. Това ще преобразува променливата DOJ в символ и ще можете да отпечатате стойности на датата. Нека направим промените в кода и да видим резултата.

ДАННИ Служител_Info вход Emp_ID Emp_Name $ Emp_Vertical $ DOJ $ datalines 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09 / 2016 Run PROC PRINT DATA = Служител_Info Run

Екранът за извеждане ще покаже следния изход.


Можете да видите, че стойностите на данните се показват като дати чрез преобразуване на DOJ в символ. Това обаче е временно решение. Нека да го обясня как?

Е, представете си, че банка има подобен набор от данни. Наборът от данни съдържа данни за притежателя на сметката като сума на заема, вноски,икраен срок за вноска по кредита. Представете си, притежателят е пропуснал крайния си срок да плати вноска и банката иска да изчисли закъснението. Банката ще трябва да изчисли разликата между датата на крайния срок и текущата дата.

Но ако наборът от данни на банката има дати в символен формат, тогава банката няма да може да извършва математически операции върху нея. Този проблем може да засегне и нашия набор от данни. И така, как да разрешим този проблем?

Следващата концепция ще ви помогне да преодолеете този проблем.

Неформати и формати в SAS

Важно е да разберете добре тази тема, ако искате да се справите добре с програмирането на SAS.Ако можете да си спомните, споменах по-рано, че SAS има два стандартни типа променливи:

  • Числови
  • Характер

Когато SAS попадне на нестандартни променливи, SAS ще изведе грешка или няма да получите желания изход. За да преодолее този проблем, SAS използваИнформирани формати.

Открийте повече

Информатите обикновено се използват за четене или въвеждане на данни от външни файлове или плоски файлове (катотекстови файлове или последователни файлове). Информатът инструктира SAS как да четеданни в SAS променливи. SAS има три вида информация:символ, число и дата / час. Информациите се именуват според следнотосинтаксисна структура:

  • Символна информация: $ INFORMATw.
  • Числово информирани: INFORMATw.d
  • Информация за дата / час: INFORMATw.

„$“ Показва информационен знак. INFORMAT се отнася до понякога незадължителнотоИме на информацията за SAS. ‘W’ показва ширината (байтове или брой колони) напроменлива. Буквата „d“ се използва за цифрови данни за указване на броя на цифрите вдясно отдесетичната запетая. Всички информати трябва да съдържат десетична запетая (.), Така че SAS да може
разграничаване на информацията от SAS променлива.

Нека се върнем към предишния ни код и да видим дали информацията за дата / час ни помага. Така че нека променим кода съответно и добавим към него информация за дата, както следва:

ДАННИ Служител_Info вход Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. datalines 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Run PROC PRINT DATA = Employee_Info Run

Ред номер 3 в кода инструктира SAS да прочете променливата „дата на присъединяване“ (DOJ), използвайки датата
информат MMDDYYw. За всяко поле с дата заема 10 интервала, квалификаторът „w.“ Езадайте на 10.

Изходът на кода ще изглежда по следния начин.

Резултатът показва, че все още нямаме желания резултат, вместо това DOJ колоната съдържа някои цифрови стойности, а не датите, които сме посочили. Защо е така? Е, щом датата бъде прочетена с информацията за дата, SAS съхранява датата като число. Това означава, че се чете като брой дни между датата и 1 януари 1960 г. (Например: 15.3.1994 г. се съхранява като 12492).

Причината за това е, че SAS има три отделни брояча, които следят датите и часа. Тези броячи на дати започват от нула на 1 януари 1960 г. Следователно датите преди 1/1/1960 имат отрицателни стойности и всяка дата след това има положителна стойност. Всеки ден в полунощ броячът на датите се увеличава с един.

Една история разказва, че основателите на SAS са искали да използват приблизителната дата на раждане на системата IBM 370 и са избрали 1 януари 1960 г. като лесно за запомняне приближение.

Сега, след като знаете причината, поради която в колоната DOJ се показват тези числа, нека се опитаме да разрешим този проблем. За преодоляване на този проблем използваме Формат.

Формат

Неформатите са инструкциите за четене на данни, докато форматите са инструкциите, използвани за показване илиизходни данни.Определянето на формат за променлива е начина, по който казвате на SAS да показва стойностите в променливата. Форматите са групирани в същите три класа като информатите (символ, число и дата и час) и също винаги съдържат точка.

Общата форма на изявление за формат е:

  • FORMAT име на променлива FORMAT-NAME.

Нека се върнем към нашия код с набор от данни Employee_Info, за да видим дали можем да покажем правилно датата с помощта на командата FORMAT.

ДАННИ Служител_Info вход Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. ФОРМАТИРАЙ DOJ ddmmyy10. datalines 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Run PROC PRINT DATA = Employee_Info Run

Използвахме командата FORMAT в ред номер 4 в горния код. Следващият изходен екран ще ни даде желания изход.

Успешно показахме набора от данни с помощта на командата за формат на дата. Надявам се, че сте разбрали как да използвате формата и информацията.Нека продължим напред с нашия блог за програмиране на SAS и да разгледаме друга важна концепция.

SAS цикли

Докато правим програмиране на SAS, може да срещнем ситуации, при които многократно трябва да изпълняваме aблок код няколко пъти. Неудобно е да пишете един и същи набор от твърдения отново и отново. Това е мястото, където циклите идват в картина. В SAS операторът Do се използва за реализиране на цикли. Известен е още като Do Loop. Изображението по-долу показваобща форма на инструкциите Do loop в SAS.

Следват типовете DO контури в SAS:

  • Индекс : Цикълът продължава от началната стойност до стоп стойността на индексната променлива.
  • Докато : Цикълът продължава, докато Докато състояние става фалшиво.
  • До : Цикълът продължава до До условие става True.

Направете цикъл на индекса

Използваме индексна променлива като начална и стоп стойност за Направете цикъл на индекса . Операторите SAS се изпълняват многократно, докато променливата на индекса достигне крайната си стойност.
Синтаксис:

Направете indexvariable = начална стойност към окончателна стойност SAS изрази End

Нека да разгледаме примерния код, за да разберем Do Index Loop. В кода по-долу VAR е променливата на индекса.

ДАННИ SampleLoop SUM = 0 Направете VAR = 1 до 10 SUM = SUM + VAR END PROC PRINT DATA = SampleLoop Run

Когато изпълните горния код, ще получите следния изход.

java как да конвертирате double в int

Направете докато цикъла

The Правете докато цикъл използва условие WHILE. Този цикъл изпълнява блока на кода, когато условието е вярно и продължава да го изпълнява, докато състоянието стане невярно. След като условието стане невярно, цикълът се прекратява.

Синтаксис:

Извършване докато (състояние) SAS изявления Край

Следващият примерен код ще ви помогне да разберете цикъл DO WHILE.

ДАННИ SampleLoop SUM = 0 VAR = 1 Направете докато (VAR<15) SUM = SUM + VAR VAR+1 END PROC PRINT DATA = SampleLoop Run 

Горният код ще ви даде следния изход.

Правете до Loop

Цикълът Do Do използва До Този цикъл изпълнява блока с код, когато условието е невярно и продължава да го изпълнява, докато условието стане вярно. След като условието стане вярно, цикълът се прекратява.

Синтаксис:

Правете до (условие) SAS изявления END

Нека да разгледаме примерна програма.

ДАННИ SampleLoop SUM = 0 VAR = 1 Правете до (VAR> 15) SUM = SUM + VAR VAR + 1 END PROC PRINT Run

Кодът има следния изход.

По този начин завършихме концепцията за цикли в SAS програмирането. Всички теми, които изучавахме досега, говориха за основите на SAS програмирането като цяло.

Сега нека разгледаме някои статистически процедури. Тези процедури ще формират база за напреднали аналитични процедури.

Абонирайте се за нашия канал в YouTube, за да получавате нови актуализации ..!

Основни статистически процедури, използващи SAS

PROC СРЕДСТВА

Тази процедура се използва за изчисляване на средната аритметична стойност и стандартното отклонение. За хора, които са нови в статистиката, може да е трудно да разберат тези термини. Така че, преди да започнем да кодираме и използваме тази процедура. Ще се опитам да обясня какво означават тези термини.

Нека започнем с аритметичната средна стойност и да видим как PROC MEANS се използва в SAS програмирането, за да го изчисли.

Средноаритметично

Сумата от стойността на числовите променливи, разделена на броя на променливите, ви дава средноаритметично . Известна е също като средна стойност и е мярка за централната тенденция. Мярка за централна тенденция е единична стойност, която се опитва да опише набор от данни, като идентифицира централната позиция в този набор от данни.

При програмирането на SAS използвате PROC MEANS за изчисляване на средната аритметична стойност. Тази процедура ви позволява да намерите средно за всички променливи или няколко променливи от набор от данни. Можете също така да формирате групи и да изчислявате средната стойност на променливите, специфични за тази група.

Синтаксис:

PROC СРЕДСТВА ДАННИ = DATASET Променливи на клас Var Променливи
  • Променливи : Променливите в горния синтаксис показват променливи от набора от данни, чиято средна стойност трябва да бъде изчислена.

Средно за набор от данни

Ако типредоставете само името на набора от данни без никакви променливи, можете да изчислите средната стойност на всички променливи в набор от данни.

Нека да разгледаме примерен код. Разгледах предварително дефиниран набор от данни на SAS, наречен „автомобили“. Следващата команда ще покаже набора от данни.

PROC PRINT данни = sashelp.CARS Run

Изображението по-долу показва изхода на горния код.


Сега нека използваме този код на набора от данни и да изчислим средната стойност на всяка променлива в набора от данни‘Коли’.

PROC СРЕДСТВА ДАННИ = sashelp.CARS Средно SUM MAXDEC = 2 Run

Изображението по-долу показва средната стойност на всички променливи в набора от данни до две знаци след десетичната запетая.

Средно от избрани променливи

Чрез предоставяне на имената в опцията Var можете да получите средната стойност на посочените променливи. Моля, вижте кода по-долу.

PROC СРЕДСТВА ДАННИ = sashelp.CARS означава SUM MAXDEC = 2 var конски сили цилиндри Run

Средно по клас

Можете да намерите средната стойност на числовите променливи, като ги организирате в групи, като използватенякакъв параметър, който да ги групира.Обмислете следния примерен код. Нека да разберем средните стойности на конските сили за различни групи, категоризирани по класовете „марка“ и „тип“ на различни автомобили.

PROC СРЕДСТВА ДАННИ = sashelp.CARS СРЕДСТВА СУММА MAXDEC = 2 клас марка тип var конски сили Run

Изображението по-долу показва изхода на горния код.

Нека продължим с нашия блог за програмиране на SAS и да разгледаме друга важна статистическа концепция.

Стандартно отклонение

Стандартното отклонение (SD) е мярка за това колко варират данните в даден набор от данни. Математически той ви казва колко близо е всяка точка от данни до средната стойност на набор от данни. Ако стойността на стандартното отклонение е близо до 0, това показва, че точките с данни са много близки до средната стойност на набора от данни, а високото стандартно отклонение показва, че точките с данни са разпределени в широк диапазон от стойности.

В SAS можете да изчислите стойността на стандартното отклонение, като използвате две процедури. Те са:

  • PROC СРЕДСТВА
  • ИЗСЛЕДВАНИЯ

Стандартно отклонение с помощта на PROC СРЕДСТВА

Можете да измерите стандартното отклонение, използвайки средства за proc, трябва да изберете ЧАСА опция в стъпката PROC. Той ще покаже стойностите на стандартното отклонение за всяка числова променлива в набора от данни.

Синтаксис:

PROC СРЕДСТВА ДАННИ = набор от данни STD

Помислете за този примерен код, нека създадем друг набор от данни CARS1 от набора от данни CARS в библиотеката SASHELP. За целта ни позволяваме да използваме PROC SQL процедура. Нека групираме данните, като използваме „тип“ и „марка“ автомобили и изчислим стандартното отклонение за избрани променливи, като използваме опцията STD със стъпка PROC средства.

PROC SQL създава таблица CARS1 като SELECT марка, тип, конски сили, цилиндри, тегло FROM SASHELP.CARS WHERE make in ('Audi', 'BMW') RUN PROC MEANS DATA = CARS1 STD Run

Горният код ще даде стандартно отклонение за избрани променливи. Следващото изображение показва изхода.

ПРОЦЕС НА ИЗСЛЕДВАНИЯ

Тази процедура се използва за измерване на стандартно отклонение заедно с някои авансови функции като измерване на стандартно отклонение за категорични променливи и дисперсията.

Синтаксис:

PROC SURVEYMEANS опции statistic-keywords По променливи Променливи на клас Var променливи

Следва описание на използваните параметри:

  • От се използва за обозначаване на променливите, използвани за създаване на групи от наблюдения.
  • Клас показва променливите, използвани за категорични променливи.
  • Където показва променливите, за които ще се изчислява SD.

Нека да разгледаме този примерен код, който описва използването на параметъра class, който създава статистически данни за всяка от стойностите в променливата на класа.

PROC SURVEYMEANS DATA = CARS1 STD Тип клас Var тип конски сили ods изходна статистика = правоъгълник Run PROC PRINT DATA = правоъгълник Run

Изображенията по-долу показват изхода на горния код. Той показва разпределение на данните за променлива „Конска сила“ за 95% доверителен интервал. (Доверителен интервал означава диапазон от стойности, така дефинирани, че има определена вероятност стойността на параметър да се намира в него.)

И така, това ни води до края на блога за програмиране на SAS. За всякакви съмнения или проблеми със съдържанието на блога, моля, оставете ги в раздела за коментари, аз ще ги разреша най-рано и ще отговоря.

Ако искате да научите SAS и да изградите кариера в домейна за анализ, тогава разгледайте нашия което се предлага с обучение под ръководството на инструктори на живо и опит в реалния живот на проекти. Това обучение ще ви помогне да разберете по-задълбочено SAS и ще ви помогне да овладеете различни концепции на езика за програмиране SAS.

Имате въпрос към нас? Моля, споменете го в раздела за коментари и ние ще се свържем с вас.