Programiranje SAS - Naučite se kodirati v SAS!



Ta spletni dnevnik o programiranju SAS vas seznani s koncepti programiranja SAS in vam s primeri pomaga podrobno razumeti različne osnove SAS.

V tem blogu vam bom predstavil nekaj pomembnih konceptov programiranja SAS. Preden začnemo, je pomembno, da se seznanite s SAS. Moj prejšnji blog na Vadnica za SAS vam bo pomagal razumeti SAS, njegove aplikacije in vam bo pomagal namestiti SAS University Edition, ki bi ga tukaj uporabljali kot programsko okolje. Če se sprašujete, katere veščine bi morali obvladati letos? Če nameravate vstopiti v podatkovno analitiko, je eden najboljših načinov za začetek istih.

Izšel je vodnik za tehnično kariero Edureka 2019! Najbolj vroče delovne vloge, natančne učne poti, panoga in drugo v priročniku. Prenesi zdaj.





Torej brez nadaljnjegazamuda,začnimo s programiranjem SAS, kajne?

Ta spletni dnevnik vam bo pomagal razumeti naslednje teme:



Preden začnemo s kodiranjem, bi vas rad seznanil z nekaj pomembnimi izrazi, ki so pomembni za programiranje SAS.

Osnove programiranja SAS

SAS Windows

Velike organizacije in inštituti za raje uporabljajo SAS Windows. SAS Windows ima veliko pripomočkov, ki pomagajo skrajšati čas, potreben za pisanje kod.

Naslednja slika prikazuje različne dele sistema SAS Windows.



SAS-Windows - Programiranje SAS - Edureka

  • Okno dnevnika : Je okno za izvedbo. Tu lahko preverite izvajanje vašega programa. Prikaže tudi napake, opozorila in opombe.
  • Okno kode :To okno je znano tudi kot okno urejevalnika. Vzemite ga kot prazen papir ali beležko, kamor lahko napišete kodo SAS.
  • Izhodno okno : Kot že ime pove, to okno prikazuje rezultate programa / kode, ki jo napišete v urejevalniku.
  • Okno z rezultati : To je indeks, ki navaja vse rezultate programov, ki se izvajajo v eni seji. Ker vsebuje rezultate določene seje, če zaprete programsko opremo in jo znova zaženete, bo okno z rezultati prazno.
  • Raziščite okno : Vsebuje seznam vseh knjižnic v sistemu. Tu lahko pobrskate tudi po sistemsko podprtih datotekah.

Nekaj ​​organizacij uporablja Linux, vendar brez grafičnega uporabniškega vmesnika morate za vsako poizvedbo napisati kodo. Zato je za uporabo neprijetno.

Nabori podatkov SAS

Nabori podatkov SAS se imenujejo kot podatkovne datoteke. Podatkovne datoteke predstavljajo vrstice in stolpce. Vrstice vsebujejo opažanja in stolpciImena spremenljivk.

Spremenljivke SAS

SAS ima dve vrsti spremenljivk:

  • Numerične spremenljivke : To je privzeta vrsta spremenljivke. Te spremenljivke se uporabljajo v matematičnih izrazih.
  • Znakovne spremenljivke :Znakovne spremenljivke se uporabljajo za vrednosti, ki se ne uporabljajo v matematičnih izrazih.
    Obravnavani so kot besedilo ali nizi. Spremenljivka s spremenljivko postane spremenljivka znakov‘$’ignna koncu imena spremenljivke.

Knjižnice SAS

Knjižnica SAS je zbirka datotek SAS, ki so shranjene v isti mapi ali imeniku v računalniku.

  • Začasna knjižnica : V tej knjižnici se nabor podatkov izbriše, ko se seja SAS konča.
  • Stalna knjižnica : Nabori podatkov so trajno shranjeni. Zato so na voljo med sejami.

Uporabniki lahko s ključno besedo ustvarijo ali definirajo tudi novo knjižnico, imenovano uporabniško definirane knjižnice LIBNAME . To so tudi stalne knjižnice.

Programiranje SAS: Struktura kode SAS

Programiranje SAS temelji na dveh gradnikih:

  • PODATKI Korak : Korak DATA ustvari nabor podatkov SAS in nato podatke posreduje v korak PROC
  • PROC Korak : Korak PROC obdeluje podatke

Program SAS mora upoštevati spodaj navedena pravila:

  • Skoraj vsaka koda se začne z DATA ali s korakom PROC
  • Vsaka vrstica kode SAS se konča s podpičjem
  • Koda SAS se konča s ključno besedo RUN ali QUIT
  • Kode SAS ne razlikujejo med velikimi in malimi črkami
  • Kodo lahko napišete v različne vrstice ali v eno vrstico

Zdaj, ko smo videli nekaj osnovnih terminologij, začnimo s programiranjem SAS s to osnovno kodo:

PODATKI Zaposlen_Info vhod Emp_ID Emp_Name $ Emp_Vertical $ datalines 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Run

V zgornji kodi smo ustvarili nabor podatkov, imenovan Employee_Info. Ima tri spremenljivke, eno številsko spremenljivko kot Emp_Id in dve spremenljivki znakov kot Emp_Name in Emp_Verticals. Ukaz Zaženi prikaže nabor podatkov v izhodnem oknu.

Spodnja slika prikazuje izhod zgoraj omenjene kode.

Recimo, da želite videti rezultat v pogledu tiskanja, lahko pa to storite s postopkom PROC PRINT, preostala koda ostane enaka.

PODATKI Zaposleni_Info vhod 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

Spodnja slika prikazuje izhod zgornje kode.

Pravkar smo ustvarili nabor podatkov in razumeli, kako deluje postopek PRINT. Zdaj pa vzemimo zgornji nabor podatkov in ga uporabimo za nadaljnje programiranje. Recimo, da želimo naboru podatkov dodati datum pridružitve zaposlenega. Tako ustvarimo spremenljivko, imenovano DOJ, jo damo kot vhod in natisnemo rezultat.

PODATKI Zaposleni_Info vnos 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 Zaženi PROC PRINT DATA = Zaposleni_Info Zaženi

Spodnja slika prikazuje izhod zgornje kode. Vidno je, da je bila ustvarjena spremenljivka, vendar vrednost DOJ ni bila natisnjena. Namesto tega vidimo, da so pike nadomestile datumske vrednosti.


Zakaj se je to zgodilo? No, spremenljivka DOJ je brez končnice '$', kar pomeni, da jo bo SAS privzeto prebral kot številsko spremenljivko. Podatki, ki smo jih vnesli, imajo poseben znak '/', zato ne natisnejo rezultata, ker niso zgolj numerični podatki. Če preverite okno dnevnika, boste videli sporočilo o napaki kot 'neveljavni podatki za spremenljivko DOJ'

iskanje največjega števila v nizu java

Kako naj zdaj rešimo to težavo? No, eden od načinov, kako to rešiti, je uporaba končnice ‘$’ za DOJ spremenljivko. To bo pretvorilo spremenljivko DOJ v znak in lahko boste natisnili vrednosti datuma. Spremenimo kodo in si oglejmo rezultate.

PODATKI Zaposlen_Info vnos 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 = Zaposleni_Info Run

Na izhodnem zaslonu se prikaže naslednji izhod.


S pretvorbo DOJ v znak lahko vidite, da so vrednosti podatkov prikazane kot datumi. Vendar je to začasna rešitev. Naj razložim, kako?

No, predstavljajte si, da ima banka podoben nabor podatkov. Nabor podatkov vsebuje podatke o imetniku računa, kot so znesek posojila, obroki,inzapadlost obroka posojila. Predstavljajte si, da je imetnik zamudil svoj rok za plačilo obroka in banka želi izračunati zamudo. Banka bo morala izračunati razliko med datumom roka in trenutnim datumom.

Če pa ima nabor podatkov banke datume v obliki znakov, potem banka na njem ne bo mogla izvajati matematičnih operacij. Ta težava lahko vpliva tudi na naš nabor podatkov. Kako torej rešiti to težavo?

Naslednji koncept vam bo pomagal premagati to težavo.

Neformati in formati v SAS

Pomembno je, da to temo dobro razumete, če želite dobro obvladati programiranje SAS.Če se lahko spomnite, sem prej omenil, da ima SAS dva standardna tipa spremenljivk:

  • Številsko
  • Značaj

Ko SAS naleti na nestandardne spremenljivke, bo SAS pripravil napako ali pa ne boste dobili želenega izhoda. Da bi rešili to težavo, uporablja SASObveščeniin formati.

Izvedi več

Neformati se običajno uporabljajo za branje ali vnos podatkov iz zunanjih datotek ali ploščatih datotek (na primerbesedilne datoteke ali zaporedne datoteke). Informat SAS daje navodila, kako bratipodatke v spremenljivke SAS. SAS ima tri vrste informacij:znak, številko in datum / čas. Neformati so poimenovani v skladu z naslednjimskladenjska struktura:

  • Znakovna informacija: $ INFORMATw.
  • Številčno obveščeno: INFORMATw.d
  • Datum / čas obveščenosti: INFORMATw.

Oznaka '$' označuje informacijski znak. INFORMAT se nanaša na včasih neobveznoIme SAS informacije. Oznaka 'w' označuje širino (bajtov ali število stolpcev)spremenljivka. Znak „d“ se uporablja za numerične podatke za določanje števila številk na desni stranidecimalno mesto. Vsi neformatorji morajo vsebovati decimalno vejico (.), Da lahko SAS
razlikuje informacijo od spremenljivke SAS.

Vrnimo se k prejšnji kodi in preverimo, ali nam datum / čas pomaga. Zato ustrezno spremenimo kodo in ji dodamo informacijo o datumu, kot sledi:

PODATKI Zaposlen_Info vnos 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 Zaženi PROC TISK PODATKOV = Employee_Info Run

Vrstica številka 3 v kodi nalaga SAS, naj prebere spremenljivko „datum pridružitve“ (DOJ) z uporabo datuma
informat MMDDYYw. Za vsako datumsko polje zavzame 10 presledkov, kvalifikator „w.“ Jenastavljeno na 10.

Izhod kode bi bil videti takole.

Rezultat kaže, da še vedno nimamo želenega rezultata, namesto tega stolpec DOJ vsebuje nekatere številske vrednosti in ne datumov, ki smo jih določili. Zakaj pa zdaj? No, ko je datum prebran z informacijo o datumu, SAS datum shrani kot številko. To pomeni, da se bere kot število dni med datumom in 1. januarjem 1960 (na primer: 15.3.1994 je shranjeno kot 12492).

Razlog za to je, da ima SAS tri ločene števce, ki beležijo datume in čas. Ti števci datumov so se začeli z ničlo 1. januarja 1960. Zato imajo datumi pred 1. 1. 1960 negativne vrednosti in kateri koli datum pozneje ima pozitivno vrednost. Vsak dan ob polnoči se števec datumov poveča za eno.

Ena zgodba pravi, da so ustanovitelji SAS želeli uporabiti približen datum rojstva sistema IBM 370 in so si 1. januarja 1960 izbrali približek, ki si ga je lahko zapomniti.

Zdaj, ko poznate razlog, zakaj je stolpec DOJ prikazal te številke, poskusimo rešiti to težavo. Da bi odpravili to težavo, uporabimo Format.

Oblika

Neformati so navodila za branje podatkov, formati pa navodila za prikaz ozizhodni podatki.Določanje oblike za spremenljivko je, kako poveš SAS, da prikaže vrednosti v spremenljivki. Formati so razvrščeni v iste tri razrede kot neformatorji (znakovni, številski in datum-čas) in vedno vsebujejo tudi piko.

Splošna oblika izjave o obliki je:

  • FORMAT ime spremenljivke FORMAT-NAME.

Vrnimo se k naši kodi z naborom podatkov Employee_Info, da preverimo, ali lahko z ukazom FORMAT pravilno prikažemo datum.

PODATKI Zaposlen_Info vnos 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 Zaženi PROC TISK PODATKOV = Employee_Info Run

V zgornji kodi smo uporabili ukaz FORMAT v vrstici številka 4. Naslednji izhodni zaslon nam bo dal želeni izhod.

Nabor podatkov smo uspešno prikazali z ukazom Oblika zapisa datuma. Upam, da ste razumeli, kako uporabljati format in informat.Nadaljujmo z našim programskim blogom SAS in si oglejmo še en pomemben koncept.

Zanke SAS

Med programiranjem SAS lahko naletimo na situacije, ko moramo večkrat izvesti ablok kode večkrat. Neprijetno je vedno znova pisati isti niz izjav. Tu se prikažejo zanke. V SAS se za izvajanje zank uporablja stavek Do. Znano je tudi kot Do Loop. Spodnja slika prikazujesplošna oblika stavkov Do zanke v SAS.

Sledijo vrste zank DO v SAS:

  • Kazalo : Zanka se nadaljuje od začetne vrednosti do končne vrednosti spremenljivke indeksa.
  • Medtem : Zanka se nadaljuje, dokler Medtem stanje postane napačno.
  • Dokler : Zanka se nadaljuje do Dokler stanje postane True.

Naredite indeksno zanko

Spremenljivko indeksa uporabljamo kot začetno in končno vrednost za Naredite indeksno zanko . Stavki SAS se izvajajo večkrat, dokler spremenljivka indeksa ne doseže končne vrednosti.
Sintaksa:

Naredite indeks spremenljivke = začetna vrednost do končna vrednost Izjave SAS Konec

Oglejmo si vzorčno kodo, da bomo razumeli Do Index Loop. V spodnji kodi je VAR indeksna spremenljivka.

PODATKI SampleLoop SUM = 0 Ali VAR = 1 do 10 SUM = SUM + VAR KONEC PROC TISK PODATKOV = SampleLoop Run

Ko zaženete zgornjo kodo, boste dobili naslednji izhod.

Ali medtem ko zanko

The Naredi medtem zanka uporablja pogoj WHILE. Ta zanka izvrši blok kode, ko je pogoj resničen, in ga nadaljuje, dokler pogoj ne postane napačen. Ko pogoj postane napačen, se zanka prekine.

Sintaksa:

Izvedi SAS Do (pogoj) End

Naslednja vzorčna koda vam bo pomagala razumeti zanko DO WHILE.

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

Zgornja koda vam bo dala naslednji izhod.

Ali do Loop

Zanka Do Do uporablja Dokler Ta zanka izvrši blok kode, kadar je pogoj neresničen in ga nadaljuje, dokler pogoj ne postane resničen. Ko pogoj postane resničen, se zanka prekine.

Sintaksa:

java najti največje število v matriki
Ali do (pogoj) stavkov SAS END

Oglejmo si vzorčni program.

PODATKI SampleLoop SUM = 0 VAR = 1 Do (VAR> 15) SUM = SUM + VAR VAR + 1 KONEC PROC PRINT Zaženi

Koda ima naslednji izhod.

Tako smo končali koncept zank pri programiranju SAS. Vse teme, ki smo jih do zdaj preučevali, so govorile o osnovah programiranja SAS na splošno.

Zdaj pa si oglejmo nekaj statističnih postopkov. Ti postopki bodo osnova za napredne analitični postopki.

Naročite se na naš youtube kanal in prejemajte nove posodobitve ..!

Osnovni statistični postopki s pomočjo SAS

PROC POMENI

Ta postopek se uporablja za izračun aritmetične sredine in standardnega odklona. Ljudem, ki so novi v statistiki, je težko razumeti te izraze. Preden začnemo s kodiranjem in uporabimo ta postopek. Poskusil bom razložiti, kaj ti izrazi pomenijo.

Začnimo z aritmetično sredino in si oglejmo, kako se PROC MEANS uporablja pri programiranju SAS za izračun.

Aritmetična sredina

Vsota vrednosti številskih spremenljivk, deljena s številom spremenljivk, vam daje aritmetična sredina . Znano je tudi kot povprečje in je merilo osrednje težnje. Merilo centralne tendence je ena sama vrednost, ki poskuša opisati niz podatkov z identifikacijo osrednjega položaja znotraj tega niza podatkov.

Pri programiranju SAS za izračun aritmetične sredine uporabite PROC MEANS. Ta postopek vam omogoča, da najdete povprečje vseh spremenljivk ali nekaj spremenljivk nabora podatkov. Lahko tudi oblikujete skupine in izračunate povprečje spremenljivk, značilnih za to skupino.

Sintaksa:

PROC POMENI PODATKE = Spremenljivke razreda DATASET Var spremenljivke
  • Spremenljivke : Spremenljivke v zgornji sintaksi kažejo spremenljivke iz nabora podatkov, katerih sredino je treba izračunati.

Povprečje nabora podatkov

Če tiČe navedete samo ime nabora podatkov brez spremenljivk, lahko izračunate sredino vseh spremenljivk v naboru podatkov.

Oglejmo si vzorčno kodo. Upošteval sem vnaprej določen nabor podatkov SAS, imenovan 'avtomobili'. Naslednji ukaz bo prikazal nabor podatkov.

PROC PRINT podatki = sashelp.CARS Zaženi

Spodnja slika prikazuje izhod zgornje kode.


Zdaj uporabimo to kodo nabora podatkov in izračunamo povprečje vsake spremenljivke v naboru podatkov'Avtomobili'.

PROC POMENI PODATKE = sashelp.CARS pomeni SUM MAXDEC = 2 tek

Spodnja slika prikazuje povprečje vseh spremenljivk v naboru podatkov do dveh decimalnih mest.

Srednja vrednost izbranih spremenljivk

Če navedete imena v možnosti Var, lahko dobite sredino določenih spremenljivk. Glejte spodnjo kodo.

PROC POMENI PODATKE = sashelp.CARS pomeni SUM MAXDEC = 2 var konjskih moči

Srednje po razredu

Povprečje številskih spremenljivk lahko poiščete tako, da jih z uporabo razvrstite v skupinenekaj parametrov za njihovo razvrščanje.Razmislite o naslednjem vzorcu kode. Ugotovimo povprečno moč konjskih moči za različne skupine, razvrščene po razredih 'znamka' in 'tip' različnih avtomobilov.

PROC POMENI PODATKE = sashelp.CARS POMENI SUM MAXDEC = 2 razred make type var horsepower Run

Spodnja slika prikazuje izhod zgornje kode.

kako zbrati programe Java

Nadaljujmo z našim blogom SAS Programming in si oglejmo še en pomemben statistični koncept.

Standardni odklon

Standardni odklon (SD) je merilo, kako različni so podatki v danem naboru podatkov. Matematično vam pove, kako blizu je posamezna podatkovna točka do srednje vrednosti nabora podatkov. Če je vrednost standardnega odklona blizu 0, to pomeni, da so podatkovne točke zelo blizu srednje vrednosti nabora podatkov, visok standardni odklon pa pomeni, da so podatkovne točke razporejene v širokem razponu vrednosti.

V SAS lahko vrednost standardnega odklona izračunate z dvema postopkoma. To so:

  • PROC POMENI
  • ANKETSKA SREDSTVA

Standardni odklon z uporabo PROC SREDSTEV

Standardni odklon lahko izmerite s sredstvi proc, izbrati morate URE možnost v koraku PROC. Prikazala bo vrednosti standardnega odklona za vsako številsko spremenljivko v naboru podatkov.

Sintaksa:

PROC POMENI PODATKE = nabor podatkov STD

Upoštevajte to vzorčno kodo, ustvarimo še en nabor podatkov CARS1 iz nabora podatkov CARS v knjižnici SASHELP. Za to smo uporabili postopek PROC SQL. Skupimo podatke z uporabo tipa „tip“ in „znamka“ avtomobilov in izračunamo standardni odklon za izbrane spremenljivke z uporabo možnosti STD s korakom PROC pomeni.

PROC SQL ustvari tabelo CARS1 as SELECT znamka, tip, konjska moč, valji, teža FROM SASHELP.CARS WHERE make in ('Audi', 'BMW') RUN PROC POMENI PODATKE = CARS1 STD Run

Zgornja koda bo podala standardni odklon za izbrane spremenljivke. Naslednja slika prikazuje izhod.

ANKETA ZA PROC

Ta postopek se uporablja za merjenje standardnega odklona skupaj z nekaterimi naprednimi funkcijami, kot je merjenje standardnega odklona za kategorične spremenljivke in varianco.

Sintaksa:

PROC SURVEYMEANS možnosti statistika-ključne besede Po spremenljivkah Spremenljivke razreda Var spremenljivke

Sledi opis uporabljenih parametrov:

  • Avtor se uporablja za označevanje spremenljivk, ki se uporabljajo za ustvarjanje skupin opazovanj.
  • Razred označuje spremenljivke, uporabljene za kategorične spremenljivke.
  • Kje označuje spremenljivke, za katere se izračuna SD.

Oglejmo si to vzorčno kodo, ki opisuje uporabo parametra razreda, ki ustvarja statistiko za vsako vrednost v spremenljivki razreda.

PROC SURVEYMEANS DATA = CARS1 STD Tip razreda Var type type konjske moči ods output statistics = pravokotnik Run PROC PRINT DATA = pravokotnik Run

Spodnje slike prikazujejo rezultate zgornje kode. Prikazuje porazdelitev podatkov za spremenljivko „Konjska moč“ za 95-odstotni interval zaupanja. (Interval zaupanja pomeni obseg vrednosti, ki je tako opredeljen, da obstaja določena verjetnost, da je vrednost parametra v njem.)

Tako smo prišli do konca spletnega dnevnika za programiranje SAS. Če imate kakršen koli dvom ali težavo z vsebino spletnega dnevnika, jih pustite v oddelku za komentarje. Najprej jih bom rešil in odgovoril nazaj.

Če se želite naučiti SAS in si ustvariti kariero na področju analitike, si oglejte našo ki prihaja z usposabljanjem pod vodstvom inštruktorjev v živo in izkušnjami iz resničnih projektov. Ta trening vam bo pomagal poglobljeno razumeti SAS in vam pomagal obvladati različne koncepte programskega jezika SAS.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje in se vam bomo javili.