Hi,
ich habe eine Umfrage auszuwerten. Hierzu gibt es Themen, welche als Spalten in einer Tabelle angeordnet sind. Pro Datensatz (also pro Teilnehmer) gibt es eine Zeile mit den Werten der Umfrage:
Beispiel:
tbl_Umfrage
ID | Thema_1 | Thema_2 | Thema_3 usw
1 | 2 | 3 | 1
2 | 6 | 4 | 5
Zur Beantwortung hatten die befragten die Auswahl zwischen 1 und 6.
Wie kann ich nun einen Bericht erstellen welcher mir die Anzahl der jeweiligen Antworten nach Thema wiedergibt...
Also Beispiel:
1 | 2 | 3 | 4 | 5 | 6
Thema 1: 10 | 5 | 17 | 20 | 3 | 7 Gesamt 62 // Durchschnitt 3,35
Thema 2: 7 | 3 | 12 | 14 | 21 | 5 Gesamt 62 // Durchschnitt 3,87
Also die Themen sollen untereinander in Zeilen stehen, die möglichen Antworten 1 - 6 in Spalten und die jeweilig abgegebene Anzahl an Stimmen pro Auswahlmöglichkeit als Werte.
Wie stelle ich das an?
Hallo,
mit einer normalisierten Tabelle "tbl_Umfrage" wäre das kein Problem. Die Tabelle sollte so aussehen.
PersonID ThemaID Note
1 1 2
1 2 3
1 3 1
2 1 6
2 2 4
2 3 5
Mit einer Kreuztabellenabfrage kannst Du dann die gewünschte Darestellung erreichen.
Kannst Du die Tabelle noch umbauen ?
mhh... weiß nicht... Kann man das automatisch umbauen lassen?
Hallo,
ZitatKann man das automatisch umbauen lassen?
im Prinzip ja, wie viele Themen gibt es denn maximal ?
Es sind so ca 30...
Hallo,
mit dann 30 Anfügeabfragen kannst Du die Daten in die normalisierte Tabelle überführen.
Nach meiner Auffassung wirst Du um die Umstrukturierung nicht herumkommen.
so, habe die Tabelle umgestellt. Wie komme ich nun zu der o.g. Anzeige?
Hallo,
ausgehend von meiner obigen Tabellenstruktur liefert diese Abfrage:
TRANSFORM Count(umfrageid) AS anzahlvonumfrageid
SELECT themaid_f,
SUM(note) AS Gesamt,
Avg(note) AS Durchschnitt
FROM tbl_umfrage
GROUP BY themaid_f
PIVOT note
das im Bild dargestellte Ergebnis, was exakt Deinen Wünschen entspricht.
1000 Dank :) Das hat mir sehr viel Arbeit erspart :)