sas 4gl...procedura tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

14
Page 1 sas.com Copyright © SAS Institute Inc. All rights reserved. Copyright © SAS Institute Inc. All rights reserved. SAS 4GL ODS, przykładowe procedury. [email protected] Copyright © SAS Institute Inc. All rights reserved. ODS Output Delivery System

Upload: others

Post on 24-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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.

[email protected]

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 2: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 3: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 4: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 5: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 6: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 7: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 8: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 9: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 10: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 11: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 12: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 13: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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 14: SAS 4GL...Procedura Tabulate pozwala na definiowanie etykiet dla kolumn tabeli na trzy sposoby:

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ł