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
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
A. Bachert<br />
ToreTeam1 = SymgetN (MacVar);<br />
MacVar<br />
= CatS ('mtsp_ToreGast', i);<br />
ToreTeam2 = SymgetN (MacVar);<br />
ToreGesamt = Sum (ToreTeam1, ToreTeam2);<br />
OUTPUT;<br />
END; /* Über alle Begegnungen, in denen die meisten Tore<br />
insgesamt fielen */<br />
DROP i Anzahl MacVar;<br />
RUN;<br />
46<br />
/**<br />
Einzelstatistiken (z.B. hat der Spielbeginn einen Einfluss<br />
auf die Heimbilanz?)<br />
/**/<br />
/** Alternative 1: <strong>PROC</strong> <strong>SQL</strong>, um einzelne Statistiken in<br />
Macrovariablen zu spe<strong>ich</strong>ern und<br />
anschließend DATA <strong>Step</strong>, wo diese Werte<br />
wiederverwendet werden<br />
/**/<br />
/* Zunächst bestimmte Statistiken ermitteln */<br />
<strong>PROC</strong> <strong>SQL</strong> NOPRINT;<br />
SELECT Count (HeimVerein)<br />
INTO :g_iHeimSiege<br />
FROM resSaison<br />
WHERE SiegHeim EQ 1<br />
;<br />
SELECT Count (HeimVerein)<br />
INTO :g_iHeimRemis<br />
FROM resSaison<br />
WHERE RemisHeim EQ 1<br />
;<br />
SELECT Count (HeimVerein)<br />
INTO :g_iHeimNiederlage<br />
FROM resSaison<br />
WHERE NiederlageHeim EQ 1<br />
;<br />
QUIT;<br />
/* Zusätzl<strong>ich</strong>e Werte mit MACRO - Programmierung <strong>oder</strong><br />
'DATA _NULL_ <strong>Step</strong>' ermitteln und n<strong>ich</strong>t erneut selektieren<br />
-> Performance-Aspekt<br />
*/<br />
%LET g_iAnzahlSpiele<br />
%LET g_iGastSiege<br />
%LET g_iGastRemis<br />
%LET g_iGastNiederlage<br />
DATA _NULL_;<br />
iAnzahlSpiele<br />
= %EVAL (&g_iHeimSiege.<br />
+ &g_iHeimRemis.<br />
+ &g_iHeimNiederlage.<br />
);<br />
= &g_iHeimNiederlage.;<br />
= &g_iHeimRemis.;<br />
= &g_iHeimSiege.;<br />
= SymgetN ('g_iAnzahlSpiele');