06.11.2013 Aufrufe

Data Step oder PROC SQL – Was soll ich nehmen? 1 ... - SAS-Wiki

Data Step oder PROC SQL – Was soll ich nehmen? 1 ... - SAS-Wiki

Data Step oder PROC SQL – Was soll ich nehmen? 1 ... - SAS-Wiki

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Base <strong>SAS</strong><br />

END;<br />

ELSE DO;<br />

RETURN;<br />

END;<br />

DROP RecNum;<br />

RUN;<br />

/**/<br />

4.8 Daten eines <strong>Data</strong>sets aktualisieren mit Werten einer Nachschlagetabelle<br />

• Szenario<br />

o Im <strong>Data</strong>set LIGA.LIGATABELLE <strong>soll</strong>en pro Saison, Team und Spieltag<br />

die erre<strong>ich</strong>ten Punkte und Tore kumuliert werden, so dass anschließend die<br />

Punktetabelle je Spieltag ermittelt werden kann<br />

• Benötigt werden aus LIGA.RESULTS: Datum, ToreHeim und<br />

ToreGast<br />

o Problem<br />

• Einfacher Join geht n<strong>ich</strong>t, da das Team ja Heim- <strong>oder</strong> Gastmannschaft<br />

sein kann<br />

• Zur Verfügung stehende Techniken<br />

o DATA <strong>Step</strong> mit BY-Verarbeitung<br />

o <strong>SQL</strong> Join bzw. <strong>SQL</strong> SELECT mit Formaten scheidet aus, da n<strong>ich</strong>t in einem<br />

Schritt realisierbar<br />

• Empfehlung für/ Vorteile der anzuwendende(n) Technik<br />

o DATA <strong>Step</strong><br />

o Vorteile DATA <strong>Step</strong><br />

• Mit HASHTABLE-Lookup können gle<strong>ich</strong>zeitig mehrere Schlüssel<br />

abgegl<strong>ich</strong>en und mehrere Zielwerte übernommen werden<br />

• Die Hashtabelle muss vorher n<strong>ich</strong>t sortiert sein<br />

• Die Hashtabelle wird in den Hauptspe<strong>ich</strong>er gelesen, wodurch das<br />

Nachschlagen sehr schnell geht (Vors<strong>ich</strong>t bei sehr großen Tabellen<br />

wegen Spe<strong>ich</strong>erplatz!)<br />

• Mehrere Hashtabellen sind mögl<strong>ich</strong><br />

• BY- Verarbeitung im DATA <strong>Step</strong> ermögl<strong>ich</strong>t Kumulieren<br />

• TIPP<br />

o Hat man variable Joins, ggf. unterschiedl<strong>ich</strong>e Nachschlage-Tabellen mit<br />

unterschiedl<strong>ich</strong>e Nachschlage-Werten<br />

• => DATA <strong>Step</strong> mit HASHTABLE-Lookup<br />

• Spielstand nach diesem Arbeitsschritt<br />

o Erneute Führung für DATA <strong>Step</strong> 4 : 3<br />

• Beispielprogramm<br />

/**<br />

Füllen der Ligatabelle mit den Ergebnissen der einzelnen<br />

37

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!