Just nu i M3-nätverket
Jump to content

Korstabulering??


Anders (interakt.nu)

Recommended Posts

Anders (interakt.nu)

Är det någon som har tips på hur man gör om man vill korstabulera data från en tabell. Jag har en tabell som lagrar vilken person som har svarat på en fråga, vilken fråga han har svarat på och vad han har svarat (skala 1-5). Hur gör man om man vill korstabulera 2 av frågorna som det finns svar lagrade på??

Link to comment
Share on other sites

Anders (interakt.nu)

Jag ska genast förtydliga mig. Jag har 2 tabeller, en för att hålla svarsalternativ för en viss fråga och en för att lagra svar från respondenter. Jag vill kunna göra en "vanlig" korstabulering mellan 2 frågor där jag vill veta hur många som har svarat att dom är mellan 20-25 samtidigt har svarat 'bra', hur många som är mellan 26-30 som har svarat bra osv, alla tänkbara kombinationer av de 2 frågorna.

 

 

Tabell: kors_svar

id Fraga svar respondent

--- ------ ---- ----------

1 fraga1 2 1

2 fraga1 4 2

3 fraga1 5 3

4 fraga1 4 4

5 fraga1 3 5

6 fraga1 4 6

7 fraga1 3 7

8 fraga1 1 8

9 fraga1 4 9

19 fraga2 2 1

20 fraga2 2 2

21 fraga2 3 3

22 fraga2 4 4

23 fraga2 3 5

24 fraga2 4 6

25 fraga2 3 7

26 fraga2 1 8

27 fraga2 4 9

 

 

Tabell: kors_fragor

fraga svar svars_text

------ ---- ----------

fraga1 1 Mycket bra

fraga1 2 Bra

fraga1 3 Dåligt

fraga1 4 Mycket Dåligt

fraga1 5 Vet ej

fraga2 1 20-25

fraga2 2 26-30

fraga2 3 31-40

fraga2 4 41-99

 

 

Jag skulle vilja ha ut datan på en asp sida så att den visar något i stil med:

 

20-25 26-30 31-40

----- ----- -----

mycket bra 1 3 2

bra 4 2 4

dåligt 2 2 1

mycket dåligt 0 0 2

vet ej 0 1 1

 

 

Jag kör sql2000 och sp. Tacksam för tips!!

 

(hmm tabbar funkar sådär verkar det som, hoppas ni förstår vad jag menar...)

[inlägget ändrat 2002-01-15 08:26:06 av Andersb]

[inlägget ändrat 2002-01-15 08:27:11 av Andersb]

Link to comment
Share on other sites

View1

-----

SELECT s1.fraga AS f1, s2.fraga AS f2, s1.svar AS svar1, s2.svar AS svar2, COUNT(*) AS antal

FROM kors_svar s1, kors_svar s2

WHERE s1.fraga <> s2.fraga

GROUP BY s1.fraga, s2.fraga, s1.svar, s2.svar

 

View2

-----

SELECT f1.svars_text AS text1, f2.svars_text AS text2, antal

FROM kors_fragor f1, kors_fragor f2, View1 s

WHERE f1.fraga = s.f1

AND f1.svar = s.svar1

AND f2.fraga = s.f2

AND f2.svar = s.svar2

AND f1.fraga <> f2.fraga

 

Eftersom jag inte har din databas och inte orkar bygga upp en likadan så har jag inte provat min kod, men View2 borde nu enligt ditt exempel innehålla

 

text1 text2 antal

----- ----- -----

mycket bra 20-25 1

mycket bra 26-30 3

mycket bra 31-40 2

bra 20-25 4

bra 26-30 2

bra 31-40 4

dåligt 20-25 2

dåligt 26-30 2

dåligt 31-40 1

mycket dåligt 20-25 0

mycket dåligt 26-30 0

mycket dåligt 31-40 2

vet ej 20-25 0

vet ej 26-30 1

vet ej 31-40 1

 

Denna information borde gå att presentera på en ASP-sida. Lycka till :)

 

Link to comment
Share on other sites

Anders (interakt.nu)

Det verkar funka klockrent sånär som på en rad som jag var tvungen att lägga till i view1: s1.respondent = s2.respondent

 

Annars fungerar det strålande, mycket imponerande!

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...