Programowanie w SAS - naucz się programować w SAS!



Ten blog o programowaniu w SAS wprowadza Cię w koncepcje programowania w SAS i pomaga szczegółowo zrozumieć różne podstawy SAS-a wraz z przykładami.

Na tym blogu przedstawię kilka ważnych koncepcji programowania w SAS. Zanim zaczniemy, ważne jest, aby zapoznać się z SAS. Mój poprzedni blog na Samouczek SAS pomoże Ci zrozumieć SAS i jego aplikacje oraz pomoże zainstalować SAS University Edition, którego będziemy używać tutaj jako środowiska programistycznego. Zastanawiając się, jakie umiejętności powinieneś opanować w tym roku? Ponadto, jeśli planujesz zająć się analizą danych, to jeden z najlepszych sposobów na rozpoczęcie tego samego.

Przewodnik po karierze technicznej Edureka 2019 już dostępny! Najpopularniejsze stanowiska pracy, precyzyjne ścieżki szkoleniowe, perspektywy branżowe i nie tylko w przewodniku. Ściągnij teraz.





Więc bez dalszych krokówopóźnienie,zacznijmy od programowania w SAS, dobrze?

Ten blog pomoże Ci zrozumieć następujące tematy:



Zanim zaczniemy programować, chciałbym przedstawić kilka ważnych terminów, które są ważne dla programowania w SAS.

c ++ merge sort code

Podstawy programowania w SAS

SAS Windows

Duże organizacje i instytuty szkoleniowe wolą używać SAS Windows. SAS Windows ma wiele narzędzi, które pomagają skrócić czas potrzebny na napisanie kodu.

Poniższy obraz przedstawia różne części SAS Windows.



SAS-Windows - Programowanie w SAS - Edureka

  • Okno dziennika : To jest okno wykonywania. Tutaj możesz sprawdzić wykonanie swojego programu. Wyświetla również błędy, ostrzeżenia i notatki.
  • Okno kodu :To okno jest również znane jako okno edytora. Potraktuj to jako czysty papier lub notatnik, w którym możesz napisać swój kod SAS.
  • Okno wyjściowe : Jak nazwa sugeruje, to okno wyświetla wynik programu / kodu, który piszesz w edytorze.
  • Okno wyników : Jest to indeks zawierający listę wszystkich danych wyjściowych programów uruchomionych w jednej sesji. Ponieważ przechowuje wyniki określonej sesji, jeśli zamkniesz oprogramowanie i uruchomisz je ponownie, okno wyników będzie puste.
  • Przeglądaj okno : Zawiera listę wszystkich bibliotek w systemie. Możesz także przeglądać pliki obsługiwane przez system tutaj.

Kilka organizacji używa Linuksa, jednak bez graficznego interfejsu użytkownika trzeba pisać kod dla każdego zapytania. Dlatego jest niewygodny w użyciu.

Zestawy danych SAS

Zestawy danych SAS nazywane są plikami danych. Pliki danych składają się z wierszy i kolumn. Wiersze zawierają obserwacje, a kolumny -Nazwy zmiennych.

Zmienne SAS

SAS ma dwa typy zmiennych:

  • Zmienne numeryczne : To jest domyślny typ zmiennej. Te zmienne są używane w wyrażeniach matematycznych.
  • Zmienne znakowe :Zmienne znakowe są używane dla wartości, które nie są używane w wyrażeniach matematycznych.
    Są traktowane jako tekst lub ciągi. Zmienna staje się zmienną znakową przez dodanie„$” Signna końcu nazwy zmiennej.

Biblioteki SAS

Biblioteka SAS to zbiór plików SAS, które są przechowywane w tym samym folderze lub katalogu na komputerze.

  • Biblioteka Tymczasowa : W tej bibliotece zestaw danych jest usuwany po zakończeniu sesji SAS-owej.
  • Stała biblioteka : Zestawy danych są zapisywane na stałe. Dlatego są dostępne między sesjami.

Użytkownicy mogą również tworzyć lub definiować nową bibliotekę zwaną bibliotekami zdefiniowanymi przez użytkownika, używając słowa kluczowego LIBNAME . Są to również biblioteki stałe.

Programowanie w SAS: Struktura kodu SAS

Programowanie w SAS opiera się na dwóch blokach konstrukcyjnych:

  • DANE Krok : Krok DATA tworzy zestaw danych SAS, a następnie przekazuje dane do kroku PROC
  • PROC Krok : Krok PROC przetwarza dane

Program SAS powinien przestrzegać poniższych zasad:

  • Prawie każdy kod zaczyna się od kroku DATA lub PROC
  • Każda linia kodu SAS kończy się średnikiem
  • Kod SAS kończy się słowem kluczowym RUN lub QUIT
  • Kody SAS nie uwzględniają wielkości liter
  • Możesz napisać kod w różnych wierszach lub możesz napisać wiele instrukcji w jednym wierszu

Teraz, gdy poznaliśmy już kilka podstawowych terminologii, zacznijmy od programowania w SAS za pomocą tego podstawowego kodu:

DANE 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

W powyższym kodzie utworzyliśmy zbiór danych o nazwie Employee_Info. Ma trzy zmienne, jedną zmienną numeryczną jako Emp_Id i dwie zmienne znakowe jako Emp_Name i Emp_Verticals. Polecenie Uruchom wyświetla zestaw danych w oknie danych wyjściowych.

Poniższy obrazek przedstawia wyjście powyższego kodu.

Załóżmy, że chcesz zobaczyć wynik w widoku do druku, cóż, możesz to zrobić za pomocą procedury PROC PRINT, reszta kodu pozostaje taka sama.

DANE 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

Poniższy obraz przedstawia wyjście powyższego kodu.

Właśnie utworzyliśmy zbiór danych i zrozumieliśmy, jak działa procedura PRINT. Teraz weźmy powyższy zestaw danych i wykorzystajmy go do dalszego programowania. Powiedzmy, że chcemy dodać datę dołączenia pracownika do zbioru danych. Więc tworzymy zmienną o nazwie DOJ, podajemy ją jako dane wejściowe i wypisujemy wynik.

DANE Employee_Info input 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 Uruchom PROC PRINT DATA = Employee_Info Uruchom

Poniższy obraz przedstawia wyjście powyższego kodu. Widać, że zmienna została utworzona, ale wartość DOJ nie została wydrukowana. Zamiast tego widzimy, że kropki zastąpiły wartości dat.


Dlaczego się to stało? Cóż, zmienna DOJ nie ma sufiksu „$”, co oznacza, że ​​domyślnie SAS odczyta ją jako zmienną numeryczną. Jednak wprowadzone przez nas dane mają specjalny znak „/”, dlatego wynik nie jest drukowany, ponieważ nie są to wyłącznie dane liczbowe. Jeśli zaznaczysz okno dziennika, zobaczysz komunikat o błędzie jako „nieprawidłowe dane dla zmiennej DOJ”

Jak teraz rozwiążemy ten problem? Cóż, jednym ze sposobów rozwiązania tego problemu jest użycie przyrostka „$” dla zmiennej DOJ. Spowoduje to konwersję zmiennej DOJ na znak i będziesz mógł wydrukować wartości dat. Wprowadźmy zmiany w kodzie i zobaczmy wynik.

DATA Dane wejściowe informacji o pracowniku 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 Uruchom PROC PRINT DATA = Uruchom informacje o pracowniku

Na ekranie wyjściowym zostaną wyświetlone następujące dane wyjściowe.


Możesz zobaczyć, że wartości danych są wyświetlane jako daty, konwertując DOJ na znak. Jest to jednak rozwiązanie tymczasowe. Pozwól mi to wyjaśnić, jak?

Wyobraź sobie, że bank ma podobny zestaw danych. Zestaw danych zawiera szczegółowe informacje o posiadaczu konta, takie jak kwota pożyczki, raty,itermin spłaty raty kredytu. Wyobraź sobie, że posiadacz przekroczył termin spłaty raty, a bank chce obliczyć opóźnienie. Bank będzie musiał obliczyć różnicę między terminem ostatecznym a datą bieżącą.

Jeśli jednak zbiór danych banku zawiera daty w formacie znakowym, to bank nie będzie mógł wykonywać na nim operacji matematycznych. Ten problem może mieć również wpływ na nasz zestaw danych. Jak więc rozwiązać ten problem?

Następna koncepcja pomoże ci rozwiązać ten problem.

Informacje i formaty w SAS

Jeśli chcesz być dobry w programowaniu w SAS, musisz dobrze zrozumieć ten temat.Jeśli pamiętasz, wspomniałem wcześniej, że SAS ma dwa standardowe typy zmiennych:

  • Numeryczne
  • Postać

Kiedy SAS napotka zmienne niestandardowe, SAS zgłosi błąd lub nie otrzymasz żądanego wyniku. Aby rozwiązać ten problem, SAS używaPowiadomionyi formaty.

Dowiedz się więcej

Informaty są zwykle używane do odczytywania lub wprowadzania danych z plików zewnętrznych lub plików płaskich (takich jakpliki tekstowe lub pliki sekwencyjne). Informat instruuje SAS, jak czytaćdane do zmiennych SAS. SAS ma trzy typy informacji:znak, cyfra i data / godzina. Informacje są nazywane zgodnie z poniższymi instrukcjamistruktura składni:

  • Informacje o postaci: $ INFORMATw.
  • Informacje liczbowe: INFORMATw.d
  • Poinformowano o dacie / godzinie: INFORMATw.

„$” Oznacza informację o znaku. INFORMAT odnosi się do czasami opcjonalnychNazwa informat. SAS. Litera „w” wskazuje szerokość (w bajtach lub liczbę kolumn) plikuzmienna. Litera „d” jest używana w przypadku danych numerycznych w celu określenia liczby cyfr po prawej stroniemiejsce dziesiętne. Wszystkie informacje muszą zawierać kropkę dziesiętną (.), Aby SAS mógł
odróżnić informat od zmiennej SAS.

Wróćmy do naszego poprzedniego kodu i zobaczmy, czy pomaga nam w tym Data / Czas Informat. Zmieńmy więc odpowiednio kod i dodajmy do niego informację o dacie w następujący sposób:

DATA Wprowadzanie informacji o pracowniku Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmr10. 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 Uruchom PROC PRINT DATA = Employee_Info Uruchom

Wiersz numer 3 w kodzie nakazuje SAS odczytanie zmiennej „data przystąpienia” (DOJ), używając daty
informat MMDDYYw. Dla każdego pola daty zajmującego 10 spacji kwalifikator „w” toustawione na 10.

Wynik kodu wyglądałby następująco.

Wynik pokazuje, że nadal nie mamy pożądanego wyniku, zamiast tego kolumna DOJ zawiera pewne wartości liczbowe, a nie określone przez nas daty. Dlaczego tak jest? Cóż, po odczytaniu daty z informacją o dacie, SAS przechowuje datę jako liczbę. Oznacza to, że jest odczytywany jako liczba dni między datą a 1 stycznia 1960 r. (Na przykład: 15.03.1994 jest przechowywany jako 12492).

Powodem tego jest fakt, że SAS ma trzy oddzielne liczniki, które śledzą daty i godziny. Te liczniki dat zaczęły się od zera w dniu 1 stycznia 1960 r. W związku z tym daty sprzed 1 stycznia 1960 r. Mają wartości ujemne, a każda następna data ma wartość dodatnią. Codziennie o północy licznik dat jest zwiększany o jeden.

Jedna z historii głosi, że założyciele SAS chcieli użyć przybliżonej daty urodzenia systemu IBM 370 i wybrali 1 stycznia 1960 roku jako łatwe do zapamiętania przybliżenie.

Teraz, gdy znasz już powód, dla którego kolumna DOJ wyświetla te liczby, spróbujmy rozwiązać ten problem. Aby rozwiązać ten problem, używamy Format.

Format

Informaty to instrukcje do odczytu danych, podczas gdy formaty to instrukcje używane do wyświetlania lubdane wyjściowe.Definiowanie formatu zmiennej jest sposobem informowania SAS-a o wyświetlaniu wartości w zmiennej. Formaty są zgrupowane w tych samych trzech klasach co informacje (znakowe, liczbowe i data-czas) i zawsze zawierają kropkę.

Ogólna postać instrukcji formatu to:

  • FORMAT nazwa-zmiennej FORMAT-NAME.

Wróćmy do naszego kodu zawierającego zestaw danych Employee_Info, aby sprawdzić, czy możemy poprawnie wyświetlić datę za pomocą polecenia FORMAT.

DATA Wprowadzanie informacji o pracowniku Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmr10. 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 Uruchom PROC PRINT DATA = Employee_Info Uruchom

Użyliśmy polecenia FORMAT w linii numer 4 w powyższym kodzie. Poniższy ekran wyjściowy da nam pożądane wyjście.

Z powodzeniem wyświetliliśmy zestaw danych za pomocą polecenia Format daty. Mam nadzieję, że zrozumiałeś, jak używać formatu i informacji.Przejdźmy dalej z naszym blogiem programistycznym SAS i przyjrzyjmy się innej ważnej koncepcji.

Pętle SAS

Podczas programowania w SAS możemy spotkać się z sytuacjami, w których wielokrotnie musimy wykonywać plikblok kodu kilka razy. Wielokrotne pisanie tego samego zestawu instrukcji jest niewygodne. W tym miejscu pojawiają się pętle. W SAS do implementowania pętli służy instrukcja Do. Jest również znany jako pętla Do. Poniższy obraz przedstawiaogólna forma instrukcji pętli Do w SAS.

Poniżej przedstawiono typy pętli DO w SAS:

  • Indeks : Pętla trwa od wartości początkowej do wartości końcowej zmiennej indeksującej.
  • Podczas : Pętla trwa tak długo, jak plik Podczas stan staje się fałszywy.
  • Aż do : Pętla trwa do Aż do warunek staje się prawdziwy.

Wykonaj pętlę indeksu

Używamy zmiennej indeksu jako wartości początkowej i końcowej dla Wykonaj pętlę indeksu . Instrukcje SAS są wykonywane wielokrotnie, aż zmienna indeksu osiągnie ostateczną wartość.
Składnia:

Czy indexvariable = initialvalue to finalvalue instrukcje SAS End

Przyjrzyjmy się przykładowemu kodowi, aby zrozumieć, czy pętla indeksu. W poniższym kodzie VAR jest zmienną indeksu.

DANE SampleLoop SUM = 0 Do VAR = 1 do 10 SUM = SUM + VAR END PROC PRINT DATA = SampleLoop Run

Po wykonaniu powyższego kodu otrzymasz następujące dane wyjściowe.

klasa anonimowa w java]

Do While Loop

Plik Do While pętla używa warunku WHILE. Ta pętla wykonuje blok kodu, gdy warunek jest prawdziwy, i wykonuje go, aż warunek stanie się fałszywy. Gdy warunek stanie się fałszywy, pętla jest przerywana.

Składnia:

Do While (warunek) instrukcje SAS End

Poniższy przykładowy kod pomoże ci zrozumieć pętlę DO WHILE.

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

Powyższy kod daje następujące wyniki.

Zrób do pętli

Pętla Do Until używa pliku Aż do Ta pętla wykonuje blok kodu, gdy warunek jest fałszywy i wykonuje go, dopóki warunek nie stanie się prawdziwy. Gdy warunek stanie się spełniony, pętla jest przerywana.

Składnia:

Do Until (warunek) instrukcje SAS END

Przyjrzyjmy się przykładowemu programowi.

DATA SampleLoop SUM = 0 VAR = 1 Do Until (VAR> 15) SUM = SUM + VAR VAR + 1 END PROC PRINT Uruchom

Kod ma następujące dane wyjściowe.

W ten sposób zakończyliśmy koncepcję pętli w programowaniu w SAS. Wszystkie tematy, które studiowaliśmy do tej pory, dotyczyły ogólnie podstaw programowania w SAS.

Przyjrzyjmy się teraz kilku procedurom statystycznym. Procedury te będą stanowić podstawę dla zaawansowanych procedury analityczne.

Zasubskrybuj nasz kanał YouTube, aby otrzymywać nowe aktualizacje ..!

Podstawowe procedury statystyczne z wykorzystaniem SAS

ŚRODKI PROC

Ta procedura służy do obliczania średniej arytmetycznej i odchylenia standardowego. Dla osób, które nie znają się na statystykach, zrozumienie tych terminów może być trudne. Więc zanim zaczniemy kodować i skorzystamy z tej procedury. Spróbuję wyjaśnić, co oznaczają te terminy.

Zacznijmy od średniej arytmetycznej i zobaczmy, jak metoda PROC MEANS jest używana w programowaniu SAS do jej obliczania.

Średnia arytmetyczna

Suma wartości zmiennych numerycznych podzielona przez liczbę zmiennych daje wynik Średnia arytmetyczna . Jest również znany jako średnia i jest miarą tendencji centralnej. Miarą tendencji centralnej jest pojedyncza wartość, która próbuje opisać zbiór danych poprzez określenie centralnej pozycji w tym zbiorze danych.

W programowaniu w SAS do obliczenia średniej arytmetycznej używa się metody PROC MEANS. Ta procedura pozwala znaleźć średnią wszystkich zmiennych lub kilku zmiennych w zestawie danych. Możesz także tworzyć grupy i obliczać średnią zmiennych specyficznych dla tej grupy.

Składnia:

PROC MEANS DATA = DATASET Zmienne klasy Zmienne zmienne
  • Zmienne : Zmienne w powyższej składni oznaczają zmienne ze zbioru danych, których średnia ma zostać obliczona.

Średnia zbioru danych

Jeśli typodaj tylko nazwę zestawu danych bez żadnych zmiennych, możesz obliczyć średnią wszystkich zmiennych w zestawie danych.

Przyjrzyjmy się przykładowemu kodowi. Rozważałem predefiniowany zbiór danych SAS zwany „samochodami”. Następujące polecenie wyświetli zestaw danych.

PROC PRINT data = sashelp.CARS Uruchom

Poniższy obraz przedstawia wyjście powyższego kodu.


Teraz użyjmy tego kodu zestawu danych i obliczmy średnią każdej zmiennej w zestawie danych'samochody'.

PROC OZNACZA DANE = sashelp.CARS Średnia SUMA MAXDEC = 2 Uruchom

Poniższy rysunek przedstawia średnią wszystkich zmiennych w zestawie danych z dokładnością do dwóch miejsc po przecinku.

Średnia wybranych zmiennych

Podając nazwy w opcji Var można uzyskać średnią z określonych zmiennych. Proszę zapoznać się z poniższym kodem.

PROC MEANS DATA = sashelp.CARS mean SUM MAXDEC = 2 var konie mechaniczne cylindry Uruchom

Średnia klasa

Możesz znaleźć średnią zmiennych numerycznych, organizując je w grupy za pomocąjakiś parametr do ich grupowania.Rozważ następujący przykładowy kod. Sprawdźmy średnią moc dla różnych grup podzielonych na kategorie „marka” i „typ” różnych samochodów.

PROC MEANS DATA = sashelp CARS MEANS SUM MAXDEC = 2 klasa marka typ var konie mechaniczne Bieg

Poniższy obraz przedstawia dane wyjściowe powyższego kodu.

Kontynuujmy nasz blog SAS Programming i przyjrzyjmy się kolejnej ważnej koncepcji statystycznej.

Odchylenie standardowe

Odchylenie standardowe (SD) jest miarą zmienności danych w danym zestawie danych. Matematycznie informuje, jak blisko jest każdy punkt danych do średniej wartości zbioru danych. Jeżeli wartość odchylenia standardowego jest bliska 0, oznacza to, że punkty danych są bardzo zbliżone do średniej ze zbioru danych, a wysokie odchylenie standardowe wskazuje, że punkty danych są rozłożone w szerokim zakresie wartości.

W SAS możesz obliczyć wartość odchylenia standardowego za pomocą dwóch procedur. Oni są:

  • ŚRODKI PROC
  • ANKIETY

Odchylenie standardowe za pomocą ŚRODKÓW PROC

Możesz zmierzyć odchylenie standardowe za pomocą średnich proc, musisz wybrać GODZINY opcja w kroku PROC. Wyświetli wartości odchylenia standardowego dla każdej zmiennej numerycznej w zestawie danych.

Składnia:

PROC OZNACZA DANE = STD zestawu danych

Rozważmy ten przykładowy kod, stwórzmy kolejny zestaw danych CARS1 z zestawu danych CARS w bibliotece SASHELP. W tym celu wykorzystamy procedurę PROC SQL. Pogrupujmy dane według „typu” i „marki” samochodów i obliczmy odchylenie standardowe dla wybranych zmiennych za pomocą opcji STD z krokiem PROC.

PROC SQL tworzy tabelę CARS1 jako WYBIERZ markę, typ, moc, cylindry, wagę FROM SASHELP CARS WHERE make in ('Audi', 'BMW') RUN PROC MEANS DATA = CARS1 STD Uruchom

Powyższy kod da odchylenie standardowe dla wybranych zmiennych. Poniższy obraz przedstawia dane wyjściowe.

ANKIETY PROC

Ta procedura jest używana do pomiaru odchylenia standardowego wraz z niektórymi zaawansowanymi funkcjami, takimi jak pomiar odchylenia standardowego dla zmiennych jakościowych i wariancji.

Składnia:

PROC SURVEYMEANS opcje statystyka-słowa kluczowe Według zmiennych Zmienne klasy Zmienne zmienne

Poniżej znajduje się opis użytych parametrów:

  • Przez służy do wskazania zmiennych używanych do tworzenia grup obserwacji.
  • Klasa wskazuje zmienne używane dla zmiennych kategorialnych.
  • Gdzie wskazuje zmienne, dla których zostanie obliczone SD.

Przyjrzyjmy się temu przykładowemu kodowi, który opisuje użycie parametru class, który tworzy statystyki dla każdej wartości w zmiennej class.

PROC SURVEYMEANS DATA = CARS1 STD Typ klasy Var typ koni mechanicznych ods statystyki wyjściowe = prostokąt Uruchom PROC PRINT DATA = prostokąt Uruchom

Poniższe obrazy pokazują wynik powyższego kodu. Przedstawia rozkład danych dla zmiennej „Moc koni mechanicznych” dla 95% przedziału ufności. (Przedział ufności oznacza zakres wartości tak zdefiniowany, że istnieje określone prawdopodobieństwo, że wartość parametru się w nim mieści).

To prowadzi nas do końca bloga programowania w SAS. W przypadku jakichkolwiek wątpliwości lub problemów z zawartością bloga, zostaw je w sekcji komentarzy, rozwiążę je najwcześniej i odpowiem.

Jeśli chcesz nauczyć się SAS i zbudować karierę w dziedzinie analityki, sprawdź nasze który obejmuje szkolenie na żywo prowadzone przez instruktora i rzeczywiste doświadczenie projektowe. To szkolenie pomoże Ci dogłębnie zrozumieć SAS i opanować różne koncepcje języka programowania SAS.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą.