Laten zien van een subtotaal

Status
Niet open voor verdere reacties.

RonaldRoenhorst

Gebruiker
Lid geworden
25 dec 2008
Berichten
188
Is het mogelijk om telkens een Subtotaal te verkrijgen met een query in de kolom SUB zoals in het voorbeeld (gemaakt met excel)

Code:
Week	Test	SUB
201120	€ -0.06	€ -0.06
201121	€ -0.03	€ -0.09
201122	€ 0.00	€ -0.09
201123	€ 0.05	€ -0.04
201124	€ 0.01	€ -0.03
201125	€ 0.00	€ -0.03
201126	€ 0.00	€ -0.03
201127	€ 0.00	€ -0.03
201128	€ 0.01	€ -0.02
201129	€ 0.00	€ -0.02
201130	€ -0.03	€ -0.05
201131	€ -0.04	€ -0.09
201132	€ 0.00	€ -0.09
201133	€ 0.00	€ -0.09
201134	€ 0.03	€ -0.06
 
Je kunt een lopend totaal maken, want dat is het eigenlijk als ik je voorbeeldje zo zie. Als ik je tabel in Access importeer (via Excel) dan krijg je deze query:
Code:
SELECT Week, Test, DSum("[Test]","Blad1","[Week] <='" & [Week] & "'") AS Subtotaal
FROM Blad1
GROUP BY Week, Test;
 
Nu heb ik deze tabel al in access staan en snap even niet precies hoe je het bedoeld, ik wil een extra kolom met de som van de huidige week incl. alle voorgaande weken in de kolom uitkomst

Code:
Jaar	Week	Test         Uitkomst
2011	20	€ -0.06
2011	21	€ -0.03  
2011	22	€ 0.00   
2011	23	€ 0.05
 
Het wordt allemaal zoveel makkelijker als we gelijk een goed voorbeeld krijgen; dan hoeven we geen dubbel werk uit te voeren, en jij bent sneller geholpen :) .
Als ik deze tabel gebruik:
Code:
Jaar	Weeknr	JaarWeek	Test	Subtotaal1	Subtotaal2
2011	20	201120	€ 3,53	3,53	3,53
2011	21	201121	€ 9,72	13,25	13,25
2011	22	201122	€ 16,44	29,69	29,69
2011	23	201123	€ 15,14-	14,55	14,55
2011	24	201124	€ 18,85	33,4	33,4
2011	25	201125	€ 15,38	48,78	48,78
2011	26	201126	€ 9,52-	39,26	39,26
2012	1	201127	€ 20,13	59,39	20,13
2012	2	201128	€ 8,16	67,55	28,29
2012	3	201129	€ 15,70	83,25	43,99
2012	4	201130	€ 13,47	96,72	57,46
2012	5	201131	€ 6,65	103,37	64,11
2012	6	201132	€ 5,53-	97,84	58,58
2012	7	201133	€ 20,62	118,46	79,2
2012	8	201134	€ 9,35	127,81	88,55

Dan is dit de query om Subtotaal1 (0p basis van veld [JaarWeek]) en Subtotaal2 Op basis van de velden [Jaar] en [Week]) te berekenen:

Code:
SELECT Jaar, Weeknr, JaarWeek, Test, DSum("[Test]","Blad1","[JaarWeek] <='" & [JaarWeek] & "'") AS Subtotaal1, DSum("[Test]","Blad1","[Jaar]= " & [Jaar] & " AND [Weeknr] <=" & [Weeknr]) AS Subtotaal2
FROM Blad1
GROUP BY Jaar, Weeknr, JaarWeek, Test, DSum("[Test]","Blad1","[Jaar]= " & [Jaar] & " AND [Weeknr] <=" & [Weeknr])
ORDER BY Jaar, Weeknr;
 
Laatst bewerkt:
Snap niet wat ik nog niet goed doe, krijg nu in iedere regel #fout te staan.
krijg het ook niet voor elkaar om een voorbeeld te posten tot zover..:evil:
 
Laatst bewerkt:
Wellicht dat je kan zien wat je fout doet a.d.h.v. mijn voorbeeldje.
 

Bijlagen

Nu heb ik het voor elkaar gekregen en een grote :thumb: octafish, klein probleem blijft nu nog staan dat access ze niet ziet als getallen maar als tekst...
 
Een queryveld op basis van een Statistische Domeinfunctie levert altijd tekst op, ook al werk je met getallen. Je zult de Veldeigenschap dus zelf in moeten stellen. Zoals in mijn voorbeeldje. Of opnemen in de formule:
Code:
Subtotaal2: Format(DSum("[Test]";"Blad1";"[Jaar]= " & [Jaar] & " AND [Weeknr] <=" & [Weeknr]);"Valuta")
 
Het veld is niet aan te passen en wanneer ik de code gebruik krijg ik een EURO teken, het moet een getal worden die bruikbaar is in een draaigrafiek..
Niet te vergeten :thumb::thumb::thumb::thumb: voor de super snelle hulp...
 
Ik heb me alleen gehouden aan je voorbeeld, waarin je in de kolom SUB toch duidelijk een Euro gebruikt... Het staat je uiteraard vrij om elke willekeurige conversie te doen. Kwestie van de FORMAT code aanpassen, of vervangen door Cdbl o.i.d.
 
Dat klopt maar waar ik nu tegenaan loop is dat wanneer ik een draaigrafiek maak alleen maar aantal krijg dus iedere regel staat op 1
 
Gebruik je dan wel de juiste functie? Zo te horen gebruik je de (standaard voorgedragen vermoed ik) functie Aantal en niet Som. Een draaigrafiek heeft overigens niks met de oorspronkelijke vraag te maken, waarin een Lopend Totaal berekening wordt gevraagd. En die werkt....
 
De standaard optie aantal is de enigste mogelijkheid, de functie som is niet te selecteren.
En het klopt dat deze vraag niet in de eerste opgesloten wat aangezien ik het niet verwacht had..:(
 
Som werkt alleen op basis van getallen. Zolang een veld een Tekstwaarde bevat (en Format en DSUM doen dat) heb je dus alleen de functie <Aantal>. Probeer deze variant eens:
Code:
Subtotaal2: Val(DSum("[Test]";"Blad1";"[Jaar]= " & [Jaar] & " AND [Weeknr] <=" & [Weeknr]))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan