SAS - system do przetwarzania informacji
Lucyna Kunert-Witkowska
(ypwitkow@cyf-kr.edu.pl)
1. Wstęp. Moduły systemu SAS.
2. Praca z systemem SAS
3. Praca interakcyjna w trybie graficznym
4. Korzystanie z SAS/ASSIST
5. Podstawowe pojęcia systemu SAS.
6. Biblioteki i pliki systemu SAS.
7. Przykłady programów zapisanych w języku 4GL.
8. Bibliografia dostępna w bibliotece ACK CYFRONET AGH.
1. Wstęp. Moduły systemu SAS
System SAS (Statistical Analysis System) jest
nowoczesnym systemem przetwarzania informacji rozwijanym przez SAS Institute od roku
1974. W przeszłości służył głównie do analizy danych statystycznych. Obecny jego kształt
to zespół wielu modułów, o bardzo szerokim zastosowaniu i łatwym sposobie użytkowania.
W ACK Cyfronet AGH wersja 9.3 systemu SAS znajduje się na komputerze
IBM HS21 Mars i obejmuje następujące
moduły:
- Base SAS - moduł podstawowy systemu SAS, musi być zawsze
zainstalowany , zawiera m.in. procedury służące do operacji na danych
- SAS/ASSIST - generator programów i graficzny interfejs do systemu SAS, ułatwia
pisanie programów, które tworzą się automatycznie, podczas gdy użytkownik prowadzony
jest rozbudowanym systemem menu
- SAS/GRAPH - narzędzia graficzne do prezentacji i analizy danych, umożliwia
tworzenie
kolorowych i czarno-białych wykresów, tabulogramów, map
- SAS/FSP - interakcyjne środowisko wprowadzania danych i ich edycji
- SAS/AF - interakcyjne środowisko rozwoju aplikacji, pozwala na tworzenie
aplikacji
przyjaznych dla użytkownika, który nie musi znać systemu SAS (jednak aplikacje te
wykonywane mogą być tylko przez SAS, nie jest możliwe tworzenie niezależnego kodu
wynikowego)
- SAS/STAT - zaawansowana analiza statystyczna, zawiera wiele dobrze przetestowanych
procedur statystycznych (analiza regresji, analiza wariancji i inne)
- SAS/INSIGHT - interakcyjna analiza statystyczna, wyniki analizy statystycznej
przedstawiane są w postaci graficznej, możliwa jest interakcyjna manipulacja
danymi
- SAS/LAB - narzędzia pomocnicze analizy statystycznej przy badaniach laboratoryjnych
i inżynierskich, prowadzący analizę jest prowadzony przez program
- SAS/IML - interakcyjny język macierzowy (Interactive Matrix Language) do manipulacji
danymi, zawiera wiele operatorów matematycznych i macierzowych
- SAS/OR - narzędzia badań operacyjnych, optymalizacji, zarządzania projektami,
programowania matematycznego
- SAS/ETS - narzędzia prognozowania, modelowania ekonometrycznego, analizy szeregów
czasowych i planowania finansowego
- SAS/QC - techniki poprawy jakości (projektowanie eksperymentów, analiza
jakości)
Na komputerze Mars system SAS wersja 9.3 znajduje się
w katalogu /opt1/sas/SASFoundation/9.3.
Podkatalog
samples zawiera przykładowe
programy.
Oprócz zainstalowanych u nas modułów, SAS Institute rozprowadza jeszcze między innymi:
- SAS/EIS służący do budowy i obsługi systemów informacyjnych dla potrzeb
zarządzania przedsiębiorstwem.
- SAS/ACCESS jest to kilka modułów do komunikacji z zewnętrznymi bazami danych takich
jak: ORACLE, INGRES, SYBASE, Informix, DB2, SQL Server
- SAS/ACCESS to PC File Formats umożliwia dostęp do plików typu DBF,DIF,XLS,WK1,
tworzonych przez programy i arkusze kalkulacyjne komputerów PC
- SAS/CONNECT to moduł umożliwiający współpracę systemów SASowych w architekturze
klient/serwer, dane mogą być wtedy współdzielone między komputerami, a programy
utworzone na jednym komputerze mogą być przesyłane do wykonania na innym
- SAS/CALC to arkusz kalkulacyjny
- SAS/GIS jest systemem przetwarzania informacji geograficznej, umożliwiającym
analizę danych przestrzennych
- SAS/PH-Clinical zawiera narzędzia dla przemysłu farmaceutycznego pomocne przy
badaniach nad nowymi lekami
- SAS/SHARE umożliwia jednoczesny dostęp do danych dla wielu użytkowników
W ofercie SAS Institute znajdują się także narzędzia kompleksowe, takie jak:
- SAS Data Warehouse jest to pakiet programów ułatwiający tworzenie i korzystanie
z hurtowni danych
- SAS Enterprise Miner jest to produkt wykorzystywany przy analitycznym zgłębianiu
danych (Data Mining)
- SAS Enterprise Reporter to aplikacja przeznaczona do raportowania i analizy danych
pochodzących z różnych baz danych i arkuszy kalkulacyjnych
- Risk Vision to aplikacja wspomagająca zarządzanie ryzykiem
Więcej informacji o systemie SAS i jego modułach można znaleźć w ksążkach
podanych w bibliografii, a także na stronach:
http://support.sas.com/documentation/onlinedoc/index.html.
W Internecie warto odwiedzić stronę
www.sas.com, na której znajdują się informacje o
produktach, organizowanych konferencjach grup użytkowników, a także wiele programów
udostępnianych przez ich twórców. Polska filia SAS Institute mieści się w Warszawie,
ul. Jutrzenki 17, tel. (22) 873 92 00.
2. Praca z systemem SAS
System SAS może pracować interakcyjnie tylko w trybie graficznym
(korzystając w systemie UNIX z X Window). Na terminalu graficznym
(X-terminal lub stacja robocza)
wywołujemy SAS komendą sas.
Nie należy zapominać o wcześniejszym, odpowiednim ustawieniu
zmiennej systemowej DISPLAY, tak by wskazywała na nasz terminal lub stację
roboczą:
ssh mars.cyfronet.krakow.pl
ssh mars55
setenv DISPLAY <nazwa-terminala>:0
module add SAS
sas
Oprócz pracy w trybie interakcyjnym SAS może pracować
także wsadowo. Możliwość pracy wsadowej jest cenna zwłaszcza, jeśli
wykonuje się
długie obliczenia, które przekraczają limit czasu obliczeń wyznaczony dla zadań
interakcyjnych na danym komputerze. Wykonanie naszego programu w skrypcie wsadowym
może wyglądać następująco:
sas przyklad1
przyklad1.sas
jest plikiem z programem napisanym w języku SAS, znajdującym się
w katalogu bieżącym.
3. Praca interakcyjna w trybie graficznym
Po wywołaniu systemu, na ekranie komputera pojawia się winieta systemu SAS,
a następnie otwierane są trzy główne okna:
- okno edytora programu (PROGRAM EDITOR) to okno, w którym wpisujemy lub do
którego wczytujemy kod programu. Początkowo okno zawiera tylko numery
kolejnych linii:
- okno raportów systemowych (LOG) to okno , w którym wypisywane są informacje o działaniu systemu, liczbie wczytanych danych, błędnych instrukcjach, wykonaniu procedur (na początku informacja o wykonaniu procedury startowej):
- okno raportów wynikowych (OUTPUT) to okno, do którego wypisywane będą wyniki działania programu:
Wszystkie trzy okna mają 5 wspólnych menu: File, Edit,
View, Tools, Solutions, Help.
Dodatkowo okno PROGRAM ma jeszcze menu Run. Niektóre
funkcje dostępne z menu są takie same dla wszystkich okien.
Na przykład zakończenie pracy z systemem SAS można uzyskać klikając File->
Exit w oknie PROGRAM lub w oknie LOG.
Oto główne polecenia, które można wykonać z menu w oknie
PROGRAM:
File->Open - wczytanie zawartości podanego pliku tekstowego
File->Save - zapisanie zmian do pliku
File->Save as - zapisanie zmian do podanego pliku
File->Exit - zakończenie pracy z SASem
Edit->Undo - cofnięcie ostatnio wykonanej akcji
Edit->Clear text - usunięcie tekstu z okna
Edit->Options - ustawienie opcji edycji
Edit->Options->Autosplit - ustawienie automatycznego przejścia do nowej
linii po naciśnięciu klawisza Enter
Edit->Find - znajdowanie wybranego tekstu
View->Change display->Save attributes - zapamiętanie wyglądu okna (rozmiaru,
umieszczenia na stronie, koloru)
View->Preferences - ustawienie środowiska graficznego
View->Edit Toolbox - modyfikacja
zawartoci i wyglądu paska narzędzi
View->Change Font - zmiana czcionki stosowanej w oknie
Locals->Submit - wykonanie programu wpisanego w oknie PROGRAM
Locals->Recall text - wczytanie tekstu ostatnio wykonywanego programu
Locals->Submit top line - wykonanie pojedynczych linii programu
Globals->Program editor - przejście do okna PROGRAM
Globals->Log - przejście do okna LOG
Globals->Output - przejście do okna OUTPUT
Globals->Graph - przejście do okna GRAPH przeznaczonego do wyświetlania
tworzonej grafiki
Globals->SAS/ASSIST - przejście do pracy w trybie ASSIST
Globals-> Access - przeglądanie bibliotek i zbiorów SASa, także generowanie
zapytań SQL
Globals->Analyze->Interactive data analysis - wywołanie modułu
SAS/INSIGHT
Globals->Analyze->Guided data analysis - wywołanie modułu
SAS/LAB
Globals->Accessories->Customize X resources - modyfikacja ustawienia
fontów, klawiatury, kolorów w jakich wypisywany jest tekst i komunikaty
- dodatkowo od wersji 6.11 systemu pojawia się pasek narzędzi (toolbox),
który zawiera często używane polecenia SAS. Kliknięcie na przycisk z
graficznym symbolem
polecenia spowoduje wykonanie tego polecenia:
Kolejne polecenia to:
Submit - wykonanie programu z okienka PROGRAM
Open - otwarcie nowego pliku
Save - zapisanie programu na pliku dyskowym
Print - drukowanie zawartości aktywnego okna
Print Preview - podglądnięcie wydruku
Cut - wycięcie zaznaczonego tekstu i umieszczenie go w buforze
Copy - skopiowanie zaznaczonego tekstu do bufora
Paste - wpisanie tekstu z bufora w miejscu położenia kursora
Undo - wycofanie ostatniej operacji
Librefs - wyświetlenie aktywnych bibliotek w oknie LIBNAME
Assist - wywołanie systemu menu SAS/ASSIST
Help - wywołanie pomocy
Przed ikonami narzędzi umieszczone jest też pole, w którym możemy wpisać tekst polecenia
i wykonać je naciskając przycisk z lewej strony lub klawisz <Enter>.
Wygląd i znaczenie poleceń przedstawianych na pasku możemy dostosować do swoich
potrzeb przez kliknięcie np. w oknie PROGRAM na View->Edit ToolBox.
4. Korzystanie z SAS/ASSIST
Dla początkujących użytkowników wygodna jest praca w systemie menu, z wykorzystaniem
możliwości modułu SAS/ASSIST. Możemy rozpocząć ją z dowolnego okna, np. z okna
PROGRAM. Kolejno klikamy lewym klawiszem myszy na Globals->SAS/ASSIST
. Wyświetla się nowe okno z menu głównym systemu ASSIST:
Naciskanie kolejnych przycisków powoduje pojawianie się kolejnych rozwijalnych
menu:
- TUTORIAL menu do czytania przewodnika po systemie, opisu klawiszy funkcyjnych itp.
- DATA MGMT menu do wykonywania operacji na danych (wczytywania, edycji, sortowania,
scalania, importowania, eksportowania zbiorów SASa, tworzenia formatów
itp.)
- REPORT WRITING menu do tworzenia raportów, tabel, prostych wykresów
- GRAPHICS menu do tworzenia grafiki, rysowania map, wykresów, tabulogramów,
znajduje się tu także kilka gier
- DATA ANALYZIS menu do wykonywania analiz statystycznych (podstawowe analizy
statystyczne, analiza regresji i wariancji, analiza wieloczynnikowa, sterowanie
jakością, szeregi czasowe i inne
- PLANNING TOOLS menu do projektowania eksperymentu, zarądzania projektami,
prognozowania, także arkusz kalkulacyjny (w naszym systemie nie ma modułu arkusza
kalkulacyjnego)
- EIS menu do tworzenia aplikacji wspomagających zarządzanie przedsiębiorstwem
- REMOTE CONNECT menu do łączenia się z innymi komputerami (w naszym systemie nie
ma tej możliwości)
- RESULTS menu programu wyświetlającego i operującego na przechowanych programach,
grafikach, wynikach obliczeń
- SETUP wyświetlenie i możliość zmiany ustawienia parametrów systemu
SAS/ASSIST
- INDEX wyświetlenie listy możliwych do wykonania operacji
- EXIT wyjście z systemu SAS/ASSIST
Przycisk INDEX istnieje też w większości podmenu menu głównego i pokazuje operacje,
jakie można wykonać na tym poziomie. Przycisk GOBACK, który pojawia się na każdym niższym
poziomie menu, pozwala na powrót na wyższy poziom.
Pracując w menu ASSIST użytkownik jest prowadzony przez system, na każdym poziomie może
wybierać akcję, jaką chce wykonać, podpowiadane są nazwy zbiorów, na których może wykonać
operacje, nazwy zmiennych, które może wybrać do analizy, itp. Każde dokonanie wyboru
powoduje jednocześnie generowanie części kodu programu. Po przeprowadzeniu całej analizy i
wykonaniu programu, wygenerowany kod można wprowadzić do okna PROGRAM (komendy Locals
-> Recall text) i jeszcze raz wykonać (komendy Locals->
Submit). Wygenerowany program można także modyfikować w oknie PROGRAM, już bez pomocy
ASSISTa i przysyłać do wykonania. W ten sposób, tworząc kolejne wersje programu można
najłatwiej nauczyć się pisać samemu programy w SASie.
Oto przykład formularza ekranowego modułu SAS/ASSIST wyświetlanego przy wykonywaniu
podstawowej analizy danych (podanie liczby danych, sumy, wartości minimalnej i maksymalnej,
wartości średniej, wariancji, odchylenia standardowego):
Wygenerowany program można podglądnąć klikając Locals->
View Source i wykonać klikając Locals ->
Run. Można też oglądać analizowane dane (Local->
View Data Set).
5. Podstawowe pojęcia systemu SAS.
Programy pisane są w języku 4GL (4th Generation Language). Jest to język proceduralny
czwartej generacji, umożliwiający operacje na całych zbiorach danych. Język ten ma dwa
typy bloków programowych:
- DATA-Step - bloki przekształcające zbiory z danymi (wczytywanie danych z plików
tekstowych, tworzenie plików tekstowych, scalanie zbiorów, wpisywanie i usuwanie zmiennych
i obserwacji, itp.)
- PROC-Step - bloki wykonujące wyspecjalizowane procedury (sortowanie danych,
transpozycje zbiorów, analiza statystyczna, tworzenie wykresów i map i wiele innych).
Elementami języka są słowa kluczowe, nazwy procedur, nazwy zmiennych, stałe i znaki
specjalne. Nazwa zmiennej może składać się z od 1 do 8 znaków alfanumerycznych i znaku _.
Małe i duże litery w nazwie nie są rozróżniane. Nazwa musi zaczynać się od litery lub
znaku _.
Instrukcje w języku 4GL kończą się średnikiem. Instrukcje można rozpoczynać w
dowolnej kolumnie i mogą zajmować jedną lub kilka linii.
Komentarze mogą mieć postać instrukcji, zaczynającej się od *, a kończącej się
średnikiem:
* to jest komentarz;
lub znajdować się między znakami /* i */:
/* to tez jest komentarz */
W SASie są tylko dwa rodzaje zmiennych i stałych:
- znakowe - mogą mieć długość do 200 znaków, przykład instrukcji podstawienia stałej
znakowej do zmiennej znakowej:
zm_znak = "AAAaaaBBBbbbCCCccc";
- numeryczne - mogą zajmować od 3 do 8 bajtów (domyślnie 8 bajtów) i są zapamiętywane
zawsze w postaci zmiennoprzecinkowej, przykład instrukcji podstawienia stałej do zmiennej
numerycznej:
zm_numer = 3.14;
Stałe numeryczne można zapisywać także w notacji wykładniczej np.: 2.456E+10
Daty przechowywane są w postaci numerycznej, jako liczba dni jaka minęła od 1 stycznia
1960 roku (dla dni wcześniejszych, będzie to liczba ujemna). Możliwe jest też
przechowywanie łączne daty i czasu, jako liczby sekund, jaka upłynęła od godziny
0:00 1 stycznia 1960 roku.
6. Biblioteki i pliki systemu SAS.
Dane, na których operuje SAS trzymane są w zbiorach, o specjalnym formacie,
możliwym do odczytania tylko z poziomu systemu SAS. Dla użytkownika są to tabele
dwuwymiarowe. Kolumny takiej tabeli nazywane są w SASie zmiennymi, a wiersze obserwacjami.
Do zbiorów odwołujemy się podając ich nazwy. Nazwa jest zwykle dwuczłonowa:
<nazwa biblioteki>.<nazwa zbioru>
<nazwa biblioteki> to nazwa biblioteki SASa. Jest to jedna z nazw standardowych lub nazwa podana wcześniej przez użytkownika poleceniem libname, np.:
libname aa '/user/people/ypwitkow/sasuser';
Polecenie to musi być wpisane w oknie PROGRAM i podane do wykonania klikaniem Locals->
Submit. Jak widać, biblioteka podaje położenie plików SASa w drzewie katalogów systemu plikowego komputera.
<nazwa zbioru> to właściwa nazwa zbioru.
Listę bibliotek standardowych, które są wcześniej predefiniowane możemy zobaczyć w oknie
LIBNAME wyświetlającym wszystkie aktywne biblioteki. Okno LIBNAME pojawi się po naciśnięciu
Globals->Access->Display Libraries w oknie PROGRAM.
Wśród bibliotek standardowych mamy zdefiniowanš bibliotekę WORK do przechowywania zbiorów tymczasowych. Jej zawartość jest kasowana po wyjściu z systemu SAS.
Po najechaniu kursorem na nazwę interesującej nas biblioteki i naciśnięciu prawego przycisku myszy otrzymamy okienko Select, na które należy najechać i zwolnić prawy przycisk. Wyświetli nam się wtedy okno DIR z listą zbiorów znajdujących się w tej bibliotece:
Kolejne najechanie kursorem na nazwę interesującego nas zbioru i naciśnięcie prawego przycisku myszy wyświetli menu operacji, które możemy wykonać, np. przeglądanie lub edycję danych znajdujących się w zbiorze programem VIEWTABLE:
7. Przykłady programów zapisanych w języku 4GL.
Bardzo trudno opisać wszystkie cechy i możliwości systemu SAS. Nawet wybranie
najważniejszych rzeczy stanowi duży problem. Chciałabym przedstawić prosty
przykład wczytywania i analizy danych w systemie SAS, a także wykorzystania
map do obrazowania wyników obliczeń.
Przykład 1. Wczytanie danych, stworzenie zbioru SASa (blok
DATA-Step) i wykonanie procedury analizy regresji (blok PROC-Step)
/* blok DATA-Step wczytanie danych */
/* zbior klasa w bibliotece WORK (tymczasowej) */
/* cztery zmienne: imie (znakowa) */
/* wzrost, waga, wiek (numeryczne) */
data klasa;
input imie $ wzrost waga wiek;
cards;
Ania 120. 27. 8
Tomek 145. 40. 14
Agata 131. 32. 13
Basia 128. 28. 9
Madzia 126. 25.5 6
Justyna 134. 28. 8
Michal 138. 35. 9
Piotr 130. 34. 7
Agnieszka 145. 43.5 13
/* blok PROC-Step */
/* wywolanie procedury reg */
/* wykonujacej analize regresji */
proc reg;
model waga=wzrost;
plot waga*wzrost;
run;
Tekst programu zapisujemy lub wczytujemy do okna PROGRAM i przesyłamy do
wykonania
poleceniem Submit. W oknie OUTPUT pojawią się wyniki działania procedury reg. Można je zapisać do pliku tekstowego. Oto kolejne
ekrany wyników.
Pierwsza strona:
Kolejne strony z wynikami obliczeń:
Przykład 2. Rysowanie wykresu słupkowego zachorowań na odrę na tle
mapy Polski
(podział jeszcze na 49 województw).
/* deklaracja biblioteki, ze zbiorem dane */
/* dane ma dwie zmienne: */
/* id numer wojwodztwa */
/* chorzy liczba chorych w danym wojewodztwie */
libname aa '/mnt/ypwitkow/sas';
filename grafout 'graf.ps';
goptions device=pscolor gsfname=grafout
gsfmode=replace gaccess=sasgastd;
title1 color=red 'Chorzy na odre wedlug wojewodztw';
title2 color=purple 'Luty 1998';
footnote1 color=black justify=left ' Dane wg. opracowania 12/156';
pattern1 value=solid color=grey;
pattern2 value=solid color=yellow;
pattern3 value=solid color=brown;
pattern4 value=solid color=green;
pattern5 value=solid color=red;
proc gmap all map=maps.poland data=aa.dane;
id id;
block chorzy / levels=4 coutline=black
ctext=black;
run;
Oto utworzony rysunek w oknie GRAPH:
Taki sam rysunek został utworzony
w formacie PostScript i umieszczony w pliku graf.ps.
8. Bibliografia dostępna w bibliotece ACK CYFRONET AGH.
Książki wprowadzające:
- Introducing the SAS System, V.6 (56139)
- L. Delviche, S. Slaughter - The Little SAS Book: A Primer (55200)
- Zdzisław Dec - Wprowadzenie do systemu SAS, Edition 2000, Kraków
1997
Podręczniki systemowe:
- Installation Instructions for the SAS System for UNIX Environments Release 6.11
- Installation Instructions for the SAS System for UNIX Environments Release 6.12
- SAS Companion for UNIX Environments: User Interfaces, V.6 (56113)
- SAS Companion for UNIX Environments: Language, V.6 (56114)
- SAS Language and Procedures: Introduction V.6 (56074)
- SAS Language: Reference V.6 (56076)
- SAS Procedures Guide, V.6 (56080)
- SAS Software: Changes and Enhancements, Release 6.10 (55120)
- SAS Technical Report P-222: Changes and Enhancements to Base SAS Software Release 6.07 (59139)
- SAS Technical Report P-242 - SAS Software: Changes and Enhancements Release 6.08 (59159)
- SAS Technical Report P-252 - SAS Software: Changes and Enhancements (59169)
- SAS Consultants Guide: Supporting the SAS System (55478)
- SAS Technical Report P-254 Using the SQL Query Window
- SAS Application Guide 1987 Edition (5661)
- Getting Started with SAS. Using SAS/ASSIST Software, V.6 (56080)
- SAS/ASSIST Software. Your Interface to the SAS System (56086)
- Doing more with SAS/ASSIST Software, V.6 (56089)
- SAS/ASSIST Software. Changes and Enhancements. V.6 (55319)
- SAS/AF Software: Usage and Reference V.6 (56011)
- SAS/AF Software: Frame Entry Usage & Reference V.6 (56012)
- SAS/AF Software: Frame Application Development Concepts Version 6 (55376)
- SAS/AF and SAS/FSP Software: Changes and Enhancements Release 6.07 (55720)
- Getting Started with SAS/EIS Software. V.6 (55395)
- SAS/EIS: Getting Started with the Frame Entry: Developing Object-Oriented Applications (55914)
- SAS/ETS User's Guide, V.6 (56010)
- SAS/ETS Software: Time Series Forecasting System (55476)
- SAS/ETS Software: Changes and Enhancements Release 6.11 (55474)
- SAS/ETS Software: Changes and Enhancements Release 6.12 (55658)
- SAS/FSP Software: Usage and Reference V.6 (56001)
- SAS/GRAPH Software: Introduction V.6 (56019)
- SAS/GRAPH Software: Reference V.6 Volume 1,2 (56020)
- SAS Technical Report P-263. Image Extensions to SAS/GRAPH Software V.6 (55037)
- SAS Technical Report P-208. SAS/GRAPH Software: Changes and Enhancements to Map Data Sets, Rel. 6.07 (59125)
- SAS Technical Report P-215. SAS/GRAPH Software: Changes and Enhancements, Rel. 6.07 (59132)
- SAS/IML Software: Usage and Reference V.6 (56040)
- SAS/IML Software: Changes and Enhancements through Release 6.11
- SAS/INSIGHT Users Guide (56094)
- SAS/LAB Software: User's Guide V.6 (56098)
- SAS/OR User's Guide Project Management, V.6 (56137)
- SAS/OR User's Guide V.6 (5850)
- SAS/QC Software: Reference, V.6 (5857)
- REPORT Procedure: Usage and Reference, V.6 (56088)
- SAS/STAT User's Guide V.6 Volume 1,2 (56045)
- SAS/STAT Software: Changes and Enhancements through Release 6.11
- SAS/STAT Software: Changes and Enhancements Release 6.12 (55657)
- SAS Technical Report P-256: SAS/STAT Software: The MODECLUS Procedure
- SAS Technical Report P-243: SAS/STAT Software: The GENMOD Procedure
- SAS Screen Control Language: Reference, V.6 (55147)
- SAS Guide to SQL Procedures: Usage and Reference, V.6 (56070)
- SAS Consultans Guide: Supporting the SAS System (55478)
- SAS Guide to Macro Processing, V.6 (56041)
- SAS Macro Language. Reference (55501)