Avatar billede dennisa Nybegynder
28. marts 2008 - 12:32 Der er 8 kommentarer og
1 løsning

Beregn andel af total

Hvorledes beregnes andele af en total i en forespørgsel.

Hvis jeg har følgende

Ugenr Data  Andel
01    100  25%
02    100  25%
03    100  25%
04    100  25%
---------------
Total 400  100%
Avatar billede kalp Novice
28. marts 2008 - 12:39 #1
select sum(Cint(Replace(Andel, "%", ""))) from dintabel
Avatar billede kalp Novice
28. marts 2008 - 12:40 #2
hvis altså Andel er en string datatype med procent tegn i..
du siger jo ikke så meget om datatype..
hvis det er tal af en art så kan du bruge sum direkte.
Avatar billede dennisa Nybegynder
28. marts 2008 - 12:54 #3
Ikke forstået. Det er andelen jeg vil beregne. I eksemplet er det bare vist som resultat jeg vil opnå
Avatar billede jensen363 Forsker
28. marts 2008 - 13:20 #4
Jeg ved ikke om der er andre metoder, men jeg ville oprette en ekstra forespørgsel, hvor du summerer på totalen, og så joiner de to forespørgsler i en tredie hvor du kan beregne andelen
Avatar billede petersen7913 Forsker
28. marts 2008 - 13:58 #5
Hm .... prøv lige at se på dine tal og procenter .....

100 + 100 + 100 + 100 = 400 OK
25% + 25% + 25% + 25% = 100% ...... nej ikke på min lommeregner

Har du altid data=100 og tager du altid 25%? Jeg synes det er lidt uklart hvad du egentlig vil.
Avatar billede dennisa Nybegynder
28. marts 2008 - 14:09 #6
petersen7913

Det er bare et eksempel, men totalen udgør altid 100 %. Jeg prøver Jensen´s udgave i første omgang
Avatar billede terry Ekspert
29. marts 2008 - 10:59 #7
can we see the sql to the query you use currently? Looking at your example you are selecting individual records and if that is the case I would mak a sub select which selects the sum and once you have this you can calculated the %

Example:
SELECT tbl1.UgeNr, tbl1.Data, (SELECT Sum(Data) FROM tbl1) AS Total, [Data]/([Total]/100) AS Pct
FROM tbl1;

Or you can do it all in one calculate field

SELECT tbl1.UgeNr, tbl1.Data, [Data]/ ((SELECT Sum(Data) FROM tbl1)/100)
FROM tbl1;
Avatar billede dennisa Nybegynder
01. april 2008 - 17:00 #8
Terry :

SELECT tbl1.UgeNr, tbl1.Data, [Data]/ ((SELECT Sum(Data) FROM tbl1)/100)
FROM tbl1

did the job

Thanks
Avatar billede terry Ekspert
01. april 2008 - 17:39 #9
great, thanks
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