Programovanie SAS - Naučte sa kódovať v SAS!



Tento blog o programovaní SAS vám predstaví koncepty programovania SAS a pomôže vám podrobne pochopiť rôzne základy SAS na príkladoch.

V tomto blogu vám predstavím niektoré dôležité koncepty programovania SAS. Skôr ako začneme, je dôležité, aby ste sa oboznámili so SAS. Môj predchádzajúci blog na Výukový program SAV pomôže vám pochopiť SAS, jej aplikácie a pomôže vám nainštalovať SAS University Edition, ktorú by sme tu používali ako programovacie prostredie. Zaujíma vás, aké sú zručnosti, ktoré by ste tento rok mali ovládať? Ak ste tiež plánovali vstúpiť do analýzy údajov, je jedným z najlepších spôsobov, ako začať s rovnakými.

Príručka o kariére pre pracovníkov Edureka 2019 je vonku! Najhorúcejšie pracovné úlohy, presné cesty učenia, priemyselné vyhliadky a ďalšie informácie v príručke. Stiahnuť ▼ teraz.





Takže bez akýchkoľvek ďalšíchmeškanie,poďme začať s programovaním SAS, však?

Tento blog vám pomôže pochopiť nasledujúce témy:



Predtým, ako začneme programovať, by som vás rád oboznámil s niekoľkými dôležitými pojmami, ktoré sú dôležité pre programovanie SAS.

Základy programovania SAS

SAS Windows

Veľké organizácie a výcvikové ústavy uprednostňujú používanie systému Windows SAS. SAS Windows má veľa nástrojov, ktoré pomáhajú znižovať čas potrebný na zápis kódov.

Nasledujúci obrázok zobrazuje rôzne časti systému SAS Windows.



SAS-Windows - Programovanie SAS - Edureka

  • Okno denníka : Je to okno vykonávania. Tu môžete skontrolovať vykonanie vášho programu. Taktiež zobrazuje chyby, varovania a poznámky.
  • Okno kódu :Toto okno sa nazýva aj editorské okno. Berte to ako čistý papier alebo poznámkový blok, kde môžete napísať svoj kód SAS.
  • Výstupné okno : Ako už názov napovedá, v tomto okne sa zobrazuje výstup programu / kódu, ktorý napíšete do editora.
  • Výsledkové okno : Je to index, ktorý obsahuje zoznam všetkých výstupov programov, ktoré sú spustené v jednej relácii. Pretože uchováva výsledky konkrétnej relácie, ak zatvoríte softvér a reštartujete ho, okno s výsledkom bude prázdne.
  • Preskúmať okno : Obsahuje zoznam všetkých knižníc v systéme. Tu môžete tiež prechádzať súbory podporované systémom.

Niekoľko organizácií používa Linux, avšak bez grafického používateľského rozhrania musíte pre každý dopyt zadávať kód. Preto je jeho použitie nepohodlné.

Sady údajov SAS

Sady údajov SAS sa nazývajú dátové súbory. Dátové súbory tvoria riadky a stĺpce. Riadky obsahujú pozorovania a stĺpceNázvy premenných.

Premenné SAS

SAS má dva typy premenných:

  • Numerické premenné : Toto je predvolený typ premennej. Tieto premenné sa používajú v matematických výrazoch.
  • Premenné znakov :Znakové premenné sa používajú pre hodnoty, ktoré sa nepoužívajú v matematických výrazoch.
    Považuje sa za text alebo reťazce. Premenná sa stane znakovou premennou pridaním a‘$‘ Signna konci názvu premennej.

Knižnice SAV

Knižnica SAS je kolekcia súborov SAS, ktoré sú uložené v rovnakom priečinku alebo adresári vo vašom počítači.

  • Dočasná knižnica : V tejto knižnici sa množina údajov odstráni, keď sa skončí relácia SAS.
  • Stála knižnica : Súbory údajov sa ukladajú natrvalo. Preto sú k dispozícii v rôznych reláciách.

Používatelia môžu tiež vytvoriť alebo definovať novú knižnicu známu ako knižnice definované používateľom pomocou kľúčového slova LIBNAME . Toto sú tiež stále knižnice.

Programovanie SAS: Štruktúra kódu SAS

Programovanie SAS je založené na dvoch stavebných prvkoch:

  • ÚDAJE Krok : Krokom DATA sa vytvorí množina údajov SAS a potom sa údaje odovzdajú do kroku PROC
  • PROC krok : PROC krok spracováva údaje

Program SAS by sa mal riadiť nižšie uvedenými pravidlami:

  • Takmer každý kód bude začínať buď DATA, alebo PROC krokom
  • Každý riadok kódu SAS končí bodkočiarkou
  • Kód SAS končí kľúčovým slovom RUN alebo QUIT
  • Kódy SAS nerozlišujú veľké a malé písmená
  • Môžete napísať kód na rôzne riadky alebo môžete napísať viac príkazov do jedného riadku

Teraz, keď sme videli niekoľko základných terminológií, začnime s programovaním SAS pomocou tohto základného kódu:

ÚDAJE Zamestnanec_Info vstup Emp_ID Emp_Name $ Emp_Vertical $ datalines 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Run

Vo vyššie uvedenom kóde sme vytvorili množinu údajov nazvanú ako Employee_Info. Má tri premenné, jednu číselnú premennú ako Emp_Id a dve znakové premenné ako Emp_Name a Emp_Verticals. Príkaz Spustiť zobrazí množinu údajov vo výstupnom okne.

Obrázok nižšie zobrazuje výstup vyššie uvedeného kódu.

Predpokladajme, že chcete vidieť výsledok v zobrazení tlače, ale môžete to urobiť pomocou procedúry PROC PRINT, zvyšok kódu zostane rovnaký.

ÚDAJE Dáta Employee_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 = Employee_Info Run

Obrázok nižšie zobrazuje výstup vyššie uvedeného kódu.

Práve sme vytvorili súbor údajov a pochopili sme, ako funguje postup PRINT. Zoberme si vyššie uvedenú množinu údajov a využime ju na ďalšie programovanie. Povedzme, že chceme do sady údajov pridať dátum, kedy sa zamestnanec pripojil. Takže vytvoríme premennú nazvanú ako DOJ, dáme ju ako vstup a vytlačíme výsledok.

ÚDAJE Zamestnanec_Info vstup Emp_ID Emp_Name $ Emp_Vertical $ DOJ datalines 101 Mak SQL 18. 8. 2013 102 Rama SAS 25. 6. 2015 103 Priya Java 21. 2. 2010 104 Karthik Excel 19. 5. 2007 105 Mandeep SAS 11. 9. 2016 Spustiť PROC PRINT DATA = Employee_Info Run

Na nasledujúcom obrázku je znázornený výstup vyššie uvedeného kódu. Je viditeľné, že bola vytvorená premenná, ale hodnota DOJ sa nevytlačila. Namiesto toho vidíme, že bodky nahradili hodnoty dátumu.


Prečo sa to stalo? Premenná DOJ je bez prípony „$“, to znamená, že štandardne ju bude SAS čítať ako číselnú premennú. Ale údaje, ktoré sme zadali, majú špeciálny znak „/“, a preto nevytlačí výsledok, pretože nejde o čisto číselné údaje. Ak skontrolujete okno protokolu, zobrazí sa chybové hlásenie ako „neplatné údaje pre premennú DOJ“.

Ako teraz vyriešime tento problém? Jedným zo spôsobov, ako to vyriešiť, je použitie prípony ‚$‘ pre premennú DOJ. Týmto sa premení premenná DOJ na znak a budete môcť tlačiť hodnoty dátumu. Urobme zmeny v kóde a uvidíme výstup.

ÚDAJE Zamestnanec_Info vstup Emp_ID Emp_Name $ Emp_Vertical $ DOJ $ datalines 101 Mak SQL 18. 8. 2013 102 Rama SAS 25. 6. 2015 103 Priya Java 21. 2. 2010 104 Karthik Excel 19. 5. 2007 105 Mandeep SAS 11/09 / 2016 beh PROC PRINT DATA = Employee_Info Run

Na výstupnej obrazovke sa zobrazí nasledujúci výstup.


Konvertovaním DOJ na znak môžete vidieť, že hodnoty údajov sa zobrazujú ako dátumy. Ide však o dočasné riešenie. Vysvetlím to ako?

Predstavte si, že banka má podobný súbor údajov. Súbor údajov obsahuje podrobnosti o držiteľovi účtu, ako je výška úveru, splátky,asplatnosť splátky úveru. Predstavte si, že držiteľ zmeškal svoj termín na zaplatenie splátky a banka chce vypočítať oneskorenie. Banka bude musieť vypočítať rozdiel medzi termínom a aktuálnym dátumom.

Ak má však dátový súbor banky dátumy v znakovom formáte, potom s ním banka nebude môcť vykonávať matematické operácie. Tento problém môže mať vplyv aj na našu množinu údajov. Ako teda vyriešiť tento problém?

Ďalšia koncepcia vám pomôže prekonať tento problém.

Informáty a formáty v SAV

Je dôležité, aby ste tejto téme dobre porozumeli, ak chcete byť dobrí v programovaní SAS.Ak si pamätáte, už som spomínal, že SAS má dva štandardné typy premenných:

  • Číselné
  • Postava

Keď SAS narazí na neštandardné premenné, SAS vyhodí chybu, inak nezískate požadovaný výstup. Na prekonanie tohto problému používa SASInformovanýa formáty.

Zistiť viac

Informaty sa zvyčajne používajú na čítanie alebo vkladanie údajov z externých súborov alebo plochých súborov (naprtextové súbory alebo sekvenčné súbory). Informat dáva pokyn SAV, ako má čítaťúdaje do premenných SAS. SAV má tri typy informátov:znak, číselný údaj a dátum / čas. Informáty sú pomenované podľa nasledujúcehoštruktúra syntaxe:

  • Informatik o znakoch: $ INFORMATw.
  • Číselné informácie: INFORMATw.d
  • Informovaný dátum / čas: INFORMATw.

„$“ Označuje znak informat. INFORMAT odkazuje na niekedy voliteľnéNázov informatiky SAV. Písmeno „w“ označuje šírku (bajty alebo počet stĺpcov) znakupremenná. Písmeno „d“ sa používa pre číselné údaje na určenie počtu číslic vpravo oddesatinné miesto. Všetky informáty musia obsahovať desatinnú čiarku (.), Aby mohla SAS
odlíšiť informatiku od premennej SAS.

Vráťme sa k nášmu predchádzajúcemu kódu a uvidíme, či nám Informat o dátume a čase pomôže. Poďme teda zodpovedajúcim spôsobom zmeniť kód a pridať k nemu Date Informat nasledovne:

ÚDAJE Dáta Employee_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 Spustiť PROC PRINT DATA = Employee_Info Run

Riadok číslo 3 v kóde dáva pokyn SAS, aby pomocou dátumu použila na načítanie premennej ‘dátum vstupu’ (DOJ)
informat MMDDYYw. Pre každé pole s dátumom, ktoré zaberá 10 medzier, je kvalifikátor „w.“nastavený na 10.

Výstup kódu bude vyzerať nasledovne.

Výsledok ukazuje, že stále nemáme požadovaný výsledok. Namiesto toho stĺpec DOJ obsahuje niektoré číselné hodnoty, a nie dátumy, ktoré sme zadali. Prečo je to tak? No akonáhle sa dátum načíta spolu s údajom o dátume, SAS ho uloží ako číslo. To znamená, že sa číta ako počet dní medzi dátumom a 1. januárom 1960 (Napríklad: 15. 3. 1994 je uložený ako 12492).

Dôvodom je to, že SAS má tri samostatné počítadlá, ktoré sledujú dátumy a čas. Tieto počítadlá dátumov začali 1. januára 1960 na nule. Preto majú dátumy pred 1. 1. 1960 záporné hodnoty a akýkoľvek dátum po má kladnú hodnotu. Každý deň o polnoci sa počítadlo dátumu zvyšuje o jednu.

Jeden príbeh hovorí, že zakladatelia SAV chceli použiť približný dátum narodenia systému IBM 370 a ako ľahko zapamätateľnú aproximáciu si vybrali 1. január 1960.

Teraz, keď už viete, prečo stĺpec DOJ zobrazoval tieto čísla, skúsme tento problém vyriešiť. Na prekonanie tohto problému používame Format.

Formát

Informaty sú pokyny na čítanie údajov, zatiaľ čo formáty sú pokyny používané na zobrazenie alebovýstupné údaje.Definovanie formátu premennej určuje spôsob, akým poviete SAS, aby zobrazoval hodnoty v premennej. Formáty sú zoskupené do rovnakých troch tried ako informáty (znakové, číselné a dátumové) a tiež vždy obsahujú bodku.

Všeobecná forma vyhlásenia o formáte je:

  • FORMAT názov premennej FORMAT-NAME.

Vráťme sa k nášmu kódu s dátovou sadou Employee_Info, aby sme zistili, či môžeme správne zobraziť dátum pomocou príkazu FORMAT.

ÚDAJE Dáta Employee_Info Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. FORMÁT 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 Spustiť PROC PRINT DATA = Employee_Info Run

V riadku číslo 4 vo vyššie uvedenom kóde sme použili príkaz FORMAT. Nasledujúca výstupná obrazovka nám poskytne požadovaný výstup.

Úspešne sme zobrazili množinu údajov pomocou príkazu Formát dátumu. Dúfam, že ste pochopili, ako používať formát a informatiku.Poďme ďalej s naším programovacím blogom SAS a pozrime sa na ďalší dôležitý koncept.

Smyčky SAS

Pri programovaní SAS sa môžeme stretnúť so situáciami, kedy opakovane potrebujeme vykonať ablok kódu niekoľkokrát. Je nepohodlné písať stále rovnaký súbor výpisov. To je miesto, kde sa objavujú slučky. V SAS sa príkaz Do používa na implementáciu cyklov. Je tiež známy ako Do Loop. Obrázok nižšie zobrazujevšeobecná forma príkazov Do loop v SAS.

Nasledujú typy DO slučiek v SAS:

fibonacciho postupnosť v c ++
  • Register : Smyčka pokračuje od počiatočnej hodnoty po stop hodnotu premennej indexu.
  • Zatiaľ čo : Slučka pokračuje tak dlho, kým Zatiaľ čo stav sa stáva nepravdivým.
  • Až do : Slučka pokračuje až do Až do stav sa stáva skutočným.

Do indexovej slučky

Ako začiatočnú a konečnú hodnotu pre používame indexovú premennú Do indexovej slučky . Príkazy SAS sa vykonávajú opakovane, kým premenná indexu nedosiahne svoju konečnú hodnotu.
Syntax:

Do indexvariable = initialvalue to finalvalue SAS commands End

Pozrime sa na ukážkový kód, aby sme pochopili funkciu Do Index Loop. V nasledujúcom kóde je VAR premenná indexu.

DATA SampleLoop SUM = 0 Do VAR = 1 až 10 SUM = SUM + VAR END PROC PRINT DATA = SampleLoop Run

Po vykonaní vyššie uvedeného kódu získate nasledujúci výstup.

ako obsadiť dvojité na int

Robte While Loop

The Robte kým slučka používa podmienku WHILE. Táto slučka vykoná blok kódu, keď je podmienka pravdivá, a naďalej ju vykonáva, až kým sa podmienka nestane nepravdivou. Akonáhle sa podmienka stane neplatnou, slučka sa ukončí.

Syntax:

Ukončiť (podmienka) Vyhlásenia SAS Koniec

Nasledujúci ukážkový kód vám pomôže pochopiť slučku DO WHILE.

DATA SampleLoop SUM = 0 VAR = 1 Do While (VAR<15) SUM = SUM + VAR VAR+1 END PROC PRINT DATA = SampleLoop Run 

Vyššie uvedený kód vám poskytne nasledujúci výstup.

Robiť do slučky

Slučka Do Kým používa znak Až do podmienka. Táto slučka vykoná blok kódu, keď je podmienka nepravdivá, a naďalej ju vykonáva, až kým sa podmienka nestane pravdivou. Akonáhle je podmienka splnená, slučka je ukončená.

Syntax:

Robiť Dokedy (podmienka) Výpisy SAS KONIEC

Pozrime sa na ukážkový program.

DATA SampleLoop SUM = 0 VAR = 1 Do Dokedy (VAR> 15) SUM = SUM + VAR VAR + 1 KONIEC PROC TLAČ Spustiť

Kód má nasledujúci výstup.

Takto sme dokončili koncept slučiek v programovaní SAS. Všetky témy, ktoré sme doteraz študovali, hovorili o základoch programovania SAV všeobecne.

Poďme sa teraz pozrieť na niektoré štatistické postupy. Tieto postupy budú tvoriť základ pre pokročilých analytické postupy.

Prihláste sa na odber nášho kanála na YouTube a získajte nové aktualizácie ..!

Základné štatistické postupy využívajúce SAS

PROC ZNAMENÁ

Tento postup sa používa na výpočet aritmetického priemeru a štandardnej odchýlky. Pre ľudí, pre ktorých je štatistika nová, môže byť ťažké porozumieť týmto výrazom. Takže skôr ako začneme programovať a použijeme tento postup. Pokúsim sa vysvetliť, čo tieto pojmy znamenajú.

Začnime aritmetickým priemerom a pozrime sa, ako sa PROC MEANS používa v programovaní SAS na jeho výpočet.

Aritmetický priemer

Súčet hodnoty numerických premenných vydelený počtom premenných vám dáva hodnotu aritmetický priemer . Je tiež známy ako priemer a je mierou centrálnej tendencie. Mierou centrálnej tendencie je jedna hodnota, ktorá sa pokúša opísať súbor údajov identifikáciou centrálnej polohy v rámci tohto súboru údajov.

V programovaní SAS používate PROC MEANS na výpočet aritmetického priemeru. Tento postup vám umožní nájsť priemer všetkých premenných alebo niekoľkých premenných množiny údajov. Môžete tiež vytvoriť skupiny a vypočítať priemer premenných špecifických pre túto skupinu.

Syntax:

PROC MEANS DATA = DATASET Triedne premenné Variabilné premenné
  • Premenné : Premenné vo vyššie uvedenej syntaxi označujú premenné zo súboru údajov, ktorých priemer sa má vypočítať.

Znamená množinu údajov

Ak tyzadajte iba názov množiny údajov bez akýchkoľvek premenných, môžete vypočítať priemer všetkých premenných v množine údajov.

Pozrime sa na ukážkový kód. Zvažoval som preddefinovaný súbor údajov SAS nazývaný „automobily“. Nasledujúci príkaz zobrazí množinu údajov.

PROC PRINT data = sashelp.CARS Run

Obrázok nižšie zobrazuje výstup vyššie uvedeného kódu.


Teraz použijeme tento kód množiny údajov a vypočítajme priemer každej premennej v množine údajov„Autá“.

PROC ZNAMENÁ DATA = sashelp.CARS Priemer SUM MAXDEC = 2 Beh

Obrázok nižšie zobrazuje priemer všetkých premenných v sade údajov až na dve desatinné miesta.

Priemer vybraných premenných

Zadaním mien vo voľbe Var získate priemer zo zadaných premenných. Prečítajte si kód uvedený nižšie.

PROC ZNAMENÁ DATA = sashelp.CARS stredný SUM MAXDEC = 2 varné konské sily valce Spustiť

Znamená to podľa triedy

Priemer číselných premenných môžete zistiť ich usporiadaním do skupín pomocounejaký parameter na ich zoskupenie.Zvážte nasledujúci ukážkový kód. Poďme zistiť priemernú výkonnosť pre rôzne skupiny kategorizované podľa tried „značiek“ a „typov“ rôznych automobilov.

PROC MEANS DATA = sashelp.CARS MEANS SUM MAXDEC = 2 class make type var konpower Run

Obrázok nižšie zobrazuje výstup vyššie uvedeného kódu.

Poďme pokračovať v našom blogu o programovaní SAS a pozrime sa na ďalší dôležitý štatistický koncept.

Štandardná odchýlka

Štandardná odchýlka (SD) je mierka toho, ako rôznorodé sú údaje v danom súbore údajov. Matematicky vám povie, ako blízko sú jednotlivé údajové body k strednej hodnote množiny údajov. Ak je hodnota štandardnej odchýlky blízka 0, znamená to, že údajové body sú veľmi blízke priemeru súboru údajov a veľká štandardná odchýlka znamená, že údajové body sú rozložené do širokého rozsahu hodnôt.

V SAS môžete vypočítať hodnotu štandardnej odchýlky pomocou dvoch postupov. Oni sú:

  • PROC ZNAMENÁ
  • PRIESKUMY

Štandardná odchýlka pomocou PROC PROSTRIEDKOV

Štandardnú odchýlku môžete merať pomocou proc prostriedkov, musíte zvoliť HODINY možnosť v kroku PROC. Zobrazí hodnoty štandardnej odchýlky pre každú číselnú premennú v sade údajov.

Syntax:

PROC MEANS DATA = dataset STD

Zvážte tento vzorový kód, vytvorme ďalšiu množinu údajov CARS1 z množiny údajov CARS v knižnici SASHELP. Použijeme na to postup PROC SQL. Poďme zoskupiť údaje pomocou „typu“ a „značky“ automobilov a vypočítajme štandardnú odchýlku pre vybrané premenné pomocou možnosti STD s krokom PROC means.

PROC SQL vytvorí tabuľku CARS1 ako VÝBER značky, typu, výkonu, valcov, hmotnosti Z SASHELP.CARS WHERE make in ('Audi', 'BMW') RUN PROC MEANS DATA = CARS1 STD Run

Vyššie uvedený kód poskytne štandardnú odchýlku pre vybrané premenné. Nasledujúci obrázok zobrazuje výstup.

PROCESKY PRIESKUMY

Tento postup sa používa na meranie štandardnej odchýlky spolu s niektorými pokročilými funkciami, ako je meranie štandardnej odchýlky pre kategorické premenné a rozptyl.

Syntax:

PROC SURVEYMEANS možnosti štatistika-kľúčové slová Podľa premenných Premenné triedy Premenné premenných

Nasleduje popis použitých parametrov:

  • Autor: sa používa na označenie premenných použitých na vytvorenie skupín pozorovaní.
  • Trieda označuje premenné použité pre kategorické premenné.
  • Kde označuje premenné, pre ktoré sa bude SD počítať.

Pozrime sa na tento vzorový kód, ktorý popisuje použitie parametra triedy, ktorý vytvára štatistiku pre každú z hodnôt v premennej triedy.

DATA PRIESKUMU PRIESKUMU = AUTOMOBILY 1 STD Typ triedy Var typ Výkon konská sila ods štatistika výstupu = obdĺžnik Spustiť ÚDAJE O PROC TLAČI = obdĺžnik Spustiť

Na obrázkoch nižšie je znázornený výstup vyššie uvedeného kódu. Zobrazuje distribúciu údajov pre premennú „Výkon“ pre 95% interval spoľahlivosti. (Interval spoľahlivosti znamená rozsah hodnôt tak definovaných, že existuje zadaná pravdepodobnosť, že hodnota parametra leží v ňom.)

Tým sa dostávame na koniec programovacieho blogu SAS. V prípade akýchkoľvek pochybností alebo problémov s obsahom blogu ich nechajte v sekcii komentárov, najskôr ich vyriešim a odpoviem späť.

Ak sa chcete naučiť SAS a budovať si kariéru v analytickej doméne, pozrite si našu ktorá prináša živé školenie vedené inštruktorom a skúsenosti s projektmi v reálnom živote. Toto školenie vám pomôže pochopiť SAS do hĺbky a pomôže vám osvojiť si rôzne koncepty programovacieho jazyka SAS.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov a my sa vám ozveme.