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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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

• Zur Verfügung stehende Techniken<br />

o <strong>PROC</strong> <strong>SQL</strong> mit CREATE TABLE und SELECT aus 2 <strong>Data</strong>sets ohne Angabe<br />

von JOIN-Bedingung<br />

o DATA <strong>Step</strong> mit zweitem SET und POINT-Option<br />

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

o <strong>PROC</strong> <strong>SQL</strong><br />

o Vorteil <strong>PROC</strong> <strong>SQL</strong><br />

• Das kartesische Produkt ist die grundlegende Arbeitsweise des<br />

<strong>PROC</strong> <strong>SQL</strong> beim JOIN<br />

• <strong>Data</strong>set kann gle<strong>ich</strong> r<strong>ich</strong>tig sortiert werden<br />

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

• Sehr aufwändig zu realisieren<br />

• Man muss selbst eine Schleife codieren, in der für jeden Datensatz<br />

aus <strong>Data</strong>set 1 alle Datensätze des <strong>Data</strong>sets 2 eingelesen werden<br />

• Man muss selbst dafür Sorge tragen, dass der DATA <strong>Step</strong> terminiert<br />

und keine Endlosschleife resultiert<br />

• TIPP<br />

o In diesem Ausnahmefall darf bei <strong>PROC</strong> <strong>SQL</strong> die <strong>SAS</strong> NOTE bzgl. des<br />

kartesischen Produkts ignoriert werden<br />

• Spielstand nach diesem Arbeitsschritt<br />

o <strong>PROC</strong> <strong>SQL</strong> gle<strong>ich</strong>t aus zum 3 : 3<br />

• Beispielprogramm<br />

/**<br />

Erzeugen eines neuen <strong>Data</strong>sets mit einem Datensatz pro<br />

Mannschaft und Spieltag<br />

- Hinweis: Man benötigt ein kartesisches Produkt<br />

/**/<br />

/** Alternative 1: <strong>PROC</strong> <strong>SQL</strong> mit SELECT Zugriff auf 2<br />

Tabellen ohne Join-Bedingung<br />

/**/<br />

<strong>PROC</strong> <strong>SQL</strong> NOPRINT;<br />

CREATE TABLE Liga.LigaTabelle_01 AS<br />

SELECT a.Saison<br />

, b.Spieltag<br />

, 0 Format=DDMMYY10. AS Datum<br />

, a.Team<br />

, 0 As TabellenPlatz<br />

, b.Spieltag As Spiele<br />

, 0 As PunkteHeute<br />

, 0 As TorePlusHeute<br />

, 0 As ToreMinusHeute<br />

, 0 As Punkte<br />

, 0 As Tordifferenz<br />

, 0 As TorePlus<br />

, 0 As ToreMinus<br />

, 0 As OK<br />

FROM Liga.SaisonTeams a<br />

35

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!