SAS programiranje - naučite kako kodirati u SAS-u!



Ovaj blog o SAS programiranju upoznaje vas s konceptima programiranja SAS i pomaže vam detaljno razumjeti razne osnove SAS-a s primjerima.

Na ovom blogu predstavit ću vam neke od važnih koncepata SAS programiranja. Prije nego što započnemo, važno je da se upoznate sa SAS-om. Moj prethodni blog na Vodič za SAS pomoći će vam da razumijete SAS, njegove aplikacije i pomoći će vam da instalirate SAS University Edition, koje bismo ovdje koristili kao programsko okruženje. Pitate se koje su to vještine, koje biste trebali savladati ove godine? Također, ako planirate zakoračiti u Data Analytics, je jedan od najboljih načina da započnete s istim.

Izašao je Edureka 2019 Tech Care Guide! Najpopularnije uloge u poslu, precizni putovi učenja, perspektive industrije i još mnogo toga u vodiču. preuzimanje datoteka sada.





Dakle, bez ikakvog daljegodgoditi,krenimo sa SAS programiranjem, možemo li?

Ovaj će vam blog pomoći da razumijete sljedeće teme:



Prije nego započnemo s kodiranjem, želio bih vas upoznati s nekoliko važnih izraza koji su važni za SAS programiranje.

Osnove programiranja SAS-a

SAS Windows

Velike organizacije i instituti za obuku radije koriste SAS Windows. SAS Windows ima puno uslužnih programa koji pomažu smanjiti vrijeme potrebno za pisanje kodova.

Sljedeća slika prikazuje različite dijelove SAS Windowsa.



SAS-Windows - SAS programiranje - Edureka

  • Prozor dnevnika : To je prozor za izvršenje. Ovdje možete provjeriti izvršenje vašeg programa. Također prikazuje pogreške, upozorenja i bilješke.
  • Prozor koda :Ovaj je prozor poznat i kao prozor uređivača. Smatrajte ga praznim papirom ili bilježnicom, na koji možete upisati svoj SAS kôd.
  • Izlazni prozor : Kao što samo ime govori, ovaj prozor prikazuje izlaz programa / koda koji ste napisali u editoru.
  • Prozor rezultata : To je indeks koji navodi sve izlaze programa koji se izvode u jednoj sesiji. Budući da sadrži rezultate određene sesije, ako zatvorite softver i ponovo ga pokrenete, prozor s rezultatima bit će prazan.
  • Istražite prozor : Sadrži popis svih knjižnica u sustavu. Ovdje također možete pregledavati datoteke podržane sustavom.

Nekoliko organizacija koristi Linux, međutim, bez grafičkog korisničkog sučelja, morate pisati kod za svaki upit. Stoga je nezgodno za upotrebu.

SAS skupovi podataka

SAS skupovi podataka nazivaju se podatkovnim datotekama. Datoteke podataka sastoje se od redaka i stupaca. Redovi sadrže zapažanja, a stupciImena varijabli.

SAS varijable

SAS ima dvije vrste varijabli:

  • Numeričke varijable : Ovo je zadani tip varijable. Te se varijable koriste u matematičkim izrazima.
  • Znakovne varijable :Znakovne varijable koriste se za vrijednosti koje se ne koriste u matematičkim izrazima.
    Oni se tretiraju kao tekst ili nizovi. Varijabla postaje znakovna varijabla dodavanjem a‘$’zapalitina kraju imena varijable.

SAS knjižnice

SAS knjižnica je zbirka SAS datoteka koje su pohranjene u istoj mapi ili direktoriju na vašem računalu.

  • Privremena knjižnica : U ovoj se knjižnici skup podataka briše kad završi SAS sesija.
  • Stalna knjižnica : Skupovi podataka spremaju se trajno. Stoga su dostupni tijekom sesija.

Korisnici također mogu stvoriti ili definirati novu knjižnicu poznatu kao korisnički definirane knjižnice pomoću ključne riječi LIBNAME . To su ujedno i stalne knjižnice.

SAS programiranje: Struktura SAS koda

SAS programiranje temelji se na dva gradivna bloka:

  • PODACI Korak : DATA korak stvara SAS skup podataka, a zatim ih prosljeđuje u PROC korak
  • PROC Korak : PROC korak obrađuje podatke

SAS program trebao bi se pridržavati dolje spomenutih pravila:

  • Gotovo svaki kod započet će s DATA ili PROC korakom
  • Svaki redak SAS koda završava sa zarezom
  • SAS kôd završava s RUN ili QUIT ključnom riječi
  • SAS kodovi ne razlikuju velika i mala slova
  • Možete napisati kôd u različite retke ili možete napisati više izjava u jedan redak

Sad kad smo vidjeli nekoliko osnovnih terminologija, krenimo sa SAS programiranjem s ovim osnovnim kodom:

DATA Ulaz zaposlenika_Info Emp_ID Emp_Name $ Emp_Vertical $ datalines 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Run

U gornjem kodu stvorili smo skup podataka koji se naziva Employee_Info. Ima tri varijable, jednu numeričku varijablu kao Emp_Id i dvije znakovne varijable kao Emp_Name i Emp_Verticals. Naredba Pokreni prikazuje skup podataka u izlaznom prozoru.

Slika ispod prikazuje izlaz gore spomenutog koda.

Pretpostavimo da želite vidjeti rezultat u prikazu ispisa, pa to možete učiniti postupkom PROC PRINT, ostatak koda ostaje isti.

PODACI Unos zaposlenika_Info Emp_ID Emp_Name $ Emp_Vertical $ datalines 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Pokreni PROC PRINT DATA = Employee_Info Run

Slika ispod prikazuje izlaz gornjeg koda.

Upravo smo stvorili skup podataka i shvatili kako funkcionira postupak PRINT. Uzmimo sada gornji skup podataka i upotrijebimo ga za daljnje programiranje. Recimo da skupu podataka želimo dodati Datum pridruživanja zaposlenika. Dakle, kreiramo varijablu koja se naziva DOJ, dajemo je kao ulaz i ispisujemo rezultat.

PODACI Unos zaposlenika_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 Pokreni PROC PRINT DATA = Pokreni Employee_Info

Slika ispod prikazuje izlaz gornjeg koda. Vidljivo je da je kreirana varijabla, ali vrijednost DOJ nije ispisana. Umjesto toga, vidimo da su točke zamijenile vrijednosti datuma.


Zašto se to dogodilo? Pa, DOJ varijabla je bez sufiksa '$', što znači da će je SAS po defaultu čitati kao numeričku varijablu. No, podaci koje smo unijeli imaju poseban znak ‘/’, stoga ne ispisuju rezultat jer nisu čisto numerički podaci. Ako provjerite prozor dnevnika, vidjet ćete poruku pogreške kao 'nevaljani podaci za varijablu DOJ'

Kako ćemo sada riješiti ovaj problem? Pa, jedan od načina da se to riješi je upotreba sufiksa '$' za DOJ varijablu. Ovo će pretvoriti DOJ varijablu u znak i moći ćete ispisati vrijednosti datuma. Izvršimo promjene koda i pogledajte izlaz.

PODACI Unos zaposlenika_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. Pokreni PROC PRINT DATA = Pokreni zaposlenik_Info

Na izlaznom zaslonu prikazat će se sljedeći izlaz.


Možete vidjeti da se vrijednosti podataka prikazuju kao datumi pretvaranjem DOJ u znak. Međutim, ovo je privremeno rješenje. Da objasnim kako?

Pa, zamislite da banka ima sličan skup podataka. Skup podataka sadrži podatke o vlasniku računa poput iznosa zajma, rata,irok dospijeća rate kredita. Zamislite, imatelj je propustio svoj rok za plaćanje rate i banka želi izračunati kašnjenje. Banka će morati izračunati razliku između datuma roka i trenutnog datuma.

Ali, ako skup podataka banke sadrži datume u formatu znakova, tada banka neće moći izvršavati matematičke operacije na njemu. Ovaj problem može utjecati i na naš skup podataka. Pa kako da riješimo ovaj problem?

Sljedeći koncept pomoći će vam da prebrodite ovaj problem.

Neformati i formati u SAS-u

Važno je da dobro razumijete ovu temu ako želite biti dobri u programiranju SAS-a.Ako se sjećate, ranije sam spomenuo da SAS ima dvije standardne vrste varijabli:

  • Numerički
  • Lik

Kada SAS naiđe na nestandardne varijable, SAS će izbaciti pogrešku ili nećete dobiti željeni izlaz. Da bi prevladao ovaj problem, koristi se SASInformiranii formati.

Saznaj više

Neformati se obično koriste za čitanje ili unos podataka iz vanjskih datoteka ili ravnih datoteka (poputtekstualne datoteke ili sekvencijalne datoteke). Informat upućuje SAS kako čitatipodaci u SAS varijable. SAS ima tri vrste informacija:znak, broj i datum / vrijeme. Neformati se imenuju prema sljedećemstruktura sintakse:

  • Informat o znakovima: $ INFORMATw.
  • Numerički informirani: INFORMATw.d
  • Obaviješteno o datumu i vremenu: INFORMATw.

Oznaka '$' označava informativni znak. INFORMAT se odnosi na ponekad neobavezneNaziv SAS informata. Oznaka 'w' označava širinu (bajtova ili broj stupaca)varijabilna. Oznaka 'd' koristi se za numeričke podatke za određivanje broja znamenki s desne stranedecimalno mjesto. Svi neformatori moraju sadržavati decimalnu zarez (.) Kako bi SAS mogao
razlikovati informaciju od SAS varijable.

Vratimo se našem prethodnom kodu i provjerimo pomaže li nam podaci o datumu / vremenu. Pa promijenimo kod prema tome i dodajte mu datumski podatak na sljedeći način:

DATA Unos zaposlenika_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 Pokreni PROC PRINT DATA = Employee_Info Run

Redak broj 3 u kodu nalaže SAS-u da pročita varijablu ‘datum pridruživanja’ (DOJ) koristeći datum
informat MMDDYYw. Za svako datumsko polje zauzima 10 mjesta, kvalifikator 'w.' Jepostavljeno na 10.

Izlaz koda izgledao bi kako slijedi.

Rezultat pokazuje da još uvijek nemamo željeni rezultat, umjesto toga DOJ stupac sadrži neke numeričke vrijednosti, a ne datume koje smo naveli. Zašto je to? Pa, kad se datum pročita s informacijom o datumu, SAS datum pohranjuje kao broj. To znači da se čita kao broj dana između datuma i 1. siječnja 1960. (Na primjer: 15.3.1994. Pohranjen je kao 12492).

Razlog tome je što SAS ima tri odvojena brojača koji prate datume i vrijeme. Ovi brojači datuma započeli su s nulom 1. siječnja 1960. Stoga datumi prije 1. siječnja 1960. imaju negativne vrijednosti, a svaki datum poslije ima pozitivnu vrijednost. Svakog dana u ponoć brojač datuma uvećava se za jedan.

Jedna priča kaže da su osnivači SAS-a željeli upotrijebiti približni datum rođenja sustava IBM 370, a odabrali su 1. siječnja 1960. godine kao lako upamtivnu aproksimaciju.

Sad kad znate razlog zašto je stupac DOJ prikazao te brojeve, pokušajmo riješiti ovaj problem. Da bismo prevladali ovaj problem koristimo format.

Format

Neformati su upute za čitanje podataka, dok su formati upute za prikaz iliizlazni podaci.Definiranje formata za varijablu je način na koji kažete SAS-u da prikaže vrijednosti u varijabli. Formati su grupirani u iste tri klase kao i neformatori (znakovi, brojevi i datum i vrijeme) i također uvijek sadrže točku.

Opći oblik izjave o formatu je:

  • FORMAT ime-varijable FORMAT-NAME.

Vratimo se našem kodu koji ima skup podataka Employee_Info da vidimo možemo li pravilno prikazati datum pomoću naredbe FORMAT.

DATA Unos zaposlenika_Info Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. FORMAT 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 Pokreni PROC PRINT DATA = Employee_Info Run

Koristili smo naredbu FORMAT u retku broj 4 u gornjem kodu. Sljedeći izlazni zaslon pružit će nam željeni izlaz.

Uspješno smo prikazali skup podataka pomoću naredbe Format datuma. Nadam se da ste razumjeli kako se koriste format i informat.Krenimo s našim blogom za programiranje SAS-a i pogledajmo još jedan važan koncept.

SAS petlje

Dok radimo SAS programiranje, možemo se susresti sa situacijama u kojima više puta moramo izvršiti ablok koda nekoliko puta. Nezgodno je iznova i iznova pisati isti niz izjava. Ovdje se petlje pojavljuju na slici. U SAS-u se naredba Do koristi za implementaciju petlji. Poznat je i pod nazivom Do Loop. Slika ispod prikazujeopći oblik naredbi petlje Do u SAS-u.

Slijede vrste DO petlji u SAS-u:

  • Indeks : Petlja se nastavlja od početne vrijednosti do zaustavne vrijednosti indeksne varijable.
  • Dok : Petlja se nastavlja sve dok Dok stanje postaje lažno.
  • Do : Petlja se nastavlja do Do stanje postaje Istina.

Napravite indeksnu petlju

Kao početnu i zaustavnu vrijednost koristimo indeksnu varijablu Napravite indeksnu petlju . SAS izrazi izvršavaju se više puta dok varijabla indeksa ne dosegne konačnu vrijednost.
Sintaksa:

Izvršite indexvariable = početnu vrijednost do konačnu vrijednost SAS izrazi Kraj

Pogledajmo uzorak koda kako bismo razumjeli Do Index Loop. U donjem kodu VAR je indeksna varijabla.

PODACI SampleLoop SUM = 0 Napravite VAR = 1 do 10 SUM = SUM + VAR KRAJ PROC. ISPIS PODATAKA = SampleLoop Run

Kada izvršite gornji kod, dobit ćete sljedeći izlaz.

Do While Loop

The Učini dok petlja koristi uvjet WHILE. Ova petlja izvršava blok koda kada je uvjet istinit i nastavlja ga izvršavati sve dok uvjet ne postane lažan. Jednom kada uvjet postane netačan, petlja se prekida.

Sintaksa:

kako pretvoriti niz u datum
Učinite dok (uvjet) SAS izjave završavaju

Sljedeći uzorak koda pomoći će vam da razumijete petlju DO WHILE.

PODACI SampleLoop SUM = 0 VAR = 1 Učinite dok (VAR<15) SUM = SUM + VAR VAR+1 END PROC PRINT DATA = SampleLoop Run 

Gornji kod dat će vam slijedeće rezultate.

Radite do petlje

Petlja Do Do upotrebljava Do Ova petlja izvršava blok koda kada je uvjet netačan i nastavlja ga izvršavati sve dok uvjet ne postane istinit. Jednom kada uvjet postane istinit, petlja se prekida.

Sintaksa:

Učiniti do (uvjet) SAS izjave END

Pogledajmo primjer programa.

PODACI SampleLoop SUM = 0 VAR = 1 Do (VAR> 15) SUM = SUM + VAR VAR + 1 KRAJ PROC TISAK Pokreni

Kôd ima sljedeći izlaz.

Tako smo završili koncept petlji u SAS programiranju. Sve teme koje smo do sada proučavali govorile su o osnovama SAS programiranja općenito.

Pogledajmo sada neke statističke postupke. Ovi će postupci činiti osnovu za napredne analitički postupci.

Pretplatite se na naš youtube kanal da biste dobivali nova ažuriranja ..!

Osnovni statistički postupci koji koriste SAS

PROC SREDSTVA

Ovaj se postupak koristi za izračunavanje aritmetičke sredine i standardne devijacije. Ljudima koji su novi u statistici može biti teško razumjeti ove pojmove. Dakle, prije nego započnemo s kodiranjem i upotrijebimo ovaj postupak. Pokušat ću objasniti što ti pojmovi znače.

Počnimo s aritmetičkom sredinom i pogledajte kako se PROC MEANS koristi u SAS programiranju za njegovo izračunavanje.

Aritmetička sredina

Zbroj vrijednosti numeričkih varijabli, podijeljen s brojem varijabli daje vam aritmetička sredina . Poznata je i kao srednja vrijednost i mjera je središnje tendencije. Mjera središnje tendencije jedna je vrijednost koja pokušava opisati skup podataka identificiranjem središnjeg položaja unutar tog skupa podataka.

U SAS programiranju za izračun aritmetičke sredine koristite PROC MEANS. Ovaj postupak omogućuje vam da pronađete srednju vrijednost svih varijabli ili nekoliko varijabli skupa podataka. Također možete formirati grupe i izračunati sredinu varijabli specifičnih za tu skupinu.

Sintaksa:

PROC ZNAČI PODATKE = DATASET Varijable klase Var varijable
  • Varijable : Varijable u gornjoj sintaksi označavaju varijable iz skupa podataka čija se srednja vrijednost izračunava.

Srednja vrijednost skupa podataka

Ako tiunesite samo naziv skupa podataka bez ikakvih varijabli, možete izračunati srednju vrijednost svih varijabli u skupu podataka.

Pogledajmo primjer koda. Razmotrio sam unaprijed definirani SAS skup podataka koji se naziva 'automobili'. Sljedeća naredba prikazat će skup podataka.

PROC PRINT podaci = sashelp.CARS Pokreni

Slika ispod prikazuje izlaz gornjeg koda.


Sada se poslužimo ovim kodom skupa podataka i izračunajmo sredinu svake varijable u skupu podataka'automobili'.

PROC ZNAČI PODATKE = sashelp.CARS Prosječna SUM MAXDEC = 2 Trčanje

Slika ispod prikazuje srednju vrijednost svih varijabli u skupu podataka do dvije decimale.

Srednja vrijednost odabranih varijabli

Davanjem imena u opciji Var možete dobiti srednju vrijednost navedenih varijabli. Molimo pogledajte donji kod.

PROC ZNAČI PODATKE = sashelp.CARS znači SUM MAXDEC = 2 var konjske snage cilindra

Mean By Class

Sredinu numeričkih varijabli možete pronaći tako da ih organizirate u skupine pomoćuneki parametar za njihovo grupiranje.Razmotrite sljedeći uzorak koda. Doznajmo srednju vrijednost konjskih snaga za različite skupine kategorizirane po klasama 'izrada' i 'tip' različitih automobila.

PROC ZNAČI PODATKE = sashelp.CARS ZNAČI SUM MAXDEC = 2 klasa make type var konjske snage Trčanje

Slika dolje prikazuje izlaz gornjeg koda.

Nastavimo s našim blogom SAS programiranja i pogledajmo još jedan važan statistički koncept.

Standardno odstupanje

Standardno odstupanje (SD) mjera je koliko su podaci različiti u danom skupu podataka. Matematički vam govori koliko je blizu svaka točka podataka srednjoj vrijednosti skupa podataka. Ako je vrijednost standardne devijacije blizu 0, to znači da su podatkovne točke vrlo blizu srednje vrijednosti skupa podataka, a visoka standardna devijacija pokazuje da su podatkovne točke raspoređene u širokom rasponu vrijednosti.

U SAS-u možete izračunati vrijednost standardnog odstupanja pomoću dva postupka. Oni su:

  • PROC SREDSTVA
  • ISTRAŽIVANJA

Standardno odstupanje pomoću PROC SREDSTAVA

Standardno odstupanje možete izmjeriti pomoću sredstava proc, morate odabrati SATI opcija u koraku PROC. Prikazat će vrijednosti standardnog odstupanja za svaku numeričku varijablu u skupu podataka.

Sintaksa:

PROC ZNAČI PODATKE = skup podataka STD

Razmotrite ovaj uzorak koda, kreirajmo još jedan skup podataka CARS1 iz skupa podataka CARS u knjižnici SASHELP. Da bismo to učinili, prepustili ćemo se proceduri PROC SQL. Skupimo podatke pomoću tipa „tip“ i „marka“ automobila i izračunajmo standardno odstupanje za odabrane varijable pomoću opcije STD s korakom PROC sredstva.

PROC SQL kreira tablicu CARS1 kao SELECT marka, tip, konjska snaga, cilindri, težina OD SASHELP.CARS WHERE make in ('Audi', 'BMW') RUN PROC ZNAČI PODATKE = CARS1 STD Run

Gornji kod dat će Standardno odstupanje za odabrane varijable. Sljedeća slika prikazuje izlaz.

ISPITIVANJA PROC

Ovaj se postupak koristi za mjerenje standardne devijacije, zajedno s nekim unaprijed značajkama poput mjerenja standardne devijacije za kategorijske varijable i varijancu.

Sintaksa:

PROC SURVEYMEANS opcije statistika-ključne riječi Po varijablama Varijable klase Var varijable

Slijedi opis korištenih parametara:

  • Po koristi se za označavanje varijabli koje se koriste za stvaranje grupa promatranja.
  • Razred označava varijable korištene za kategorijske varijable.
  • Gdje označava varijable za koje će se izračunati SD.

Pogledajmo ovaj uzorak koda koji opisuje upotrebu parametra klase, koji stvara statistiku za svaku od vrijednosti u varijabli klase.

PROC ANKETSKI PODACI = CARS1 STD Tip klase Var tip konjske snage ods statistika izlaza = pravokutnik Run PROC PRINT DATA = pravokutnik Run

Sljedeće slike prikazuju izlaz gornjeg koda. Prikazuje raspodjelu podataka za varijablu „Konjska snaga“ za interval pouzdanosti od 95%. (Interval pouzdanosti znači raspon vrijednosti tako definiran da postoji navedena vjerojatnost da vrijednost parametra leži u njemu.)

Dakle, to nas dovodi do kraja SAS-ovog programskog bloga. U slučaju bilo kakvih nedoumica ili problema sa sadržajem bloga, ostavite ih u odjeljku za komentare, najprije ću ih riješiti i odgovoriti.

Ako želite naučiti SAS i izgraditi karijeru u domeni analitike, pogledajte našu koja dolazi s treningom uživo pod vodstvom instruktora i iskustvom u stvarnom životu. Ovaj trening pomoći će vam da dublje razumijete SAS i ovladati raznim konceptima programskog jezika SAS.

Imate pitanje za nas? Molimo spomenite to u odjeljku za komentare i javit ćemo vam se.