SAS. Wprowadzenie do Systemu I Języka 4GL. Seweryn Kowalski /9/2006 1

Podobne dokumenty
ZESTAW 1 SAS 4GL. Język stworzony na potrzeby przetwarzania dużych zbiorów danych. Składają się nań:

SAS Podstawowe informacje przed ćwiczeniem 1

Tytuł: PRZETWARZANIE DANYCH W SAS Autor: Wioletta Grzenda, Aneta Ptak-Chmielewska, Karol Przanowski, Urszula Zwierz. Wstęp

Wprowadzenie do SAS. Wprowadzenie. Historia SAS. Struktura SAS 8. Interfejs: SAS Explorer. Interfejs. Część I: Łagodny wstęp do SAS Rafał Latkowski

Wprowadzenie do Systemu SAS i programowania w SAS 4GL

Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów

Wprowadzenie do SAS 4GL Zapoznanie ze środowiskiem SAS University Edition oraz SAS Studio. Podstawowe pojęcia środowiska SAS.

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Programowanie w języku Python. Grażyna Koba

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Wykład II - Dane w Systemie SAS

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

1. Przypisy, indeks i spisy.

Przypisywanie bibliotek w architekturze SAS

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

Wykład. Wprowadzenie do systemu SAS (import i transformacje danych)

Układy VLSI Bramki 1.0

Programowanie obiektowe

Programowanie w języku C++ Grażyna Koba

5.2. Pierwsze kroki z bazami danych

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Tworzenie bazy danych na przykładzie Access

Obszar Logistyka/Zamówienia Publiczne

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Spis treści 3. Spis treści

Java jako język programowania

Programowanie obiektowe zastosowanie języka Java SE

1 Podstawy c++ w pigułce.

PAMIĘĆ OPERACYJNA...107

SAS Podstawowe informacje przed ćwiczeniem 2

SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

Wiadomości i umiejętności

Koncepcja systemu informatycznego realizującego w środowisku Oracle Spatial proces generalizacji modelu BDOT10 do postaci BDOT50

I. Interfejs użytkownika.

QUERY język zapytań do tworzenia raportów w AS/400

Tabela wewnętrzna - definicja

LABORATORIUM 6: ARKUSZ MS EXCEL JAKO BAZA DANYCH

Oracle11g: Wprowadzenie do SQL

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

MentorGraphics ModelSim

PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II. Uczeń umie: Świadomie stosować się do zasad regulaminów (P).

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Dane słowa oraz wyrażenia są tłumaczone przy pomocy polecenia Przetwarzanie > Tłumaczenie

Spis treści. Podstawy posługiwania się komputerem

Edytor tekstu OpenOffice Writer Podstawy

MS Access formularze

5. Arkusz kalkulacyjny Excel 205

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

1. Zaczynamy! (9) 2. Edycja dokumentów (33)

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Obszar Księga Główna. Harmonogramy księgowań. Instrukcja użytkownika

System wizyjny OMRON Xpectia FZx

Atrybuty bloki z atrybutami, wyciągi atrybutów.

Stosowanie indeksów ma swoje korzyści, ale bywa również kosztowne.


KATEGORIA OBSZAR WIEDZY

1 Podstawy c++ w pigułce.

biegle i poprawnie posługuje się terminologią informatyczną,

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Ćwiczenia nr 2. Edycja tekstu (Microsoft Word)

INFORMATOR TECHNICZNY WONDERWARE. Odczytywanie danych z arkusza Excel za pomocą zapytań SQL do aplikacji InTouch

1.3. Tworzenie obiektów 3D. Rysunek 1.2. Dostępne opcje podręcznego menu dla zaznaczonego obiektu

1 Przygotował: mgr inż. Maciej Lasota

Edytor tekstu MS Office Word

COMARCH IT AKADEMIA. Programista VBA w Microsoft Excel (microbootcamp)

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Niestandardowa tabela częstości

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Podstawy programowania skrót z wykładów:

Visual Basic w programie Excel

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.

Użycie Visual Basic for Applications ("VBA")

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Wprowadzenie do SAS. Jak zacząć? Enhanced Editor (1) Uruchamianie programu. Ćwiczenie 3. Definiowanie bibliotek

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

Temat: Organizacja skoroszytów i arkuszy

Opracował: mgr inż. Marcin Olech

2017/2018 WGGiOS AGH. LibreOffice Base

Opis podstawowych funkcji PC- SHELLa

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

1. Zarządzanie informacją w programie Access

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Backend Administratora

Utworzenie pliku. Dowiesz się:

Rozwiązanie. Uruchom program Access 2007.

ROZDZIAŁ I. BUDOWA I FUNKCJONOWANIE KOMPUTERA PC

Transkrypt:

SAS Wprowadzenie do Systemu I Języka 4GL Seweryn Kowalski 2006 3/9/2006 1

SAS wprowadzenie System SAS został oparty na architekturze MultiVendor Architecture (MVA), dzięki czemu 90% kodu jest niezależna od platformy. System wygląda tak samo na różnych platformach, jak i sposób pracy jest niezależny od systemu operacyjnego. Zastosowano także technologie MultiEngine Architecture, co pozwala na łatwy dostęp do danych niezależnie od postaci w jakiej są one zapisane. 3/9/2006 2

Moduł BASE Jest podstawą systemu SAS, Udostępnia podstawowe narzędzia pozwalające na zarządzanie i przetwarzanie danych. Moduł BASA składa się z następujących składników: SAS language język programowanie służący do zarządzania danymi, SAS procedures oprogramowanie narzędziowe do analizy danych i tworzenia raportów, macro facility narzędzia wspomagające prace z systemem DATA step debugger narzędzie programistyczne pozwalające rozwiązywać problemy z programami pracującymi z danymi Output Delivery System (ODS) system pozwalający uzyskać dane wyjściowe (tabele, raporty itp.) w wielu prostych i powszechnych formatach np.: HTML, listy (ASCII) SAS windowing environment graficzny interfejs, powalający w łatwy i przyjazny sposób pracować z systemem. 3/9/2006 3

Interfejs Systemu SAS Umożliwia on m. in. Edycje i uruchamianie programów, uruchamianie narzędzi i aplikacji Systemu SAS, przeglądnie rezultatów wykonanej pracy, a także zarządzanie bazą danych. Po uruchomieniu systemu pojawiają się następujące okna: SAS Explorer zarządzanie strukturami SAS, Results zarządzanie wynikami działania programów, Editor edytor tekstów, wykorzystywany do edycji programów pisanych w SAS-4GL (jest ot edytor kontekstowy) Output prezentacja tekstowych wyników (okono tylko do odczytu) Log okno komunikatów. Uwaga: Przy zamykaniu okna Log i Output nie jest kasowana ich zawartość, jednak tekst znajdujący się w tych oknach może być wyczyszczony polecenie Clear All z menu EDIT. Praca z oknami: Może być wyświetlone wiele okien, ale tylko jedno z nich jest aktywne, Do danego okna zawsze można wrócić wybierając z menu VIEW odpowiednia opcje, Skrót klawiszowy do przełączenia okien to CTRL+F6, 3/9/2006 4

Komendy systemu SAS Wybierając pozycje z menu wydawane są komendy systemu. Istnieje kilka sposobów wydawania komend: Wybór opcji z menu, Wybór przycisku w pasku narzędziowym, Wpisanie komendy w linii komend, Wykorzystanie klawiszy funkcyjnych, Instrukcja DM w kodzie programu Przykłady komend: END Zapisanie informacji zawartej w aktywnym oknie i zamknięcie okna CANCEL Zamknięcie aktywnego okna bez zachowania zmian ENDSAS, BYE Zakończenie pracy z systemem SASLOG,OUTPUT, PGM, WEDIT Uaktywnienie (ew. otwarcie) jednego okien KEYS Uaktywnienie okna KEYS (skróty klawiszowe) X < komenda sys > Uaktywnienie interpretera poleceń systemu operacyjnego NOTEPAD Okno notatnika 3/9/2006 5

Baza Danych Wszelkie informacje podlegające obróbce przechowywane są w Informacyjnej Bazie Danych (IBD): Podstawowym elementem IBD jest biblioteka, W bibliotekach przechowywane są zbiory z danymi i katalogi, Katalogi przechowują obiekty nie będące zbiorami danych, W bibliotece nie można umieścić innej biblioteki. Biblioteka 1 Dane 1 Dane 2 SAS Katalog Pozycja 1 Pozycja 1 3/9/2006 6

Biblioteka SAS Jest najwyższa struktura w Systemie SAS Jest to odwołanie do istniejącej struktury w systemie operacyjnym, Umożliwia dostęp do różnych obiektów Systemu SAS, W bibliotece przechowywane są przede wszystkim dane w formie tabele. Właściwości bibliotek: W systemie do bibliotek odwołuje się poprzez referencje, Bibliotek odpowiada strukturze systemie operacyjnym (Np. w Windows, Unix to katalog zawierajacy zbiory danych), Z punkty widzenia systemu SAS biblioteka jest tylko wskazaniem na taka strukturę, Referencje są aktywne jedynie podczas trwania sesji systemu SAS, Istnieje możliwości zdefiniowania bibliotek, które będą wskazywać na kilka struktur w (katalogów systemu operacyjnego) Każda biblioteka na zdefiniowaną nazwę, która musi się zaczynać od litery lub znaku _ i może mieć maksymalnie 8 znaków. Uwaga Biblioteki nie są fizycznie tworzone, Biblioteka nie może zostać skasowana w systemie SAS. Można jedynie anulować deklaracje biblioteki. Po skasowaniu wszystkich elementów biblioteki pozostanie ona biblioteką pustą. Skasowanie katalogu w OS spowoduje usunięcie biblioteki, Aby zadeklarować nową bibliotekę w systemie musi istnieć struktura z nią związana, Ponieważ biblioteka jest referencją, te same dane fizyczne mogą być dostępne w bibliotekach różnych nazwach wskazujących na tę samą strukturę w OS, Przy każdym uruchomieniu należy zadbać o właściwe zadeklarowanie bibliotek z danymi. 3/9/2006 7

Biblioteka SAS Możliwe typy obiektów tworzących zawartość biblioteki: DATA Tabela z danymi, nazywana też zbiorem danych VIEW Perspektywa, czyli tabela będąca logiczna definicją wybierającą dane z różnych tabel ACCESS Opis dostępu do danych zapisanych w innych formatach (np. XLS, DBF) CATALOG Katalog z różnymi obiektami informacyjnymi nie będącymi tabelami danych MDDB Wielowymiarowa baza danych PROGRAM Skompilowana postać programu w języki SAS-4GL 3/9/2006 8

Biblioteka SAS Biblioteki systemowe SASHELP Biblioteka tylko do odczytu, Zawiera elementy i moduły SAS napisane w języku SAS (m. in. Asystent, SAS/EIS) Zawiera standardowe elementy umożliwiające działanie systemu, jak również obiekty związane z konfiguracja systemu. SASUSER Zawiera konfigurację danej sesji SAS (m. in. wygląd okien, definicje. klawiszy, biblioteki do automatycznego podłączenia), Wiele narzędzi korzysta z tej biblioteki do przechowywania informacji o swoich bieżących ustawieniach, Narzędzia systemu SAS przeszukują ją domyślnie. WORK Biblioteka tymczasowa, jej zawartość jest kasowana przy końcu każdej sesji, Jest biblioteką roboczą, Jeżeli w procedurach 4GL nie zdefiniowano biblioteki to domyślnie wszystkie zbiory i inne obiekty tworzone w wyniku wykonanego kodu umieszczane są w tej bibliotece, Narzędzia systemu przeszukują ją domyślnie. Tworzenie nowej biblioteki: Wykorzystanie okna Explorer, Instrukcja LIBNAME w SAS-4GL 3/9/2006 9

Katalogi Katalog jest wewnętrzną strukturą SAS pozwalająca na przechowywanie różnorodnych obiektów nie będących zbiorami danych. Są strukturą jednopoziomową nie można w nich umieszczać innych katalogów Są obiektami fizycznymi ich usunięcie powoduje nieuchronne skasowanie całej zawartości Obiekty w katalogu to tzw. pozycje katalogowe (ang. entries) Nie można w nich umieszczać obiektów DATA, VIEW, KATALOG, MDDB, ACCESS Zbiór typów istniejących katalogach jest predefiniowany (nie można w nich umieszczać typów nie znanych dla systemu SAS) Odwołanie się do pozycji katalogowej to podanie całej jej nazwy: BIBLIOTEKA.ZAWARTOŚĆ.POZYCJA.TYP TOOLBOX Definicja paska narzędzi 3/9/2006 CLASS Klasa dla obiektów narzędzi SAS 10 Typ SOURCE IMAGE GRSEG FRAME PROGRAM SCL EIS FORMAT REPORT SLIST CBT KEYS PMENU Opis Plik tekstowy Grafika rastrowa w formacie SAS Grafika wektorowa w formacie SAS Aplikacja graficzna stworzona przy pomocy SAS/AF Aplikacja stworzona przy pomocy SAS/AF Kod źródłowy aplikacji SAS/AF Aplikacja stworzona przy pomocy SAS/EIS Mechanizm formatowania danych w systemie SAS Definicja raportu dla procedury REPORT Dynamiczna struktura pamięciowa Plik pomocy w formacie SAS Definicja klawiatury Definicja menu

DATA SET Są podstawowym sposobem przechowywania informacji w systemie SAS, Istnieją dwa rodzaje zbiorów data set: Data View Rodzaje te są nierozróżnialne z punktu widzenia języka 4GL, Data to fizyczne tablice zawierające zbiory danych, View to logiczne połączenie wielu zbiorów danych (pozwalają oszczędzić fizyczną przestrzeń nośnika danych, w tego rodzaju zbiorach nie można modyfikować poszczególnych rekordów), W tabelach przechowujemy tylko teksty oraz informacje numeryczne, 3/9/2006 11

DATA SET Do zbioru odwołujemy się podając dwuczłonową nazwę: biblioteka.nazwa_zbioru Jednoczłonowa nazwę zbiór tymczasowy: 3/9/2006 12

DATA SET Zbiory danych zawierają trzy składniki: Informacje opisujące zawartość zbioru Wartości danych dane, na których dokonujemy analizy Indeksy (opcjonalnie) 3/9/2006 13

DATA SET 1. Opis danych znajdujących się w jednym lub kilku SAS data set (kilku View) 2. Wartości danych 3. Oddzielny plik z nazwami przechowywanymi jako data set. 3/9/2006 W bibliotece nie można umieszczać zbiorów DATA i VIEW o tej samej nazwie gdyż SAS traktuje je jednakowo. 14

DATA SET Tabele relacyjne (wartości danych) Zawierają dane w zbiorach danych, Zbudowane są z: wierszy (obserwacje) kolumn (zmienne) Wszystkie zmienne w danej kolumnie są tego samego typu, Dodanie nowych kolumn do tabeli wiąże się zazwyczaj fizycznym skopiowaniem całej tabeli, Dodanie nowych wierszy to doklejenie ich na końcu tabeli, Różnica między tabelami SAS, a arkuszem kalkulacyjnym jest taka, że w SAS wiersze i kolumny mają różne określone właściwości, natomiast w arkuszy wiersze i kolumny możemy traktować zamiennie Każda zmienna musi być powiązana z obserwacją. W przypadku braku obserwacji dla zmiennej SAS wprowadza pusta daną do zbioru 3/9/2006 15

DATA SET Nagłówek zbioru Zapisane są w nim informacje dotyczące zbioru jako całości jak i poszczególnych zmiennych, Informacje dotyczące całego zbioru to np.: Nazwa zbioru, Etykieta (ciąg znaków dowolny), Typ zbioru, Liczba obserwacji, Liczba zmiennych, Data utworzenia, Data ostatniej modyfikacji, Format zapisu zbioru, Informacje dotyczących zmiennych (atrybuty) Nazwa zmiennej, Typ Długość (Długość bajtach), Etykieta (do 256 znaków, będzie pojawiał się zamiast nazwy zmiennej), Format sposób prezentacji danych, Informat informacja jak przekształcić tekst do odpowiedniej wartości zmiennej, Informacja o indeksowaniu 3/9/2006 16

DATA SET 3/9/2006 17

Konwencja nazw w Systemie SAS 32 znakowe nazwy 8 znakowe nazwy Zmienne Nazwy zbiorów Katalogi Makrozmienne Nazwy makr Biblioteki Referencje do nazw plików Formaty Informaty Pozycje katalogowe Etykiety instrukcji 3/9/2006 18

formaty i informaty Format to przekształcenie pewnego zbioru argumentów zbiór wartości. Formaty wykorzystuje się miedzy innymi do zmiany sposobu prezentowania danych. Informaty to przekształcenie zamieniające wejściowy ciąg znaków na wewnętrzną reprezentacje danych. Są stosowane do zapewnienia prawidłowego wprowadzenia danych do bazy SAS. Nazwy formatów i informatów zawsze kończą się kropką lub zawierają kropkę przed cyfrą oznaczającą liczbę miejsc dziesiętnych, nazwy te nie mogą się kończyć cyfrą. Liczba występująca przed kropką oznacza maksymalną długość sformatowanego tekstu. Zastosowania: Konwersja typów i konwersja danych, Mapowanie kod-opis, np. baza w wewnętrznej reprezentacji używa kodów K I M, natomiast na wydrukach i raportach widzimy np. KOBIETA i MĘŻCZYZNA 3/9/2006 19

SAS 4GL Język 4GL zajmuje się obsługą zbiorów, pozwala na dostęp do zbiorów, odczytanie obserwacji, zapis obserwacji do danego zbioru, program składa się z bloków zwanych STEP ami, które wykonywane są sekwencyjnie, najpierw kompilator czyta linie kodu i interpretuje, a następnie je wykonuje, kompilacja wykonywana jest sekwencyjnie, a komunikacja między poszczególnymi blokami (step), odbywa się za pomocą makrozmiennych, mikroprogramów lub z wykorzystaniem zbioru danych. Każda instrukcja bloku musi kończyć się średnikiem. Wielkość liter nie ma znaczenia (wyjątek porównanie wartości zmiennych) 3/9/2006 20

SAS Processing Do pisania programów w języku SAS-4GL służy edytor kontekstowy: Enhanced Editor, Wykonanie programu następuje poprzez wydanie komendy submit (lub z menu Run->Submit) Typy Bloków: DATA Step Wczytuje dane wejściowe Np. data sets, Pliki, itd. Przetwarza (modyfikuje) dane Produkuje dane wyjściowe Np. data sets, Pliki Raporty PROC Step Analiza danych w data setach, Tworzenie raportów (tekstowe, graficzne) 3/9/2006 21

SAS 4GL Instrukcja LIBNAME Służy do definiowania nowych bibliotek w systemie SAS z wykorzystaniem języka 4GL. LIBNAME libref <engine> sicieżka_do_biblioteki <opcje>; engne def. Sposób dostępu do danych (np.: v6 do danych w wersji 6, oracle bezpośredni dostęp do danych bazy ORACLE) opcje zależne od systemu operacyjnego i danego motoru Czas życia biblioteki: Do końca sesji SAS (biblioteka może być inicjalizowana podczas startu systemu) Aż do wydania polecenia: LIBNAME libref clear; Polecenie usuwa bibliotekę, ale nie zbiory na dysku 3/9/2006 22

SAS 4GL DATA STEP Algorytm DATA Step data students; input name $ sex $ note1 note2; avg=mean(note1,note2); datalines; Anna F 4 5 Ian M 3. Eva F 1 4 ; W obrębie poszczególnych kroków tworzona jest pętla główna, która wykonuje następujące czynności: 1. czytanie kolejnej obserwacji z wejściowych zbiorów danych (lub wiersz z wejściowych plików tekstowych), 2. wykonane są instrukcje będące treścią danego kroku, 3. przekształcona obserwacja zapisywana jest do pliku określonego w tymże kroku Pętla główna wykonywana jest tak długo, aż nie napotka końca obserwacji w zbiorze wejściowym. 3/9/2006 23

SAS 4GL DATA STEP PDV Program Data Vector jest to struktura tworzona podczas kompilacji DATA STEP, jest to wektor (jednowymiarowa tablica) zawierająca zmienne istniejące w obrębie danej iteracji tzn. zmienne, które istnieją w zbiorach wejściowych jak i zmienne zadeklarowane (użyte) w kodzie, po zakończeniu każdego obrotu pętli głównej cała zawartość jest zapisywana do zbioru wynikowego tworząc w nim kolejną obserwację zmienne w PDV pojawiają się w takiej kolejności, w jakiej zostały użyte lub zadeklarowane w DATA STEP. na początku obrotu pętli wartości tych zmiennych, które nie pochodzą ze zbioru danych ustawiane są na braki danych (zero). 3/9/2006 24

DATA STEP - przykłady Wybór obserwacji Wysyłanie na wyjście tylko wybranych obserwacji data male; set students; where sex= M ; data male; set students (where=(sex= M )); data male; set students; if sex= F then delete; data male; set students; if sex= M ; 3/9/2006 25

DATA STEP - przykłady Wybór zmiennej Wysyłanie na wyjście tylko wybranych zmiennych data avg_only; set students; drop sex note1 note2; data avg_only; set students; keep name avg; data avg_only; set students (drop= sex note1 note2); data avg_only; set students (keep= name avg); 3/9/2006 26

DATA STEP - przykłady Tworzenie nowych zmiennych data pass (drop= sex note1 note2 avg); set students; if avg < 2 then result='passed'; else result='failed'; 3/9/2006 27

DATA STEP - przykłady Operacje wyjścia tworzenie nowych danych data males females; set students; if sex='f' then output females; if sex='m' then output males; drop sex; 3/9/2006 28

DATA STEP - przykłady Generacja danych data generator; do x=1 to 100; y=rannor(-1); output; end; 3/9/2006 29

DATA STEP - przykłady Łączenie DATA SET data all; set males females; males(in=m) tworzy automatic variable m (m=1 dla obserwacji ze zbioru males; m=0 poza tym) data all2; set males(in=m) females(in=f); if m then sex= M ; if f then sex= F ; 3/9/2006 30

DATA STEP - przykłady Łączenie DATA SET data lib; input name $ @8 date yymmdd10. title $20. ; datalines; Anna 2000/12/14 Hamlet Anna 2000/12/14 SAS Programming Witek 2001/07/12 XML ; proc sort data=students out=students_sort; by name; data st_books; merge students_sort lib; by name; keep name sex title; 3/9/2006 31

PROC STEP - wprowadzenie Jest blokiem składającym się z wykonania jednej, gotowej procedury SAS. Większość PROC STEP ów czyta dane z jednego zbioru i zapisuje informacje do innych zbiorów lub tworzy raport tekstowy lub graficzny, Składnia jest ściśle związana z daną procedurą, ściśle od niej zależy PROC nazwa_procedury DATA=zbiór_danych opcje_procedury; instrukcje; RUN; Od DATA STEP różni się tylko tym, że należy podać nazwę procedury i zbiór wejściowy dla danej procedury. 3/9/2006 32

PROC STEP - wprowadzenie Przykładowe instrukcje, jakie mogą być użyte: WHERE warunek ograniczenie zbioru przetwarzanych obserwacji, BY zmienne wymuszenie przetwarzania w grupach wyznaczonych przez podane zmienne klasyfikacyjne (sortowanie wg. zmiennych po by), FORMAT zmienna format sformatowanie zmiennej podanym formatem, TITLEn tytuł - zadeklarowanie n-tego tytułu dla raportów, FOOTNOTEn zadeklarowanie n-tej stopki dla raportów. Przykład: proc print data=sasuser.cap2001; where Cap1st>14; by CapEcon; title Lista uczniów ; Wyświetla obserwacje ze zbioru sasuser.class, w których zmienna age jest większa od 11. Prezentowane wyniki są grupowane względem zmiennej sex. proc gmap data=dane.ludnosc map=maps.poland all; title Mapa Polski ; id wojew; choro zalud / coutline=black nolegend; Procedura ta wyświetla mapę z gęstością zaludnienia. 3/9/2006 33