weken groeperen in query

Status
Niet open voor verdere reacties.

jwaque

Verenigingslid
Lid geworden
16 aug 2006
Berichten
443
Ik wil graag de som van de prijs in een periode van 4 weken weten. Nu kan ik dat in een rapport maar ik wil het graag in een query zodat ik het resultaat kan vergelijken.
Ik kan met datepart het weeknr bepalen. heb ondertussen ook het probleem van week nr 53 gezien maar dat lijkt oplosbaar. Maar hoe groepeer ik nu op 4 weken (maand zou simpeler zijn datepart op maand ipv week)

dus ik heb
weeknr prijs
1 20
2 35
3 30
4 34
5 35

en ik wil graag
week somprijs
1 119
5 35

alvast bedankt.
 
Eerst maar even het juiste weeknummer: dat kun je genereren met deze functie:

PHP:
Public Function IsoWeekNummer(d1 As Date) As Integer
Dim d2 As Long
   
   d2 = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
   IsoWeekNummer = Int((d1 - d2 + Weekday(d2) + 5) / 7)

End Function

Om op groepen van 4 weken te groeperen, kun je de groepen nummeren. Vervolgens groepeer je dan op de nieuwe nummers. Hoes genereer je de juiste nummers? Bijvoorbeeld zo:

IIF(Int([Weeknummer]/4)=[Weeknummer]/4;[Weeknummer]/4;Int([Weeknummer]/4)+1)
 
deze formules nu gebruikt.
nog niet helemaal doorgerekent maar ik geloof dat het werkt.
Weeknr: DatePart("ww",[Datum],1,3)
Periode: Int(([Weeknr]-1)/4)+1

grappig detail. week nr 52 levert groep 13 op. Maar week 52 is eigenlijk 2009 en week 1 in 2010 dus zou periode 13 voor periode 1 moeten liggen. opgelost door de begin datum van de periode erbij te zetten en daarop te sorteren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan