sas 4gl...procedura tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:
Post on 24-Jan-2021
4 Views
Preview:
TRANSCRIPT
Page 1sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
SAS 4GLODS, przykładowe procedury.
mariusz.dzieciatko@sas.com
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
ODSOutput Delivery System
Page 2sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Output Destination
ods output output-object-name=data-set-name;
… kod programu …
ods output close;
Przykładowe formaty:
listing, html, html5, xml, pdf, postscript, rtf, powerpoint, tagsets.excelXP, output
ods html ; … kod programu … ods html close;
ods pdf ; … kod programu … ods pdf close;
ods rtf ; … kod programu … ods rtf close;
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Dostosowywanie raportów
• Ods proclabel „tekst” – określa etykietę procedury w spisie treści
• Ods proctitle lub noproctitle – czy nazwa procedury ma być drukowana
• Ods select selection, Ods exclude selection – które obiekty mają być wyświetlone - ukryte
• Ods show – wyświetla listę wybranych obiektów
• Ods trace on – wyświetla informację o dostępnych obiektach
Page 3sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
ODS TRACE STATEMENT
• ODS dostarcza metody podglądu nazw tworzonych obiektów wynikowych. Składnia:
ods trace on < / listing | label > ;
Wyświetla "trace record" z informacjami o obiektach w logu SAS. Opcja LISTING powoduje umieszczenie powyższych informacji bezpośrednio powyżej wyjścia do którego się odnosi. Opcja LABEL pozwala na uzyskanie ścieżki do etykiety obiektu. Przykład:
ods trace on / label;
proc univariate;
var meddol;
run;
ods trace off;
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Ods select / exclude - przykłady
Aby wysłać obiekty Quantiles oraz Moments dla wszystkich zmiennych do wyjścia w formacie html należy użyć polecenia:
ods html select quantiles moments;
lub jeżeli tylko interesuje nas zmienna MEDDOL:
ods html select meddol.quantiles
meddol.moments;
Etykiety można użyć w podobny sposób. Można też mieszać ścieżki z etykietami, np.:
ods html select meddol."quantiles";
Page 4sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Format HTML
• Opcje
• File=„filename” lub body=„filename”
• Contents=„filename”
• Frame=„filename”
• Stylesheet=„filename”
• No_top_matter, no_bottom_matter
• url=„URL”
• Style=style_definition
Style:
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
ODS Layout
Możliwość dowolnego komponowania układu obiektów na stronie w formacie PDF. Daje możliwość tworzenia raportu z użyciem wielu warstw na jednej stronie
Page 5sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Przykładowe procedury
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Agregowanie danych: procedura FREQ
PROC FREQ DATA=zbiór_wejściowy <ORDER=porządek> <PAGE>;<BY zmienne_grupujące ;>TABLES tablice_częstości </ opcje> ;<WEIGHT zmienna_ważąca ;>
RUN;
Przykład:
PROC FREQ DATA=klasa;
TABLES plec wiek;
RUN;
PLEC WIEK WZROST
Chłopiec 14 143.2
Dziewczyna 13 141.5
Chłopiec 14 150.5
Dziewczyna 14 142.1
Chłopiec 13 144.8
Page 6sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Agregowanie danych: zapis agregatów do zbioru
Przykład:
PROC FREQ DATA=klasa NOPRINT;
TABLES plec / OUT=freq1;
TABLES wiek / OUT=freq2;
RUN;
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Agregowanie danych: tablice częstości typu Two-Way
Przykład:
PROC FREQ DATA=klasa;
TABLES plec*wiek;
RUN;
Table of PLEC by WIEK
PLEC WIEK
Frequency |
Percent |
Row Pct |
Col Pct | 13| 14| Total
------------------------------
Chłopiec | 1 | 2 | 3
| 20.00 | 40.00 | 60.00
| 33.33 | 66.67 |
| 50.00 | 66.67 |
------------------------------
Dziewczyna | 1 | 1 | 2
| 20.00 | 20.00 | 40.00
| 50.00 | 50.00 |
| 50.00 | 33.33 |
------------------------------
Total 2 3 5
40.00 60.00 100.00
PLEC WIEK WZROST
Chłopiec 14 143.2
Dziewczyna 13 141.5
Chłopiec 14 150.5
Dziewczyna 14 142.1
Chłopiec 13 144.8
Page 7sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Agregowanie danych: procedura MEANS
PROC MEANS DATA=zbiór_wejściowy <opcje> <statystyki> ;
VAR zmienne_analizowane ;
<CLASS zmienne_klasyfikujące ;>
<TYPES hierarchia zmiennych klasyfikujących;>
<WAYS lista liczb definiujących hierarchie;>
<BY zmienne_klasyfikujące ;>
<FREQ zmienna_z_częstością ;>
<WEIGHT zmienna_ważąca ;>
<OUTPUT OUT=zbiór_wynikowy <opcje_statystyk> ;>
RUN;
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Agregowanie danych: procedura MEANS - raport
Przykład:
PROC MEANS DATA=klasa MEAN;
CLASS plec wiek;
VAR wzrost;
RUN;
Wynik w OUTPUT:
Analysis Variable : WZROST
N
PLEC WIEK Obs Mean
-------------------------------------------------
Chłopiec 13 1 144.8000000
14 2 146.8500000
Dziewczyna 13 1 141.5000000
14 1 142.1000000
-------------------------------------------------
Page 8sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Agregowanie danych: procedura MEANS – zapis wyników do zbioru
Przykład:
PROC MEANS DATA=klasa NOPRINT;
CLASS plec wiek;
VAR wzrost;
OUTPUT OUT=wzrosty MEAN=;
PROC PRINT NOOBS;
FORMAT _TYPE_ BINARY2.;
RUN;
Zbiór wynikowy:
PLEC WIEK _TYPE_ _FREQ_ WZROST-------------------------------------------------
. 00 5 144.42013 01 2 143.15014 01 3 145.267
Chłopiec . 10 3 146.167Dziewczyna . 10 2 141.800Chłopiec 13 11 1 144.800Chłopiec 14 11 2 146.850Dziewczyna 13 11 1 141.500Dziewczyna 14 11 1 142.100
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Agregowanie danych: procedura MEANS – N-WAY
Przykład:
PROC MEANS DATA=klasa NOPRINT NWAY;
CLASS plec wiek;
VAR wzrost;
OUTPUT OUT=wzrosty MEAN=;
RUN;
PROC PRINT NOOBS;
FORMAT _TYPE_ BINARY2.;
RUN;
Wynik:
PLEC WIEK _TYPE_ _FREQ_ WZROST-------------------------------------------------Chłopiec 13 11 1 144.800Chłopiec 14 11 2 146.850Dziewczyna 13 11 1 141.500Dziewczyna 14 11 1 142.100
Page 9sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Agregowanie danych: procedura MEANS –WAYS i TYPES
Przykłady:
PROC MEANS DATA=kurs.class;
CLASS plec kolor miejscowosc ;
VAR wzrost;
WAYS 1 2;
RUN;
PROC MEANS DATA=kurs.class;
CLASS plec kolor miejscowosc ;
VAR wzrost;
TYPES plec plec*kolor plec*miejscowosc;
RUN;
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Procedura Tabulate
• Przykład raportu uzyskanego za pomocą procedury TABULATE:
18
Page 10sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Procedura Tabulate
PROC TABULATE DATA=zbiór-sas-data OUT=zbiór-sas-data <OPCJE>;
CLASS zmienne klasyfikujące;
VAR zmienne analizowane;
TABLE strona,wyrażenie dla wiersza,wyrażenie dla kolumny;
FORMAT zmienna1 nazwa_formatu zmienna2 nazwa_formatu;
KEYLABEL zmienna='etykieta';
LABEL zmienna='etykieta';
RUN;
19
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Procedura Tabulate: instrukcja TABLE
• Pozwala zdefiniować wymiar tabeli (1-3) i jej strukturę
• Wyrażenie w instrukcji TABLE składa się z elementów i operatorów:
• Elementy:
- Zmienne
- Statystyki
• Operatory:
- Operator nawiasu ()
- Operator spacji
- Operator gwiazdki *
- Operator przecinka ‘,’
20
Page 11sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Procedura Tabulate: instrukcja TABLE
table towar, nazwisko*mies
21
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Procedura Tabulate: statystyki
• W wyrażeniu TABLE mogą występować dowolne statystyki:
• Przykładowe statystyki:
• MEAN
• STD
• MIN
• SUM
• PCTN
• PCTSUM
• ROWPCTSUM
• UWAGA:
• Statystyki można definiować tylko w jednym wymiarze tabeli !!!
22
Page 12sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Procedura Tabulate: statystyki
Przykład:
23
proc tabulate data=kurs.sprzedaz;
var wartosc liczba;
table wartosc*mean liczba*mean;
run;
proc tabulate data=kurs.sprzedaz;
var wartosc liczba;
table (wartosc liczba)*mean;
run;
proc tabulate data=kurs.sprzedaz;
var wartosc liczba;
table mean*(wartosc liczba);
run;
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Procedura Tabulate
Przykład:
24
proc format;
value mies
1 ='Styczen'
2 ='Luty'
3 ='Marzec'
4 ='Kwiecien'
;
run;
proc tabulate data=dane.sprzedaz;
class nazwisko mies;
table nazwisko mies;
format mies mies.;
run;
Tabela wynikowa:
Page 13sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Procedura Tabulate
Grupowanie z użyciem formatów
25
Przykład:
proc format;
value tydz
1-4 ="Pierwsza polowa"
5-6="Druga połowa"
7="Niedziela"
;
run;
proc tabulatedata=dane.sprzedaz;
class dzien;
table dzien;
format dzien tydz.;
label dzien='Tydzien';
run;
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Procedura Tabulate
Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:
• Instrukcja LABEL
• Instrukcja KEYLABEL
• Operator = w wyrażeniu TABLE
26
label towar='Produkt';
keylabel mean='Średnia';
table towar,(nazwisko='' all)*wartosc=''*sum=''
wartosc=''*mean='Średnio';
Page 14sas.com
Copyr ight © SAS Inst i tute Inc . Al l r ights reserved.
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Procedura Tabulate
Sposoby formatowania wartości komórek tabeli:
• Modyfikator formatu f używany w wyrażeniu TABLE (wraz z operatorem *) pozwala na formatowanie poszczególnych kolumn tabeli.
27
proc tabulate data=dane.sprzedaz;
var wartosc liczba;
table mean max,wartosc*f=dollar10. liczba*f=commax6.2;
run;
sas.com
C o p yr i ght © S A S In s t i t ute In c . A l l r i gh t s r e se r ve d .
Dziękujemy za udział
top related