Programování SAS - Zjistěte, jak kódovat v SAS!

Tento blog o programování SAS vám představí koncepty programování SAS a pomůže vám podrobně pochopit různé základy SAS s příklady.

V tomto blogu vám představím některé důležité koncepty programování SAS. Než začneme, je důležité se se SASem dobře seznámit. Můj předchozí blog na Výukový program SAS vám pomůže porozumět SAS, jejím aplikacím a pomůže vám nainstalovat SAS University Edition, kterou bychom zde používali jako programovací prostředí. Zajímá vás, jaké jsou dovednosti, které byste měli letos zvládnout? Pokud jste také plánovali vstoupit do analýzy dat, je jedním z nejlepších způsobů, jak začít se stejným.

Edureka 2019 Tech Career Guide je venku! Nejžhavější pracovní pozice, přesné cesty učení, výhled odvětví a další v příručce. Stažení Nyní.





Takže bez dalšíhozpoždění,pojďme začít s programováním SAS, že?

Tento blog vám pomůže porozumět následujícím tématům:



Než začneme programovat, rád bych vás seznámil s několika důležitými pojmy, které jsou důležité pro programování SAS.

Základy programování SAS

SAS Windows

Velké organizace a vzdělávací instituce preferují použití SAS Windows. SAS Windows má mnoho nástrojů, které pomáhají zkrátit čas potřebný pro psaní kódů.

Následující obrázek ukazuje různé části SAS Windows.



SAS-Windows - Programování SAS - Edureka

  • Okno protokolu : Je to okno provádění. Zde můžete zkontrolovat provedení vašeho programu. Také zobrazuje chyby, varování a poznámky.
  • Okno kódu :Toto okno se také nazývá editorové okno. Vezměte to jako prázdný papír nebo poznámkový blok, kde můžete napsat svůj kód SAS.
  • Výstupní okno : Jak název napovídá, v tomto okně se zobrazuje výstup programu / kódu, který napíšete do editoru.
  • Výsledkové okno : Jedná se o index, který obsahuje seznam všech výstupů programů, které jsou spuštěny v jedné relaci. Jelikož obsahuje výsledky konkrétní relace, zavřete software a restartujete jej. Výsledkové okno bude prázdné.
  • Prozkoumat okno : Obsahuje seznam všech knihoven v systému. Zde také můžete procházet soubory podporované systémem.

Několik organizací používá Linux, avšak bez grafického uživatelského rozhraní musíte pro každý dotaz napsat kód. Proto je nepohodlné používat.

Sady dat SAS

Datové soubory SAS se nazývají jako datové soubory. Datové soubory tvoří řádky a sloupce. Řádky obsahují pozorování a sloupceNázvy proměnných.

Proměnné SAS

SAS má dva typy proměnných:

  • Numerické proměnné : Toto je výchozí typ proměnné. Tyto proměnné se používají v matematických výrazech.
  • Proměnné znaků :Znakové proměnné se používají pro hodnoty, které se nepoužívají v matematických výrazech.
    S nimi se zachází jako s textem nebo řetězci. Proměnná se stane znakovou proměnnou přidáním a„$“ignna konci názvu proměnné.

Knihovny SAS

Knihovna SAS je sbírka souborů SAS, které jsou uloženy ve stejné složce nebo adresáři v počítači.

  • Dočasná knihovna : V této knihovně bude datová sada odstraněna, když skončí relace SAS.
  • Stálá knihovna : Sady dat jsou trvale uloženy. Proto jsou k dispozici napříč relacemi.

Uživatelé mohou také pomocí klíčového slova vytvořit nebo definovat novou knihovnu známou jako uživatelsky definované knihovny LIBNAME . Jedná se také o trvalé knihovny.

Programování SAS: Struktura kódu SAS

Programování SAS je založeno na dvou stavebních blocích:

  • Krok DATA : Krok DATA vytvoří datovou sadu SAS a poté předá data do kroku PROC
  • PROC krok : Krok PROC zpracovává data

Program SAS by měl dodržovat níže uvedená pravidla:

  • Téměř každý kód začíná buď DATA, nebo PROC krokem
  • Každý řádek kódu SAS končí středníkem
  • Kód SAS končí klíčovým slovem RUN nebo QUIT
  • Kódy SAS nerozlišují velká a malá písmena
  • Můžete napsat kód přes různé řádky nebo můžete napsat více příkazů do jednoho řádku

Nyní, když jsme viděli několik základních terminologií, pojďme začít s programováním SAS s tímto základním kódem:

ÚDAJE Zaměstnanec_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

Ve výše uvedeném kódu jsme vytvořili datovou sadu nazvanou jako Employee_Info. Má tři proměnné, jednu číselnou proměnnou jako Emp_Id a dvě znakové proměnné jako Emp_Name a Emp_Verticals. Příkaz Spustit zobrazí datovou sadu ve výstupním okně.

Obrázek níže ukazuje výstup výše uvedeného kódu.

Předpokládejme, že chcete vidět výsledek v tiskovém zobrazení, ale můžete to udělat pomocí procedury PROC PRINT, zbytek kódu zůstane stejný.

DATA Employee_Info input 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ázek níže ukazuje výstup výše uvedeného kódu.

Právě jsme vytvořili datovou sadu a pochopili jsme, jak funguje PRINT postup. Nyní si vezmeme výše uvedenou datovou sadu a použijeme ji pro další programování. Řekněme, že chceme k datové sadě přidat datum zaměstnance. Takže vytvoříme proměnnou nazvanou DOJ, dáme ji jako vstup a vytiskneme výsledek.

ÚDAJE Zaměstnanec_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 Spustit PROC PRINT DATA = Employee_Info Run

Níže uvedený obrázek ukazuje výstup výše uvedeného kódu. Je vidět, že byla vytvořena proměnná, ale hodnota DOJ nebyla vytištěna. Místo toho vidíme, že tečky nahradily hodnoty data.


Proč se to stalo? Proměnná DOJ je bez přípony „$“, to znamená, že ve výchozím nastavení ji bude SAS číst jako číselnou proměnnou. Ale data, která jsme zadali, mají speciální znak „/“, proto výsledek nevytiskne, protože se nejedná o čistě číselná data. Pokud zkontrolujete okno protokolu, zobrazí se chybová zpráva jako „neplatná data pro proměnnou DOJ“

Jak nyní vyřešíme tento problém? Jedním ze způsobů, jak to vyřešit, je použití přípony „$“ pro proměnnou DOJ. Tím se převede proměnná DOJ na znak a budete moci tisknout hodnoty data. Provedeme změny v kódu a uvidíme výstup.

ÚDAJE Zaměstnanec_Info vstup 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 běh PROC PRINT DATA = Employee_Info Run

Na obrazovce výstupu se zobrazí následující výstup.


Převodem DOJ na znak můžete vidět, že se datové hodnoty zobrazují jako data. Jedná se však o dočasné řešení. Vysvětlím to jak?

Představte si, že banka má podobný soubor dat. Datová sada obsahuje údaje o majiteli účtu, jako je výše půjčky, splátky,asplatnost splátky úvěru. Představte si, že držitel zmeškal svůj termín pro splátky a banka chce vypočítat zpoždění. Banka bude muset vypočítat rozdíl mezi datem termínu a aktuálním datem.

Pokud má však datový soubor banky data ve formátu znaků, banka s ním nebude moci provádět matematické operace. Tento problém může ovlivnit také naši datovou sadu. Jak tedy tento problém vyřešit?

Další koncept vám pomůže tento problém překonat.

Informaty a formáty v SAS

Je důležité, abyste tomuto tématu dobře porozuměli, pokud chcete být dobří v programování SAS.Pokud si vzpomenete, zmínil jsem se dříve, že SAS má dva standardní typy proměnných:

  • Číselné
  • Charakter

Když SAS narazí na nestandardní proměnné, SAS vyvolá chybu, jinak nezískáte požadovaný výstup. K překonání tohoto problému používá SASInformovanýa formáty.

Zjistit více

Informaty se obvykle používají ke čtení nebo zadávání dat z externích souborů nebo plochých souborů (jakotextové soubory nebo sekvenční soubory). Informat instruuje SAS, jak čístdata do proměnných SAS. SAS má tři typy Informatů:znak, číslice a datum / čas. Názvy informatů jsou uvedeny nížestruktura syntaxe:

  • Informační znak: $ INFORMATw.
  • Numerické informace: INFORMATw.d
  • Informováno o datu / čase: INFORMATw.

„$“ Označuje charakter informatiky. INFORMAT odkazuje na někdy nepovinnéNázev SAS informat. Písmeno „w“ označuje šířku (bajty nebo počet sloupců) znakuproměnná. Písmeno „d“ se používá pro číselná data k určení počtu číslic vpravo oddesetinné místo. Všechny informáty musí obsahovat desetinnou čárku (.), Aby SAS mohl
odlišit informatiku od proměnné SAS.

Vraťme se k našemu předchozímu kódu a podívejme se, zda nám Data / Time Informat pomáhá. Pojďme tedy odpovídajícím způsobem změnit kód a přidat k němu Date Informat následujícím způsobem:

DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. 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 Spustit PROC PRINT DATA = Employee_Info Run

Řádek číslo 3 v kódu dává pokyn SAS, aby načetl proměnnou ‚datum připojení '(DOJ) pomocí data
informovat MMDDYYw. Pro každé pole s datem zabírá 10 mezer, kvalifikátor „w.“ Jenastaveno na 10.

Výstup kódu by vypadal následovně.

Výsledek ukazuje, že stále nemáme požadovaný výsledek, místo toho sloupec DOJ obsahuje některé číselné hodnoty, nikoli data, která jsme zadali. Tak proč? Jakmile je datum načteno s datovou informací, SAS uloží datum jako číslo. To znamená, že se čte jako počet dní mezi datem a 1. lednem 1960 (Například: 15. 3. 1994 je uložen jako 12492).

Důvodem je to, že SAS má tři oddělené čítače, které sledují data a čas. Tyto počitadla data začaly na nule 1. ledna 1960. Proto mají data před 1. 1. 1960 záporné hodnoty a jakékoli datum po má kladnou hodnotu. Každý den o půlnoci se počítadlo data zvyšuje o jeden.

Jeden příběh říká, že zakladatelé SAS chtěli použít přibližné datum narození systému IBM 370 a jako snadno zapamatovatelnou aproximaci zvolili 1. leden 1960.

Nyní, když znáte důvod, proč sloupec DOJ zobrazoval tato čísla, zkusme tento problém vyřešit. K překonání tohoto problému používáme Format.

Formát

Informaty jsou pokyny ke čtení dat, zatímco formáty jsou pokyny používané k zobrazení nebovýstupní data.Definování formátu proměnné je způsob, jakým řeknete SAS, aby zobrazoval hodnoty v proměnné. Formáty jsou seskupeny do stejných tří tříd jako informáty (znakové, číselné a datum a čas) a také vždy obsahují tečku.

Obecná forma prohlášení o formátu je:

  • FORMAT název proměnné FORMAT-NAME.

Vraťme se k našemu kódu s datovou sadou Employee_Info, abychom zjistili, zda můžeme správně zobrazit datum pomocí příkazu FORMAT.

DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. FORMÁT DOJ ddmmyy10. 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 Spustit PROC PRINT DATA = Employee_Info Run

Ve výše uvedeném kódu jsme použili příkaz FORMAT v řádku číslo 4. Následující výstupní obrazovka nám poskytne požadovaný výstup.

Úspěšně jsme zobrazili datovou sadu pomocí příkazu Formát data. Doufám, že jste pochopili, jak používat formát a informatiku.Pojďme pokročit v našem programovacím blogu SAS a podívejme se na další důležitý koncept.

Smyčky SAS

Při programování SAS se můžeme setkat se situacemi, kdy opakovaně potřebujeme provést ablok kódu několikrát. Je nepohodlné psát stejnou sadu příkazů znovu a znovu. To je místo, kde se objevují smyčky. V SAS se příkaz Do používá k implementaci smyček. Je také známý jako Do Loop. Na následujícím obrázku jeobecná forma příkazů Do loop v SAS.

Následují typy smyček DO v SAS:

stoh a hromada v java
  • Index : Smyčka pokračuje od počáteční hodnoty po koncovou hodnotu proměnné indexu.
  • Zatímco : Smyčka pokračuje tak dlouho, dokud Zatímco podmínka se stane nepravdivou.
  • Až do : Smyčka pokračuje až do Až do podmínka se stane Pravdou.

Proveďte indexovou smyčku

Jako počáteční a koncovou hodnotu pro používáme indexovou proměnnou Proveďte indexovou smyčku . Příkazy SAS se provádějí opakovaně, dokud proměnná indexu nedosáhne své konečné hodnoty.
Syntax:

Do indexvariable = initialvalue to finalvalue SAS commands End

Pojďme se podívat na ukázkový kód, abychom porozuměli Do Index Loop. V níže uvedeném kódu je VAR proměnná indexu.

DATA SampleLoop SUM = 0 Do VAR = 1 až 10 SUM = SUM + VAR KONEC PROC TISK DATA = SampleLoop Run

Po provedení výše uvedeného kódu získáte následující výstup.

implementace propojeného seznamu vc

Dělejte smyčku

The Dělat, zatímco smyčka používá podmínku WHILE. Tato smyčka provede blok kódu, když je podmínka pravdivá, a pokračuje v jejím provádění, dokud se podmínka nestane nepravdivou. Jakmile se podmínka stane nepravdivou, smyčka je ukončena.

Syntax:

Konec příkazu (podmínka) SAS

Následující ukázkový kód vám pomůže pochopit smyčku DO WHILE.

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

Výše uvedený kód vám poskytne následující výstup.

Dělejte do smyčky

Smyčka Do Until používá znak Až do podmínka. Tato smyčka provede blok kódu, když je podmínka nepravdivá, a pokračuje v jejím provádění, dokud se podmínka nestane pravdivou. Jakmile se podmínka stane pravdivou, smyčka je ukončena.

Syntax:

Do Dokud (podmínka) SAS prohlášení KONEC

Pojďme se podívat na ukázkový program.

DATA SampleLoop SUM = 0 VAR = 1 Do Dokud (VAR> 15) SUM = SUM + VAR VAR + 1 KONEC PROC TISK Spustit

Kód má následující výstup.

Tím jsme dokončili koncept smyček v programování SAS. Všechna dosud studovaná témata hovořila o základech programování SAS obecně.

Nyní se podívejme na některé statistické postupy. Tyto postupy budou tvořit základ pro pokročilé analytické postupy.

Přihlaste se k odběru našeho kanálu na YouTube a získejte nové aktualizace ..!

Základní statistické postupy využívající SAS

PROC ZNAMENÁ

Tento postup se používá k výpočtu aritmetického průměru a směrodatné odchylky. Pro lidi, se kterými statistika začíná, může být obtížné těmto výrazům porozumět. Než tedy začneme programovat a použijeme tento postup. Pokusím se vysvětlit, co tyto pojmy znamenají.

Začněme aritmetickým průměrem a podívejme se, jak se PROC MEANS používá v programování SAS k jeho výpočtu.

Aritmetický průměr

Součet hodnoty numerických proměnných vydělený počtem proměnných vám dává aritmetický průměr . To je také známé jako průměr a je měřítkem centrální tendence. Míra centrální tendence je jediná hodnota, která se pokouší popsat soubor dat identifikací centrální polohy v této sadě dat.

V programování SAS používáte PROC MEANS k výpočtu aritmetického průměru. Tento postup vám umožní najít průměr všech proměnných nebo několika proměnných datové sady. Můžete také vytvořit skupiny a vypočítat průměr proměnných specifických pro danou skupinu.

Syntax:

PROC MEANS DATA = DATASET Proměnné třídy Proměnné Variables
  • Proměnné : Proměnné ve výše uvedené syntaxi označují proměnné ze sady dat, jejichž průměr se má vypočítat.

Znamenat datovou sadu

jestli tyzadejte pouze název datové sady bez jakýchkoli proměnných, můžete vypočítat průměr všech proměnných v datové sadě.

Podívejme se na ukázkový kód. Zvažoval jsem předdefinovanou sadu dat SAS nazvanou „automobily“. Následující příkaz zobrazí datovou sadu.

PROC PRINT data = sashelp.CARS Run

Obrázek níže ukazuje výstup výše uvedeného kódu.


Nyní použijeme tento kód sady dat a vypočítáme průměr každé proměnné v sadě dat„Auta“.

PROC ZNAMENÁ DATA = sashelp.CARS Střední SUM MAXDEC = 2 běh

Obrázek níže ukazuje průměr všech proměnných v datové sadě až na dvě desetinná místa.

Průměr vybraných proměnných

Zadáním názvů ve volbě Var můžete získat průměr zadaných proměnných. Přečtěte si prosím níže uvedený kód.

PROC ZNAMENÁ DATA = sashelp.CARS průměr SUM MAXDEC = 2 var koňské síly válce Spustit

Znamenat podle třídy

Průměr numerických proměnných můžete zjistit jejich uspořádáním do skupin pomocínějaký parametr pro jejich seskupení.Zvažte následující ukázkový kód. Pojďme zjistit průměrný výkon pro různé skupiny kategorizované podle tříd „značka“ a „typ“ různých automobilů.

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

Obrázek níže ukazuje výstup výše uvedeného kódu.

Pojďme pokračovat v našem blogu o programování SAS a podívejme se na další důležitý statistický koncept.

Standardní odchylka

Směrodatná odchylka (SD) je měřítkem toho, jak různorodá jsou data v dané sadě dat. Matematicky vám řekne, jak blízko jsou jednotlivé datové body ke střední hodnotě datové sady. Pokud je hodnota směrodatné odchylky blízká 0, znamená to, že datové body jsou velmi blízké průměru datové sady a vysoká směrodatná odchylka znamená, že datové body jsou rozloženy do širokého rozsahu hodnot.

V SAS můžete vypočítat hodnotu standardní odchylky pomocí dvou postupů. Oni jsou:

  • PROC ZNAMENÁ
  • PRŮZKUM

Standardní odchylka pomocí PROC ZNAMENÁ

Směrodatnou odchylku můžete měřit pomocí proc prostředků, musíte zvolit HODINY možnost v kroku PROC. Zobrazí hodnoty standardní odchylky pro každou číselnou proměnnou v datové sadě.

Syntax:

PROC MEANS DATA = datová sada STD

Zvažte tento ukázkový kód, pojďme vytvořit další datovou sadu CARS1 z datové sady CARS v knihovně SASHELP. K tomu použijeme proceduru PROC SQL. Pojďme seskupit data pomocí „typu“ a „značky“ automobilů a vypočítáme směrodatnou odchylku pro vybrané proměnné pomocí možnosti STD s krokem PROC means.

PROC SQL vytvořit tabulku CARS1 jako VYBRAT značku, typ, výkon, válce, váhu Z SASHELP.CARS WHERE make in ('Audi', 'BMW') RUN PROC MEANS DATA = CARS1 STD Run

Výše uvedený kód poskytne standardní odchylku pro vybrané proměnné. Následující obrázek zobrazuje výstup.

PROCESKÉ PRŮZKUMY

Tento postup se používá k měření směrodatné odchylky spolu s některými pokročilými funkcemi, jako je měření směrodatné odchylky pro kategorické proměnné a rozptyl.

Syntax:

PROC SURVEYMEANS možnosti statistika-klíčová slova Podle proměnných Proměnné třídy Proměnné proměnné

Následuje popis použitých parametrů:

  • Podle se používá k označení proměnných použitých k vytvoření skupin pozorování.
  • Třída označuje proměnné použité pro kategorické proměnné.
  • Kde označuje proměnné, pro které se bude SD počítat.

Podívejme se na tento ukázkový kód, který popisuje použití parametru třídy, který vytváří statistiku pro každou z hodnot v proměnné třídy.

PROC SURVEYMEANS DATA = CARS1 STD Typ třídy Var typ Typ koňská síla ods statistika výstupu = obdélník Run PROC PRINT DATA = obdélník Spustit

Následující obrázky ukazují výstup výše uvedeného kódu. Zobrazuje distribuci dat pro proměnnou ‚Horsepower 'pro 95% interval spolehlivosti. (Interval spolehlivosti znamená rozsah hodnot tak definovaný, že existuje specifikovaná pravděpodobnost, že hodnota parametru leží v něm.)

Tím se dostáváme na konec blogu o programování SAS. Máte-li jakékoli pochybnosti nebo problémy s obsahem blogu, nechte je prosím v sekci komentáře, nejdříve je vyřeším a odpovím zpět.

Pokud se chcete naučit SAS a budovat si kariéru v analytické doméně, podívejte se na naši který přichází s živým tréninkem vedeným instruktorem a zkušenostmi z reálného projektu. Toto školení vám pomůže porozumět SAS do hloubky a pomůže vám zvládnout různé koncepty programovacího jazyka SAS.

Máte na nás dotaz? Uveďte to prosím v sekci komentáře a my se vám ozveme.