29
Copyright © 2014, SAS Institute Inc. All rights reserved. Webinar@Lunchtime: SAS Data Step 2 next generation Karin Gross

Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Embed Size (px)

Citation preview

Page 1: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

Webinar@Lunchtime:

SAS Data Step 2 – next generation

Karin Gross

Page 2: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

ModerationAnne K. Bogner-Hamleh

SAS Institute GmbH

Education Consultant

Xing-Profil:http://www.xing.com/profile/AnneKatrin_BognerHamleh?key=0.0

WEBINAR@LUNCHTIME HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME

Hinweise zum Ablauf des Webinars:

• Teilnehmer sind automatisch “stumm” geschaltet

• Sie können Nachrichten an den Moderator senden und Fragen stellen

• die Veranstaltung wird aufgezeichnet

TrainingKarin Gross

SAS Institute GmbH

Manager SAS Education

Services

Xing-Profil:http://www.xing.com/profile/Karin_Gross2

Page 3: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

AGENDA

• Was ist DS2?

• Warum DS2?

• Was ist neu in DS2?

• Wo kann der DS2 ausgeführt werden?

• Wann nutze ich DS2?

• Einführung in ein DS2-Programm

WEBINAR@LUNCHTIME

Page 4: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

FRAGE

Mögliche

Antworten

FRAGE (MEHRFACHAUSWAHL MÖGLICH)

Welche dieser SAS Programmiersprachen nutzen Sie?

a.Base SAS

b.SQL

c.Makro

d.DS2

Page 5: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

• Ersetzt NICHT den Base SAS Data Step

• Data Step DNA ist klar erkennbar

• DATA und SET Anweisungen

• IF...THEN...ELSE, DO Schleifen

• Ausdrücke und Funktionen

• Arrays

• Aber es ist ein neuer DATA Step

• Keine INFILE, INPUT, MERGE, UPDATE, MODIFY Anweisung

• Methoden, Packages und Variablen-Gültigkeitsbereiche

WAS IST DS2?WEBINAR@LUNCHTIME

Page 6: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

WAS IST DS2?

• DS2 ist eine neue SAS Programmiersprache:

• ist Bestandteil von Base SAS

• hat eine ähnliche Syntax wie der Base SAS DATA Step

• bietet weiterführende Techniken zum Datenmanagement

proc ds2;data _null_;

method init();Text='Hello, World!';put Text=;

end;enddata;run;quit;

data _null_;Text='Hello, World!';put Text=;

run;

Base SAS DATA Step DS2 DATA Step

WEBINAR@LUNCHTIME

Page 7: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

WARUM DS2?

• SASige Dinge ausführen an bisher unbekannten Orten

• Moderne Programmiertechniken und -strukturen

• Strikte Variablendeklaration (optional)

• Gültigkeitsbereiche von Variablen

• Methoden

• Vordefinierte (INIT, RUN, TERM)

• Benutzerdefinierte

• Variablenkapselung

• Packages

• Vordefinierte (HASH, SQLSTMT, Logger, FCMP, …)

• Benutzerdefinierte

WEBINAR@LUNCHTIME

Page 8: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

WAS IST NEU IN DS2?

• DS2 verbessert die Erweiterbarkeit und Wiederverwendbarkeit von Code

durch den Einsatz von Methoden und Packages.

Methoden und Packages können vordefiniert oder benutzerdefiniert sein.

Package

Method A… method code …

Method B… method code …

WEBINAR@LUNCHTIME

Page 9: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

WAS IST NEU IN DS2?

• DS2 unterstützt ANSI SQL Datentypen für das exakte Datenmanagement.

• Beispiele:

Datentyp Beispiele

Rationale Zahlen DECIMAL, DOUBLE, FLOAT, REAL

Ganzzahlen BIGINT, INTEGER, SMALLINT, TINYINT

Datum und Zeit DATE, TIME, TIMESTAMP

Text CHAR, NCHAR, VARCHAR,

NVARCHAR

Numerische Variablen im “alten” DS: DOUBLE

Alphanumerische Variablen im “alten” DS: CHAR

WEBINAR@LUNCHTIME

Page 10: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

WAS IST NEU IN DS2?

• Base SAS DATA Step verarbeitet alle Beobachtungen sequentiell.

• DS2 kann Beobachtungen parallel verarbeiten.

DS2 DS2 DS2

WEBINAR@LUNCHTIME

Page 11: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

WAS IST NEU IN DS2?

• Mit dem SAS In-Database Code Accelerator kann DS2-Code in Datenbanken

ausgeführt werden (Greenplum, Teradata, Netezza, HADOOP).

RDBMS

DS2 DS2 DS2

WEBINAR@LUNCHTIME

Page 12: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

WIE WERDEN DS2 PROGRAMME ERSTELLT?

• DS2-Programme werden in einer dieser Prozeduren erstellt:

• PROC DS2

• PROC HPDS2

WEBINAR@LUNCHTIME

Page 13: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

WANN NUTZE ICH DS2?

• DS2 kann auf Daten aus den folgenden Datenquellen zugreifen:

• Für den Zugriff auf Daten des DBMS wird FedSQL genutzt.

Aster

DB2

Greenplum

MYSQL

Netezza

ODBC-kompatible

Datenbanken

SAS Dateien

SAP

SPD Engine Dateien

Sybase IQ

Teradata

Hadoop

Oracle

WEBINAR@LUNCHTIME

Page 14: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

WANN NUTZE ICH DS2?

• DS2 Einsatz am besten in folgenden Situationen:

• Nutzen der verteilten Verarbeitung

• komplexe Berechnungen

• Ausführung in Massively Parallel Processing (MPP) Datenbanken

• DS2 Datentypen für die Exaktheit der Berechnungen erforderlich

• Einsatz der Wiederverwendbarkeit von DS2 Methoden und Packages.

DS2?

WEBINAR@LUNCHTIME

Page 15: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

GRUNDLEGENDE SYNTAX

• PROC DS2 kann drei verschiedene Elemente enthalten:

• DATA Step

• Package

• Thread

• PROC DS2 verwendet Run-Group Verarbeitung.

proc ds2;package work.pgk;

<more program statements>endpackage;run;thread work.thread;

<more program statements>endthread;run;Data work.newDataset;

<more program statements>enddata;run;quit;

WEBINAR@LUNCHTIME

Page 16: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

GRUNDLEGENDE SYNTAX

• DS2 DATA Step

• beginnt mit einer DATA Anweisung

• endet mit einer ENDDATA Anweisung

• benötigt zur Ausführung eine RUN Anweisung.

ds2_helloWorld

proc ds2;data _null_;

method init();Text = 'Hello, World!';put Text=;

end;enddata;run;quit;

WEBINAR@LUNCHTIME

Page 17: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

proc ds2;data _null_;

method init();Text = 'Hello, World!';put Text=;

end;enddata;run;quit;

GRUNDLEGENDE SYNTAX

• Neu in DS2: Methoden

• Methoden sind benannte ausführbare Codeblöcke.

• Die METHOD Anweisung benennt die Methode.

• Die END Anweisung beendet die Methode.

• Ausführbarer Code steht immer IN einer Methode.

• Methoden sind global.

• Variablen können global oder lokal sein.

WEBINAR@LUNCHTIME

Page 18: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

GRUNDLEGENDE SYNTAX

• Systemmethoden werden automatisch ausgeführt.

• INIT() – einmal zu Beginn

• RUN() – einmal für jede Zeile

• TERM() – einmal am Ende

ds2_basicMethods

data _null_;method init();

dcl varchar(20) Text;Text='**> Starting';put Text;

end; method run();

set orion.banks;put _all_;

end;method term();

dcl char(11) Text;Text='**> All done!';put Text;

end;enddata;run;

WEBINAR@LUNCHTIME

data _null_;/* Section 1 */if _n_ =1 then do;

Text='**> Starting';put Text;

end;

/* Section 2 */set orion.banks end=last;put _all_;

/* Section 3 */if last then do;

Text='**> All done!';put Text;

end;run;

Page 19: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

BEISPIEL EINER EINFACHEN DS2 METHODE

• Benutzerdefinierte Methoden

• können Argumente haben

• können einen Wert liefern

• werden beim Aufruf ausgeführt

• können mehrmals aufgerufen werden.

PROC DS2;data c2f_conv(overwrite=yes);

declare double degC degF;method c2f(double tC) returns double;

declare double tempValue;/* Celsius to Farenheit */tempValue = ( ( tC * 9 ) / 5 ) + 32;return ( tempValue );

end;method init();

do degC = 0 to 30 by 2;degF = c2f(degC);output;

end;end;

enddata;run;QUIT;

WEBINAR@LUNCHTIME

ds2_user_method_example

Page 20: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

GEMEINSAMKEITEN MIT DEM DATA STEP

Vieles ist ähnlich:

• Set Anweisung: Tabelle einlesen

• BY Group Verarbeitung mit

• First. und Last.

• DO Gruppen & Schleifen

• DO I= start TO stop BY interval

• DO WHILE () / DO UNTIL ()

• CONTINUE, LEAVE, END

• RETURN, GOTO, STOP, OUTPUT

• KEEP, DROP, RETAIN, RUN

• DS2: nur außerhalb von Methoden

WEBINAR@LUNCHTIME

Page 21: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

SECHS „KLEINE UNTERSCHIEDE“

1. Ausführbarer Code muss innerhalb einer Methode stehen.

2. Dateien, Threads und Packages werden nicht automatisch überschrieben,

Einsatz von overwrite=yes.

3. Neue Variablen sollten deklariert werden, s. SCOND Option für Proc DS2

oder DS2SCOND System Option.

4. Schlüsselwörter sind Reservierte Wörter (da gibt es eine ganze Liste… )

5. Ausgabe mit Zeilensteuerung in der PUT Anweisung wird nicht unterstützt,

PUTLOG gibt es nicht.

6. ‘ bzw. “ – jetzt ANSI Standard:

doppelte Anführungszeichen ⇒ Name (Case sensitive)

einfaches Hochkomma ⇒ Textkonstante

%TSLIT macht einfache Hochkommata um aufgelöste Makrovariablenwerte.

WEBINAR@LUNCHTIME

Page 22: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

ZUSAMMENFASSUNG

Was?

• Neue SAS Programmiersprache

• DATA Step ähnliche Syntax mit verteilter Verarbeitung

Warum?

• SAS an Stellen, die nie zuvor ein SAS gesehen haben

• Viel mehr Datentypen

• Moderne Programmmiertechniken und -strukturen

• Gültigkeitsbereiche von Variablen

• Packages

• Methods

• Threads

WEBINAR@LUNCHTIME

Page 23: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

ZUSÄTZLICHE INFORMATIONEN

• DS2 and FedSQL

• SAS 9.4 DS2 Language Reference, Second Edition

PDF (24.47MB) | HTML

• SAS 9.4 FedSQL Language Reference, Second Edition

PDF (13.13MB) | HTML

WEBINAR@LUNCHTIME

Page 24: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

FRAGE

Mögliche

Antworten

FRAGE (MEHRFACHAUSWAHL MÖGLICH)

Welche Eigenschaft des DS2 ist für Sie am

spannendsten?

a.Wiederverwendbarkeit des Codes durch Packages

b.Verteilte Verarbeitung mit Threads

c.Gleiche Datentypen wie in der Datenbank

d.Ausführung von Programmen mit dem SAS In-Database

Code Accelerator

Page 25: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

FRAGEN?

Page 26: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

VIELEN DANK FÜR IHRE TEILNAHME

Interesse an weiterem Austausch?

• Diskutieren Sie mit uns in der XING-Gruppe Business Analytics mit SAS

• Sprechen Sie uns direkt an:[email protected]

• Advanced Analytics Course Series 2015:

• September – Oktober 2015

• International bekannte Referenten

• spannende Kurse zu Data Mining und Text Mining, SAS Visual Analytics und SAS Visual Statistics, Forecasting und Fraud Detection

WEBINAR@LUNCHTIME

Page 27: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

WEITERE INFORMATIONEN UND KURSE ZU DIESEM THEMA…WEBINAR@LUNCHTIME

• Wissen kompakt: SAS® Programmierung mit dem Data Step 2

11.09.15 Köln

02.12.15 Heidelberg

• SAS® Programmierung mit dem Data Step 2 für Hadoop

Page 28: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d .

NÄCHSTES WEBINAR@LUNCHTIME:

WHAT‘S NEW IM SAS ENTERPRISE GUIDE 7.11

22. SEPTEMBER 2015

Page 29: Webinar@Lunchtime: SAS Data Step 2 next generation …€¦ · Title: SAS Data Step2 –nextgeneration Author: Christoph Morgen Keywords: null Created Date: 7/30/2015 11:35:29 AM

Copyr i g ht © 2014, SAS Ins t i tu t e Inc . A l l r ights reser ve d . www.SAS.com

FOLIEN ZUM DOWNLOAD UNTER

WWW.SAS.DE/LUNCHTIME

WIE HAT IHNEN UNSER WEBINAR GEFALLEN?