1 Doz. Dr. Georg Quaas Institut für Empirische Wirtschaftsforschung

Werbung
1
Doz. Dr. Georg Quaas
Institut für Empirische Wirtschaftsforschung
Universität Leipzig
Übung - Lösungsvorschläge
Datenanalyse mit E-Views, Access & Excel, SPSS und LISREL
Schwerpunkt 2.4:
Arbeit mit Datenbanken (4): Das Monaden-Konzept
Anwendung der Logic des Querying
Ziel der Sitzung: Erzeugen eines Datenfiles, das geeignet ist, die Korrelation zwischen Internationalem Krieg
und Status einer Großmacht zu berechnen.
Schritt 1 (Query22):
Produzieren Sie eine Tabelle State-Years mit Hilfe der Tabelle „States2011“ und der Tabelle YEARS! Welche
Logik steht hinter der Produktion der State-Years?
Lösung:
Fügen Sie beide Tabellen in einem Query ohne Relation zusammen!
Problem am Beispiel Canadas: Existiert erst ab 1920, aber es treten Datensätze für alle Jahre auf
Die folgenden Lösungsvarianten kontrollieren anhand der Extension:
1. start > = years – falsche Auswahl
2. start < = years - besser, aber ein Jahr fehlt
3. start <= years +10000
4. Fall 265 Æ end > years
Technische Umsetzung wie beim Übungsbeispiel System_Membership:
Start < [YEARS]![DATECODE]+10000
End > [YEARS]![DATECODE]
SQL:
SELECT States2011_sup.stateabb, States2011_sup.ccode, YEARS.YEAR, States2011_sup.start AS sysmem_on, States2011_sup.end AS
sysmem_off, States2011_sup.unit
FROM States2011_sup, YEARS
WHERE (((States2011_sup.start)<[YEARS]![DATECODE]+10000) AND ((States2011_sup.end)>[YEARS]![DATECODE]));
Kontrolle durch Anzahl der Fälle: 14976
Umbenennen von Start und End in Sysmem_on Sysmem_off
Abspeichern
Exkurs: Bestimmen Sie die Anzahl der Staaten pro Jahr!
Lösung (Query23):
Erstellen eines neuen Querys: den letzten Query einbinden.
Variable; YEAR Unit
Unit bekommt den Namen NumStates
Sum anklicken, Gruppierung bei Units auf Summe stellen
SQL:
SELECT Query22.YEAR, Sum(Query22.unit) AS Summevonunit
FROM Query22
GROUP BY Query22.YEAR;
Schritt 2: Erzeugen eines Files, das die Informationen von State_Years und Major_Years vereinigt (dazu muss
erst einmal die Variable „Major“ erzeugt werden):
Teilaufgabe 2.1 (Query24): Erzeugen einer Tabelle Major_Years analog zu State_Years.
2
Für ein effektives Arbeiten kopieren Sie die Bedingung!
Benennen Sie die beiden Variablen Start und End um in Major_on und Major_off
Anzahl der Fälle: 1160
SQL:
SELECT Majors2011_sup.ccode, YEARS.YEAR, Majors2011_sup.stateabb, Majors2011_sup.start AS Major_on, Majors2011_sup.end AS
Major_off, Majors2011_sup.unit
FROM Majors2011_sup, YEARS
WHERE (((Majors2011_sup.start)<[YEARS]![DATECODE]+10000) AND ((Majors2011_sup.end)>[YEARS]![DATECODE]))
ORDER BY Majors2011_sup.ccode, YEARS.YEAR;
Teilaufgabe 2.2 (Query25): Führen Sie die beiden Tabellen in einem Query zusammen!
Anzahl der Fälle: 14976
SQL:
SELECT Query22.stateabb, Query22.ccode, Query22.YEAR, Query22.sysmem_on, Query22.sysmem_off, Query24.Major_on,
Query24.Major_off, Query22.unit, IIf([Query24]![unit]=1,1,0) AS Major
FROM Query22 LEFT JOIN Query24 ON (Query22.YEAR = Query24.YEAR) AND (Query22.ccode = Query24.ccode);
Teilaufgabe 2.3 (noch Query25): Dummy-Variable für Major
Lösung: Definition der Variablen:
Major: Wenn([Query16]![Unit]=1;1;0)
SQL:
SELECT Query22.stateabb, Query22.ccode, Query22.YEAR, Query22.sysmem_on, Query22.sysmem_off, Query24.Major_on,
Query24.Major_off, Query22.unit, IIf([Query24]![unit]=1,1,0) AS Major
FROM Query22 LEFT JOIN Query24 ON (Query22.YEAR = Query24.YEAR) AND (Query22.ccode = Query24.ccode);
Schritt 3: Fügen Sie die Internationalen Kriege aus der Tabelle Query21T hinzu!
Lösung (Query26 und 27):
1. Schritt: Inspizieren Sie die Tabelle Query21T
2. Kombinieren Sie das zuletzt erzeugte Query mit der Variable Majors mit der Tabelle Query21T
(Query26)
3. Stellen Sie fest, wie viele Zweitkriege stattfanden.
4. Konstruieren Sie eine Funktion War_UW mit Hilfe der Funktion:
Wenn(([Query21T]![UW_WR1] Ist Nicht Null) Oder ([Query21T]![UW_WR2] Ist Nicht Null);1;0)
5. Exportieren Sie das Query27 in SPSS und berechnen Sie die Korrelation zwischen Major und
Ons_War!
SQL (Query26):
SELECT Query25.stateabb, Query25.ccode, Query25.YEAR, Query25.sysmem_on, Query25.sysmem_off, Query25.Major_on,
Query25.Major_off, Query25.unit, Query25.Major, Query21T.ONS_WR1, Query21T.ONS_WR2, Query21T.UW_WR1,
Query21T.UW_WR2
FROM Query25 LEFT JOIN Query21T ON (Query25.YEAR = Query21T.YEAR) AND (Query25.ccode = Query21T.StateNumb);
SQL (Query27):
SELECT Query25.stateabb, Query25.ccode, Query25.YEAR, Query25.sysmem_on, Query25.sysmem_off, Query25.Major_on,
Query25.Major_off, Query25.unit, Query25.Major, Query21T.ONS_WR1, Query21T.ONS_WR2, Query21T.UW_WR1,
Query21T.UW_WR2, IIf(([Query21T]![UW_WR1] Is Not Null) Or ([Query21T]![UW_WR2] Is Not Null),1,0) AS War_UW
FROM Query25 LEFT JOIN Query21T ON (Query25.YEAR = Query21T.YEAR) AND (Query25.ccode = Query21T.StateNumb);
3
Herunterladen