Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SAS Backstage Biljana Gigić1, Andreas Deckert2

Ähnliche Präsentationen


Präsentation zum Thema: "SAS Backstage Biljana Gigić1, Andreas Deckert2"—  Präsentation transkript:

1 SAS Backstage Biljana Gigić1, Andreas Deckert2
1 Deutsches Krebsforschungszentrum / Nationales Centrum für Tumorerkrankungen (Heidelberg) 2 Institute of Public Health / Institut für Medizinische Biometrie und Informatik (Heidelberg) 16. Konferenz der SAS-Anwender in Forschung und Entwicklung (KSFE) an der Technischen Universität Dresden, Fakultät Wirtschaftswissenschaften

2 - 2 - Note: Invalid data... NOTE: Invalid data for Tore in line RULE: ,Manuel,Neuer,25,keine Tore,Tor 32 Vorname=Manuel Nachname=Neuer Position=Tor Nummer=1 Spiele=25 Tore=. _ERROR_=1 _N_=1 NOTE: Invalid data for Tore in line ,Mats,Hummels,12,keine Tore,Abwehr 35 Vorname=Mats Nachname=Hummels Position=Abwehr Nummer=5 Spiele=12 Tore=. _ERROR_=1 _N_=5

3 Überblick Verarbeitungsphasen eines SAS DATA Steps LENGTH Anweisung
- 3 - Überblick Verarbeitungsphasen eines SAS DATA Steps Kompilierungsphase Input Buffer Program Data Vector Beschreibender Teil Ausführungsphase LENGTH Anweisung PUTLOG Anweisung DEBUG Option MERGE Verarbeitung

4 Einlesen von Rohdaten - 4 - EM2012.csv data work.EM2012;
1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld 7,Simon,Rolfes,26,2,Mittelfeld 8,Mezut,Ösil,30,8,Mittelfeld 9,Andre,Schürrle,11,5,Mittelfeld 11,Miroslav,Klose,113,63,Angriff 12,Tim,Wiese,5,,Tor 13,Thomas,Müller,25,10,Mittelfeld 14,Holger,Badstuber,18,1,Abwehr 15,Christian,Träsch,10,,Abwehr 16,Phillip,Lahm,85,4,Abwehr 17,Sven,Bender,3,,Mittelfeld 18,Toni,Kroos,24,2,Mittelfeld 19,Cacau,,21,5,Angriff 20,Jerome,Boateng,19,,Abwehr 21,Marco,Reus,3,,Mittelfeld 23,Mario,Gomez,50,21,Angriff 24,Lars,Bender,3,,Mittelfeld ,Ron-Robert,Zieler,1,0,Tor ,Arne,Friedrich,82,1,Abwehr ,Per,Mertesacker,79,1,Abwehr ,Mario,Götze,,12,2,Mittelfeld ,Ilkay,Gündogan,1,0,Mittelfeld ,Lewis,Holtby,2,0,Mittelfeld ,Lukas,Podolski,95,43,Mittelfeld ,Sebastian,Rudy,0,0,Mittelfeld ,Bastian,Schweinsteiger,90,23,Mittelfeld data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; proc print data=work.EM2012 (obs=6) noobs; title 'Nationalmannschaft 2012'; 1 Listenorientiertes Einlesen von Rohdaten: SAS Help Inhalt  SAS Products  Base SAS  Step-by-Step Programming with Base SAS Software  Getting your Data into Shape  Starting with Raw Data: The Basics

5 Verarbeitungsphasen des SAS DATA Steps
Flow of Action in the Data Step - 5 - compiles SAS statements (includes syntax checking) COMPILATION PHASE Verarbeitungsphasen des SAS DATA Steps creates an input buffer a program data vector descriptor information begins with a DATA statement (counts iterations) EXECUTION PHASE sets variable values to missing in the program data vector data-reading statement: is there a record to read? closes data set; Goes on the next DATA or PROC step NO YES reads an input record executes additional executable statements writes an observation to the SAS data set returns to the beginning of the DATA step Abbildung 1: SAS Datastep Verarbeitung [1]

6 Kompilierung - 6 - Input Buffer PDV data work.EM2012;
infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; proc print data=work.EM2012 (obs=6) noobs; title 'Nationalmannschaft 2012'; Input Buffer 1 2 3 4 5 6 7 8 9 PDV Nummer N 8

7 Kompilierung - 6 - Input Buffer PDV data work.EM2012;
infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; proc print data=work.EM2012 (obs=6) noobs; title 'Nationalmannschaft 2012'; Input Buffer 1 2 3 4 5 6 7 8 9 PDV Nummer N 8 Vorname $ 8

8 Kompilierung - 6 - Input Buffer PDV data work.EM2012;
infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; proc print data=work.EM2012 (obs=6) noobs; title 'Nationalmannschaft 2012'; Input Buffer 1 2 3 4 5 6 7 8 9 PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 1

9 Kompilierung - 6 - Beschreibender Teil work.EM2012 data work.EM2012;
infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; proc print data=work.EM2012 (obs=6) noobs; title 'Nationalmannschaft 2012'; Beschreibender Teil work.EM2012 Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8

10 Verarbeitungsphasen des SAS DATA Steps
Flow of Action in the Data Step - 7 - compiles SAS statements (includes syntax checking) COMPILATION PHASE Verarbeitungsphasen des SAS DATA Steps creates an input buffer a program data vector descriptor information begins with a DATA statement (counts iterations) EXECUTION PHASE sets variable values to missing in the program data vector data-reading statement: is there a record to read? closes data set; Goes on the next DATA or PROC step NO YES Input Buffer 1 2 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 1 , M a n u e l , N e u e r , 2 5 , , T o r reads an input record PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 executes additional executable statements 1 Manuel Neuer 25 . Tor 1 writes an observation to the SAS data set work.EM2012 Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 returns to the beginning of the DATA step 1 Manuel Neuer 25 . 25

11 Ausführung Initialisierung PDV - 8 - Input Buffer PDV 1 2 3 1 2 3 4 5
1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Initialisierung PDV Input Buffer 1 2 3 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 . . . 1

12 Ausführung - 8 - Input Buffer PDV 1 2 3 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6
1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Input Buffer 1 2 3 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 . . . 1

13 Ausführung - 10 - Input Buffer PDV 1 , M a n u e l , N e u e r , 2 5 ,
1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Input Buffer 1 2 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 1 , M a n u e l , N e u e r , 2 5 , , T o r PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 . . . 1

14 Ausführung - 10 - Input Buffer PDV 1 , M a n u e l , N e u e r , 2 5 ,
1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Input Buffer 1 2 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 1 , M a n u e l , N e u e r , 2 5 , , T o r PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 1 Manuel Neuer 25 . Tor 1

15 Ausführung Impliziter OUTPUT; Impliziter RETURN; - 10 - Input Buffer
1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Impliziter OUTPUT; Impliziter RETURN; Input Buffer 1 2 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 1 , M a n u e l , N e u e r , 2 5 , , T o r PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 1 Manuel Neuer 25 . Tor 1

16 - 11 - Ausführung Die erste Beobachtung wurde vom PDV in die neue SAS Datei transferiert. work.EM2012 Nummer N 8 Vorname $ 8 Nachname Spiele N 8 Tore N 8 Position $ 8 1 Manuel Neuer 25 . Tor

17 Reinitialisierung PDV
- 12 - Ausführung 1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Reinitialisierung PDV Input Buffer 1 2 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 1 , M a n u e l , N e u e r , 2 5 , , T o r PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 . . . 2

18 Ausführung - 12 - Input Buffer PDV 1 , M a n u e l , N e u e r , 2 5 ,
1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Input Buffer 1 2 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 1 , M a n u e l , N e u e r , 2 5 , , T o r PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 . . . 2

19 Ausführung - 13 - Input Buffer PDV 2 , M a r c e l , S c h m e l z e r
1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Input Buffer 1 2 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 2 , M a r c e l , S c h m e l z e r , 1 2 , PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 . . . 2

20 Ausführung - 14 - Input Buffer PDV 2 , M a r c e l , S c h m e l z e r
1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Input Buffer 1 2 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 2 , M a r c e l , S c h m e l z e r , 1 2 , PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 2 Marcel Schmelze 12 . Abwehr 2

21 Ausführung Impliziter OUTPUT; Impliziter RETURN; - 14 - Input Buffer
1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Impliziter OUTPUT; Impliziter RETURN; Input Buffer 1 2 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 2 , M a r c e l , S c h m e l z e r , 1 2 , PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 2 Marcel Schmelze 12 . Abwehr 2

22 - 15 - Ausführung Die zweite Beobachtung wurde vom PDV in die neue SAS Datei transferiert. work.EM2012 Nummer N 8 Vorname $ 8 Nachname Spiele N 8 Tore N 8 Position $ 8 1 Manuel Neuer 25 . Tor 2 Marcel Schmelze 12 . Abwehr

23 Wiederholung bis zum Ende der Rohdaten-Datei
- 16 - Ausführung 1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; Wiederholung bis zum Ende der Rohdaten-Datei Input Buffer 1 2 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 2 , M a r c e l , S c h m e l z e r , 1 2 , PDV Nummer N 8 Vorname $ 8 Nachname $ 8 Spiele N 8 Tore N 8 Position $ 8 _N_ N 8 _ERROR_ N 8 2 Marcel Schmelze 12 . Abwehr 2

24 Verarbeitungsphasen des SAS DATA Steps
Flow of Action in the Data Step - 17 - compiles SAS statements (includes syntax checking) COMPILATION PHASE Verarbeitungsphasen des SAS DATA Steps creates an input buffer a program data vector descriptor information 1,Manuel,Neuer,25,,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... begins with a DATA statement (counts iterations) EXECUTION PHASE sets variable values to missing in the program data vector data-reading statement: is there a record to read? data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; proc print data=work.EM2012 (obs=6) noobs; title 'Nationalmannschaft 2012'; closes data set; Goes on the next DATA or PROC step NO YES reads an input record executes additional executable statements writes an observation to the SAS data set returns to the beginning of the DATA step

25 LENGTH Statement data work.EM2012; infile 'x:\EM2012.csv' dsd;
- 18 - LENGTH Statement data work.EM2012; infile 'x:\EM2012.csv' dsd; length Vorname $ 18 Nachname $ 12 Position $ 10; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; proc print data=work.EM2012 (obs=6) noobs; title 'Nationalmannschaft 2012'; work.EM2012 (mit LENGTH Anweisung) work.EM2012 (ohne LENGTH Anweisung) Beschreibender Teil work.EM2012 Vorname $ 18 Nachname $ 12 Position $ 10 Nummer N 8 Spiele N 8 Tore N 8

26 - 19 - PUTLOG Statement ...ermöglicht unter anderem das Schreiben des aktuellen oder eines bestimmten Inhaltes des Program Data Vectors im Log. data work.EM2012; infile 'x:\EM2012.csv' dsd; length Vorname $ 18 Nachname $ 12 Position $ 10; input Nummer Vorname $ Nachname $ Spiele Tore Position $; putlog _ALL_; run; Ein Auszug aus dem SAS Log: Vorname=Manuel Nachname=Neuer Position=Tor Nummer=1 Spiele=25 Tore=. _ERROR_=0 _N_=1 Vorname=Marcel Nachname=Schmelzer Position=Abwehr Nummer=2 Spiele=12 Tore=. _ERROR_=0 _N_=2 Vorname=Benedikt Nachname=Höwedes Position=Abwehr Nummer=3 Spiele=6 Tore=. _ERROR_=0 _N_=3 Vorname=Dennis Nachname=Aogo Position=Abwehr Nummer=4 Spiele=9 Tore=. _ERROR_=0 _N_=4 Vorname=Mats Nachname=Hummels Position=Abwehr Nummer=5 Spiele=12 Tore=. _ERROR_=0 _N_=5 Vorname=Sami Nachname=Khedira Position=Mittelfeld Nummer=6 Spiele=24 Tore=1 _ERROR_=0 _N_=6

27 - 20 - Note: Invalid data... 1,Manuel,Neuer,25,keine Tore,Tor 2,Marcel,Schmelzer,12,,Abwehr 3,Benedikt,Höwedes,6,,Abwehr 4,Dennis,Aogo,9,,Abwehr 5,Mats,Hummels,12,keine Tore,Abwehr 6,Sami,Khedira,24,1,Mittelfeld ... data work.EM2012; infile 'x:\EM2012.csv' dsd; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; proc print data=work.EM2012 (obs=6) noobs; title 'Nationalmannschaft 2012'; NOTE: Invalid data for Tore in line RULE: ,Manuel,Neuer,25,keine Tore,Tor 32 Vorname=Manuel Nachname=Neuer Position=Tor Nummer=1 Spiele=25 Tore=. _ERROR_=1 _N_=1 NOTE: Invalid data for Tore in line ,Mats,Hummels,12,keine Tore,Abwehr 35 Vorname=Mats Nachname=Hummels Position=Abwehr Nummer=5 Spiele=12 Tore=. _ERROR_=1 _N_=5

28 DEBUG Option Interaktive Schnittstelle zum DATA Step
- 21 - DEBUG Option Interaktive Schnittstelle zum DATA Step Kann nicht mit einem PROC Step verwendet werden Ermitteln von logischen Fehlern Schrittweise Ausführung von SAS DATA Steps Prüfen des Wertes einer oder mehrerer Variablen im PDV data work.EM2012 / DEBUG; infile 'x:\EM2012.csv' dsd; length Vorname $ 18 Nachname $ 12 Position $ 10; input Nummer Vorname $ Nachname $ Spiele Tore Position $; run; 1 Data Step Debugger-Dokumentation: SAS Help Inhalt  SAS Products  Base SAS  Base SAS 9.3 Utilities: Reference  DATA Step Debugger

29 DEBUG Befehle STEP (Schrittweise Ausführung von SAS DATA Steps)
- 22 - DEBUG Befehle STEP (Schrittweise Ausführung von SAS DATA Steps) EXAMINE (Prüfen des Wertes einer oder mehrerer Variablen) WATCH (Änderung der Werte einer oder mehrerer Variablen beobachten) DESCRIBE (Metadaten ausgeben) QUIT (Debugger-Session beenden) ...

30 - 23 -

31 - 24 -

32 BY-Anweisung erzeugt zwei temporäre Variablen im PDV.
- 25 - MERGE Backstage Verknüpfung von work.EM08 und work.EM12 über die Variable Nachname zu work.EM. Beide SAS Dateien sind nach Nachname sortiert. work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 data work.EM; merge work.EM08 work.EM12; by Nachname; run; BY-Anweisung erzeugt zwei temporäre Variablen im PDV. _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 1

33 MERGE Backstage Initialisierung PDV - 26 - Nachname Position Spiele
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 data work.EM; merge work.EM08 work.EM12; by Nachname; run; Initialisierung PDV _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 1 . . .

34 MERGE Backstage JA - 27 - Nachname Position Spiele Klose Angriff 81
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 data work.EM; merge work.EM08 work.EM12; by Nachname; run; Stimmen die Werte der BY-Variablen überein? JA _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 1 . 1 1

35 MERGE Backstage - 28 - Nachname Position Spiele Klose Angriff 81
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 data work.EM; merge work.EM08 work.EM12; by Nachname; run; Einlesen einer Beobachtung aus work.EM08 und work.EM12 _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 1 Klose Angriff 113 1 1

36 MERGE Backstage Impliziter OUTPUT; Impliziter RETURN; - 29 - Nachname
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 data work.EM; merge work.EM08 work.EM12; by Nachname; run; Impliziter OUTPUT; Impliziter RETURN; _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 1 Klose Angriff 113 1 1

37 MERGE Backstage NEIN - 30 - Nachname Position Spiele Klose Angriff 81
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 data work.EM; merge work.EM08 work.EM12; by Nachname; run; Stimmen die Werte der BY-Variablen überein? NEIN _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 2 Klose Angriff 113 1 1

38 MERGE Backstage NEIN - 31 - Nachname Position Spiele Klose Angriff 81
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 data work.EM; merge work.EM08 work.EM12; by Nachname; run; Ist einer der Nachnamen gleich dem Nachnamen im PDV? NEIN _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 2 Klose Angriff 113 1 1

39 Reinitialisierung PDV
- 32 - MERGE Backstage work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 data work.EM; merge work.EM08 work.EM12; by Nachname; run; Reinitialisierung PDV _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 2 . . .

40 MERGE Backstage - 33 - Nachname Position Spiele Klose Angriff 81
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 data work.EM; merge work.EM08 work.EM12; by Nachname; run; Beobachtung aus work.EM12 einlesen _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 2 Kroos 24 1 1

41 MERGE Backstage Impliziter OUTPUT; Impliziter RETURN; - 34 - Nachname
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 data work.EM; merge work.EM08 work.EM12; by Nachname; run; Impliziter OUTPUT; Impliziter RETURN; _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 2 Kroos 24 1 1

42 MERGE Backstage EOF NEIN - 35 - Nachname Position Spiele Klose Angriff
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 EOF data work.EM; merge work.EM08 work.EM12; by Nachname; run; Ist der Nachname gleich dem Nachnamen im PDV? NEIN _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 3 Kroos 24 1 1

43 Reinitialisierung PDV
- 36 - MERGE Backstage work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 EOF data work.EM; merge work.EM08 work.EM12; by Nachname; run; Reinitialisierung PDV _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 3 . . .

44 MERGE Backstage EOF - 37 - Nachname Position Spiele Klose Angriff 81
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 EOF data work.EM; merge work.EM08 work.EM12; by Nachname; run; Beobachtung aus work.EM08 einlesen _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 3 Kuranyi Angriff 50 1 1

45 MERGE Backstage EOF Impliziter OUTPUT; Impliziter RETURN; - 38 -
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 EOF data work.EM; merge work.EM08 work.EM12; by Nachname; run; Impliziter OUTPUT; Impliziter RETURN; _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 3 Kuranyi Angriff 50 1 1

46 MERGE Backstage EOF EOF - 39 - Nachname Position Spiele Klose Angriff
work.EM08 work.EM12 Nachname Position Spiele Klose Angriff 81 Kuranyi 50 Nachname Spiele Klose 113 Kroos 24 EOF EOF data work.EM; merge work.EM08 work.EM12; by Nachname; run; work.EM Nachname Position Spiele Klose Angriff 113 Kroos 24 Kuranyi 50 _N_ _ERROR_ Nachname Position Spiele FIRST. Nachname LAST. Nachname 3 Kuranyi Angriff 50 1 1

47 - 40 - Literatur [1] (letzer Zugriff: 21. Februar 2012) [2] SAS Help [3] SAS® Certification Prep Guide: Base Programming for SAS®9


Herunterladen ppt "SAS Backstage Biljana Gigić1, Andreas Deckert2"

Ähnliche Präsentationen


Google-Anzeigen