Avatar billede renny Nybegynder
30. november 2011 - 22:52 Der er 4 kommentarer og
1 løsning

Sortere data og totaler

Jeg har oprettet en database hvor jeg indtaster timer på medarbejdere, alle arbejdsfunktioner har et nummer eks.

101 til 120

201 til 220

osv.

nu vil jeg gerne lave totaler så jeg får 101 til 120 som total
og 201 til 220 som total osv. så jeg efterfølgendne kan lave et pivotdiagram som viser disse totaler.

jeg er kørt fast i denne sortering, er der en der kan hjælpe mig vidre
Avatar billede Slettet bruger
30. november 2011 - 23:41 #1
prøv med:
select medarbejder,arbejdsfunktion,sum(timer) from <tabel> group by arbejdsfunktion,medarbejder

Måske skal skal rækkefølgen af arbejdsfunktion og medarbejder ombyttes.

Hvis felttypen for timer er dato og klokkeslet skal det ganges med 24 - bliver så timer som kommatal
Avatar billede renny Nybegynder
01. december 2011 - 08:26 #2
det giver ikke mig så meget mening.

Jeg skal i første omgang bare have sum af timer for hver kategori, altså 101 til 120 og 201 til 220 osv
Avatar billede Slettet bruger
01. december 2011 - 16:21 #3
Her er et eksempel paa en loesning:

DinTabel:
ArbejdsfunktionsNr
Timer

DinForespoergsel:
SELECT IIf([arbejdsfunktionsnr] Between 101 And 120,"Nr 101-120") AS FunktionsNavn, IIf([arbejdsfunktionsnr] Between 101 And 120,[timer]) AS FunktionsTimer
FROM DinTabel
WHERE ((Not (IIf([arbejdsfunktionsnr] Between 101 And 120,[timer])) Is Null))
UNION SELECT IIf([arbejdsfunktionsnr] Between 201 And 220,"Nr 201-220") AS FunktionsNavn, IIf([arbejdsfunktionsnr] Between 201 And 220,[timer]) AS FunktionsTimer
FROM DinTabel
WHERE ((Not (IIf([arbejdsfunktionsnr] Between 201 And 220,[timer])) Is Null));

Saa opretter du en pivotgraf paa denne forespoergsel, smider FunktionsNavn ind paa x-aksen og FunktionsTimer som data!~)

Hvis du vil aendre i forespoergslen, saa tag en enkelt SELECT saetning og flyt den ind i en ny forespoergsel, ret den til og flyt den tilbage igen. Alle SELECT saetningerne skal have samme output struktur og de bindes sammen med UNION...
Avatar billede Slettet bruger
01. december 2011 - 16:26 #4
...du kan ogsaa rode med krydstab forespoergsler, men de er lidt drilske... og du vil vaere noed til at have funktionsnavnene i en legend boks.

...men det kunne vaere noget i retningen af:

TRANSFORM Sum(DinTabel.Timer) AS SumOfTimer
SELECT "Arbejdsfunktion" AS Titel
FROM DinTabel
GROUP BY "Arbejdsfunktion"
PIVOT IIf([arbejdsfunktionsnr] Between 101 And 120,"Nr 101-120","Nr 201-220") In ("Nr 101-120","Nr 201-220");
Avatar billede renny Nybegynder
19. februar 2012 - 11:19 #5
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester